Try   HackMD

사용자 시나리오 기반 안드로이드 애플리케이션 축소 도구 테스트 케이스 수집 가이드라인

Written By Jay Lee
2020-11-11

ACVTool

  • https://github.com/pilgun/acvtool
  • 안드로이드 스튜디오나 안드로이드 SDK이 환경에 사전 설치되어 있어야 함
  • Fork 한 후 설치
  • 설치는 ACVTool의 README를 따를 것

APKTool

안드로이드 애플리케이션 수집

  • (필수) 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 주세요 :)