# 사용자 시나리오 기반 안드로이드 애플리케이션 축소 도구 테스트 케이스 수집 가이드라인 <div style="float:right;text-align:right;width:100%;"> Written By Jay Lee<br> 2020-11-11 </div> ## ACVTool - https://github.com/pilgun/acvtool - 안드로이드 스튜디오나 안드로이드 SDK이 환경에 사전 설치되어 있어야 함 - Fork 한 후 설치 - 설치는 ACVTool의 README를 따를 것 ## APKTool - https://ibotpeaches.github.io/Apktool/install/ - 설치 방법은 상기 페이지를 따를 것 ## 안드로이드 애플리케이션 수집 - (필수) 10MB 이상의 APK / (권장) 15MB 이상의 APK - Flutter나 React를 쓰는 애플리케이션 - 순수 Java 애플리케이션 - 라이브러리를 적게 쓰고 용량이 큰 애플리케이션일 수록 좋음 - Kotlin을 사용하는 경우는 안됨. (APKTool로 풀어보면 Kotlin 폴더 생성됨) - Play Store에 스크린샷이 존재하는 애플리케이션 (권장) ## 테스트 데이터 생성 - **실행하는 과정에서 sudo 권한이 필요할 수 있음** - a.apk에 대한 테스트 데이터를 수집한다고 가정 - `acv instrument a.apk` 을 하면 ~/acvtool/acvtool_working_dir/instr_a.apk가 생성됨 - **안드로이드 에뮬레이터의 API 레벨은 28 이하여야만 함** - 기왕이면 Nexus One API Level 28로 맞춰주세요.. - 안드로이드 에뮬레이터를 킨 상태에서 `acv install instr_a.apk`를 하여 instrumentation된 a.apk를 설치 - `acv start com.a.a` (이때 com.a.a는 a.apk의 패키지명)을 하면 안드로이드 에뮬레이터에서 com.a.a 앱에 대해 가한 조작에 대한 코드 커버리지를 기록함 - 스크린샷이랑 최대한 비슷한 화면들을 모두 포함하는 행위를 한 후 ^C를 하여 ACVTool의 기록 종료 - `acv report com.a.a -p ~/acvtool/acvtool_working_dir/metadata/com.a.a.pickle`을 하여 리포트 정보 생성 ## 테스트 데이터 전달 - `~/acvtool/acvtool_working_dir/metadata/com.a.a.pickle` : 메타데이터 폴더 내에 있는 피클 파일 - `~/acvtool/acvtool_working_dir/report/com.a.a/ec_files/` : 리포트에 저장된 안드로이드 ec 데이터 - `com.a.a` : 애플리케이션 패키지명 - `https://..../com.a.a` : 플레이스토어 링크와 apk를 다운받은 곳의 링크 - **상기 항목들을 정리하여 전달해 주시면 됩니다.** ## 기타 사항 - 질문이나 에러 있으시면 언제든지 Slack DM 주세요 :)