Trade Federation은 Android 기기에서 테스트를 실행하기 위한 연속 테스트 프레임워크입니다. 호환성 테스트 모음(CTS)을 실행하려면 Trade Federation 개요에서 Tradefed 테스트 프레임워크 설명을 먼저 읽어보세요.
테스트 계획을 실행하는 방법은 다음과 같습니다.
- Android 기기 설정에 따라 테스트 대상 기기(DUT)를 설정합니다.
- Android 디버그 브리지(adb) 및 Android Asset Packaging Tool(AAPT)의 최신 버전을 설치하고 이러한 도구의 위치를 컴퓨터의 시스템 경로에 추가했는지 확인합니다. 이러한 도구 설치에 관한 자세한 내용은 CTS 설정: adb 및 AAPT를 참고하세요.
- 출시된 CTS 빌드를 Linux 호스트 머신에 다운로드하고 호스트 위치에 빌드 압축을 풉니다.
- 기기를 하나 이상 연결합니다. DUT를 준비하려면 다음과 같이 하세요.
- 홈 버튼을 눌러 기기를 홈 화면에 설정합니다.
- 다른 작업에서는 DUT를 사용하면 안 됩니다.
- 센서 활동이 트리거되는 것을 방지하기 위해 DUT를 고정된 위치에 둡니다.
- 초점을 맞출 수 있는 대상에 기기 카메라를 향하게 합니다.
- CTS가 실행 중일 때는 기기의 키를 누르면 안 됩니다. DUT의 키를 누르거나 화면을 터치하면 실행 중인 테스트에 지장을 주고 결국 테스트가 실패할 수 있습니다.
CTS 패키지 압축을 푼 폴더에서 CTS 콘솔 cts-tradefed 스크립트를 실행합니다. 호스트의 명령줄 셸에서 다음을 실행합니다.
./android-cts/tools/cts-tradefed
모든 테스트 패키지가 포함된 기본 테스트 계획을 실행합니다.
cts-tradefed > run cts
테스트 실행 시간을 개선하기 위해 여러 기기에서 테스트를 샤딩할 수 있습니다. 샤딩하려면 호스트에 2개 이상의 기기를 연결해야 하지만, 효율성을 위해 6개 이상의 기기를 연결하는 것이 좋습니다. 2개 이상의 기기를 샤딩하는 경우 다음을 진행합니다.
Android 9 이상에서는 다음 명령어 옵션을 사용합니다.
--shard-count number_of_shards
Android 8.1 이하에서는 다음 명령어 옵션을 사용합니다.
--shards number_of_shards
테스트 모음을 모두 실행하지는 않으려면 다음 명령줄에서 원하는 CTS 계획만 실행하면 됩니다.
run cts --plan test_plan_name
테스트 계획 이름을 찾는 방법은 다음과 같습니다.
Android 7.0 이상에서 테스트 모듈 목록을 보려면 다음을 입력합니다.
list modules
Android 6.0 이하에서 저장소의 테스트 계획 목록을 보려면 다음을 입력합니다.
list plans
Android 6.0 이하에서 저장소의 테스트 패키지 목록을 보려면 다음을 입력합니다.
list packages
CTS 버전에 따른 추가 명령어 옵션에 관한 자세한 내용은 콘솔 명령어 참조 또는 Tradefed 콘솔에서 'help all' 아래 있는 설명을 확인하세요.
모든 테스트 모듈이 완료되고 마지막 두 건의 재시도 세션에서 테스트 실패 횟수가 동일할 때까지 재시도 세션을 여러 번 실행합니다.
Android 9 및 이후 버전에서는 다음을 사용합니다.
run retry --retry session_number --shard-count number_of_shards
Android 7.0~8.1에서는 다음을 사용합니다.
run cts --retry session_number --shards number_of_shards
CTS 버전에 따른 추가 재시도 명령어 옵션은 CTS v2 명령어 콘솔을 참고하세요.
CTS 재시도 관련 구현 세부정보를 알아보려면 Trade Federation 모음 재시도를 참고하세요.
매개변수화된 테스트가 실패한 경우에만 재시도 세션을 실행하세요. 통과된 매개변수화된 테스트는 재시도되지 않습니다
Android 11 이상에서는
run cts
명령어에서 다음 재시도 명령 옵션이 기본적으로 활성화됩니다.run retry --retry
--new-parameterized-handling
콘솔에 보고된 테스트 진행 상황과 결과를 봅니다.
Android 테스트 스테이션을 사용하여 CTS 실행
Android 테스트 스테이션은 Android 개발자와 테스트 엔지니어가 표준 테스트 모음을 실행하는 사용자 인터페이스를 채택하는 데 사용할 수 있는 테스트 자동화 도구입니다. Android 호환성 테스트 모음(CTS)과 호환됩니다.
이 도구는 ATS 사용자 가이드를 통해 공개적으로 제공되며 코드는 AOSP에서 오픈소스로 제공됩니다(multitest_transport
, tradefed_cluster
).
대체 모드에 CTS 실행
CTS 10 R4 출시는 대체 모드가 있는 기기 또는 화면이 2개 이상인 기기의 테스트 계획을 추가합니다. run cts-foldable
을 사용하여 대체 모드 테스트 계획을 실행합니다.
대체 화면 모드의 통과하거나 실패한 테스트 사례는 display_mode
의 값과 함께 추가됩니다. 예를 들면 testcase1[display_mode=0]
과 같습니다.
CTS 13에서는 DeviceStateManager API를 사용하여 폴더블 기기의 다양한 기기 상태에서 다음 구성 옵션을 사용하는 테스트 모듈을 실행할 수 있습니다.
테스트 실행은 cts-foldable
테스트 계획을 실행할 필요 없이 기기에 정의된 디스플레이 접힘 상태를 기반으로 CTS에서 자동 실행됩니다.
<option name="config-descriptor:metadata" key="parameter" value="all_foldable_states" />
CTS의 다중 기기 테스트
Android 13 이상에서는 다중 기기 테스트를 지원합니다.
CTS 실행 중에 여러 기기가 자동으로 실행되어야 하는 테스트입니다.
CTS 13에는 샤딩을 사용할 때 자동으로 트리거되는 다중 기기 테스트가 일부 포함되어 있습니다. 테스트에서는 실제 기기의 설정을 추가로 변경할 필요가 없지만, 테스트를 올바르게 실행하려면 virtualenv
를 설치해야 합니다. 자세한 내용은 다중 기기 모음을 참고하세요.
다중 기기 테스트 실행
다중 기기 테스트를 독립적으로 실행하려면 다음 코드를 사용합니다.
cts-tradefed > run cts-multidevice
모든 일반 옵션이 지원됩니다. 특정 기기를 타겟팅하려면 타겟팅된 기기 번호에 --serial <serial1> --serial <serial2>
등을 추가합니다.
다중 기기 테스트를 자동으로 트리거하려면 --shard-count 2
와 같이 샤딩을 사용합니다.