CTS 인증 도구 사용

Android 호환성 테스트 모음 인증 도구(CTS 인증 도구)는 호환성 테스트 모음(CTS)을 보완합니다. CTS가 자동화 가능한 API 및 기능을 점검하는 반면 CTS 인증 도구는 수동 입력이나 위치 지정 없이 고정된 기기에서 테스트할 수 없는 API 및 기능 테스트를 제공합니다(예: 오디오 품질, 터치 스크린, 가속도계 및 카메라).

요구사항

CTS 인증 도구를 실행하기 전에 다음과 같은 장비가 있는지 확인하세요.

  • CTS를 성공적으로 통과하여 Android API 호환성이 인증된 Android 기기. 이 기기가 테스트 대상 기기(DUT)입니다.
  • USB 2.0 호환 포트가 있는 Linux 컴퓨터. 모든 DUT 연결은 이 포트를 통해 이루어집니다.
  • 알려진 호환 가능한 블루투스, Wi-Fi Direct, Wi-Fi Aware, UWB(DUT에서 UWB를 지원하는 경우), NFC 호스트 카드 에뮬레이션(HCE) 구현이 이루어진 두 번째 Android 기기
  • 액세스 포인트 네임(APN)과 비밀번호가 설정된 Wi-Fi 라우터. 라우터는 인터넷 연결을 해제할 수 있지만 전원을 끌 수는 없습니다.

UWB, Wi-Fi NAN, 블루투스 RSSI의 거리(근접성) 측정 테스트에 필요한 삼각대, 기기 홀더, 사전 측정된 거리도 준비해야 합니다. 자세한 내용은 접속 보정을 참고하세요.

NFC 테스트용 UICC 요구사항

CTS 인증 도구에는 다음과 같은 NFC 테스트 사례가 있습니다.

  • Field-off(0x54의 트랜잭션 데이터 사용)
  • De-select(0x52의 트랜잭션 데이터 사용)
  • HCI 명령어(0025000000)(0x02의 트랜잭션 데이터 사용)

트랜잭션 이벤트 테스트에는 두 가지 기기가 필요하며 그중 하나에는 다음 액세스 규칙이 있는 SecureElement UICC가 있어야 합니다.

  • CtsVerifier APK 해시: 61:ED:37:7E:85:D3:86:A8:DF:EE:6B:86:4B:D8:5B:0B:FA:A5:AF:81
  • NFC 이벤트 액세스를 위한 승인된 애플리케이션 식별자(AID): 0xA000000476416E64726F696443545341

에뮬레이터 측에서는 트랜잭션 이벤트가 상응하는 활동을 포그라운드로 푸시해야 합니다.

설정

다음과 같이 테스트 기기의 시스템 탐색 모드를 3버튼 모드로 변경합니다.

  1. 설정을 엽니다.
  2. 시스템 > 동작 > 시스템 탐색으로 이동합니다.
  3. 버튼 기반 탐색 모드를 선택합니다(사용 가능한 경우 3버튼 모드 권장).

CTS 인증 도구 테스트 환경을 설정하려면 다음 단계를 따르세요.

  1. Linux 컴퓨터:

    • CTS 인증 도구를 설치하기 전에 다음 명령어를 실행하여 비 SDK 인터페이스 액세스를 허용합니다.

      adb shell settings put global hidden_api_policy 1
      
    • Android 스튜디오를 설치합니다.

    • 테스트할 Android 버전의 CTS 인증 도구 APK를 다운로드합니다.

  2. DUT를 Linux 컴퓨터에 연결합니다.

  3. Linux 컴퓨터의 터미널에서 DUT에 CtsVerifier.apk 설치를 완료합니다.

    adb install -r -g CtsVerifier.apk
    
  4. Android 10 이상의 경우 다음 명령어를 실행하여 앱에 보고서를 생성할 권한을 부여합니다.

    adb shell appops set com.android.cts.verifier android:read_device_identifiers allow
    
  5. Android 11 이상에서는 다음 명령어를 실행하여 기기의 외부 최상위 디렉터리에 있는 자체 정의 디렉터리에 보고서를 저장할 수 있습니다.

    adb shell appops set com.android.cts.verifier MANAGE_EXTERNAL_STORAGE 0
    
  6. Android 13 이상의 경우 다음 명령어를 실행하여 CTS 인증 도구의 테스트 API 액세스를 허용합니다.

    adb shell am compat enable ALLOW_TEST_API_ACCESS com.android.cts.verifier
    
  7. Android 14 이상의 경우 다음 명령어를 실행하여 앱에 화면을 켜는 권한을 부여합니다.

    adb shell appops set com.android.cts.verifier TURN_SCREEN_ON 0
    
  8. DUT에 시스템 날짜와 시간이 올바르게 설정되어야 합니다.

CTS 인증 도구 실행

DUT에서 CTS 인증 도구 아이콘을 탭하여 CTS 인증 도구 애플리케이션을 실행합니다.

런처의 CTS 인증 도구 아이콘

그림 1. CTS 인증 도구 아이콘

수동 인증에 사용할 수 있는 여러 테스트 세트가 앱에 표시됩니다.

CTS 인증 도구 테스트 메뉴

그림 2. CTS 인증 도구 테스트 메뉴

각 테스트에는 화면 하단에 일련의 공통 요소가 포함되어 있습니다.

스트리밍 동영상 품질 인증 도구

그림 3. 일반 테스트 요소가 강조표시된 테스트 화면

  • 성공(✓). DUT가 정보 안내에 따라 테스트 요구사항을 충족하는 경우 탭합니다.
  • 정보(?). 탭하면 테스트 안내가 표시됩니다. 또한 테스트가 처음 열릴 때 자동으로 표시됩니다.
  • 실패(!). DUT가 정보 안내에 따라 테스트 요구사항을 충족하지 않는 경우 탭합니다.

USB 액세서리 모드 및 카메라 보정 테스트와 같은 일부 테스트에서는 다음 섹션에서 자세히 설명하는 추가 테스트 설정 및 안내가 필요합니다.

8.0 이상용 USB 액세서리 모드 테스트

CTS 인증 도구 USB 액세서리 테스트

그림 4. 8.0 이상용 USB 액세서리 테스트 절차

CTS 인증 도구 USB 액세서리 테스트

그림 5. 8.0 이상용 USB 액세서리 모드 테스트

7.x 이하용 USB 액세서리 모드 테스트

USB 액세서리 테스트를 실시하려면 Linux 컴퓨터에서 USB 데스크톱 컴퓨터(호스트) 프로그램을 실행해야 합니다.

  1. DUT를 Linux 컴퓨터에 연결합니다.
  2. 컴퓨터에서 CTS 인증 도구 패키지에 있는 cts-usb-accessory 프로그램을 실행합니다.

    ./cts-usb-accessory
  3. DUT에서 팝업 메시지가 나타날 때까지 기다린 다음 확인을 선택합니다.
    CTS 인증 도구 USB 액세서리 테스트

    그림 6. USB 액세서리 테스트

  4. DUT의 CTS 인증 도구 애플리케이션에서 USB 액세서리 테스트로 이동합니다.

  5. 컴퓨터에서 콘솔의 출력을 검토합니다. 출력 예:

    CTS USB Accessory Tester
    Found possible Android device (413c:2106) - attempting to switch to accessory
    mode...
    Failed to read protocol versionfigure3
    Found Android device in accessory mode (18d1:2d01)...
    [RECV] Message from Android device #0
    [SENT] Message from Android accessory #0
    [RECV] Message from Android device #1
    [SENT] Message from Android accessory #1
    [RECV] Message from Android device #2
    [SENT] Message from Android accessory #2
    [RECV] Message from Android device #3
    [SENT] Message from Android accessory #3
    [RECV] Message from Android device #4
    [SENT] Message from Android accessory #4
    [RECV] Message from Android device #5
    [SENT] Message from Android accessory #5
    [RECV] Message from Android device #6
    [SENT] Message from Android accessory #6
    [RECV] Message from Android device #7
    [SENT] Message from Android accessory #7
    [RECV] Message from Android device #8
    [SENT] Message from Android accessory #8
    [RECV] Message from Android device #9
    [SENT] Message from Android accessory #9
    [RECV] Message from Android device #10
    [SENT] Message from Android accessory #10
    

카메라 시야 보정

시야 보정 절차를 사용하여 적당한 정확도로 기기 시야를 빠르게 결정합니다.

  1. 테스트 환경 설정:

    1. calibration-pattern.pdf 대상 파일을 11인치 x 17인치 또는 A3 크기로 인쇄합니다.
    2. 인쇄된 패턴을 견고한 뒷면에 놓습니다.
    3. 다음 다이어그램과 같이 카메라 기기와 인쇄된 대상의 방향을 설정합니다.
      카메라 인쇄 대상

      그림 7. 카메라 인쇄 대상

  2. 대상 너비 설정:

    1. 대상 패턴의 실선 사이 거리(센티미터 단위)를 측정하여 인쇄 부정확성(~38cm)을 확인합니다.
    2. 보정 애플리케이션을 시작합니다.
    3. 설정 버튼을 누르고 마커 거리를 선택합니다.
    4. 대상 패턴까지의 거리를 측정하고 입력합니다(~100cm).
    5. 뒤로 버튼을 눌러 보정 미리보기로 돌아갑니다.
  3. 기기와 대상이 그림과 같은 위치인지 확인하고 설정 대화상자에 올바른 거리가 입력되었는지 확인합니다. 미리보기에 수직선이 겹쳐진 이미지가 표시되며, 이 수직선은 대상 패턴의 중심선과 정렬되어야 합니다. 투명 그리드를 다른 수직선에 사용하여 광학 축이 대상과 수직인지 확인할 수 있습니다.

  4. 보정 테스트 실행:

    1. 이미지 해상도를 선택(왼쪽 하단의 선택기 사용)한 다음 화면을 탭하여 사진을 찍습니다. 테스트가 보정 모드로 전환되어 이미지에 수직선 2개가 겹쳐진 사진이 표시됩니다.
    2. 정확도 결정:
      • 선이 대상 패턴의 수직선과 몇 센티미터 이내로 정렬되는 경우 선택한 해상도에서 보고된 시야가 정확한 것입니다.
      • 선이 정렬되지 않으면 보고된 시야가 부정확한 것입니다. 이를 수정하려면 오버레이가 대상 패턴과 최대한 가깝게 정렬될 때까지 화면 하단의 슬라이더를 조정합니다. 오버레이 및 대상 패턴 이미지가 정렬되었을 때 표시되는 시야는 올바른 값에 근접합니다. 보고된 시야는 보정 값의 +/-2도 이내여야 합니다.
    3. 뒤로 버튼을 누르고 DUT에서 지원하는 모든 이미지 해상도의 보정 테스트를 반복합니다.

대체 모드에 CTS 인증 도구 실행

CTS 10 R6 및 CTS 11 R2 출시부터 CTS 인증 도구는 대체 모드가 있는 기기 또는 화면 모드가 두 개 이상인 기기에 필요한 테스트를 지원합니다.

CTS 인증 도구의 기본 목록 보기 상단에 표시되는 버튼으로 사용자는 펼쳐진 디스플레이 모드와 접힌 디스플레이 모드 간에 전환할 수 있습니다. CTS 인증 도구에는 선택된 디스플레이 모드에 필요한 테스트가 표시됩니다. CTS 인증 도구에서 대체 모드를 실행하려면 버튼을 적절한 디스플레이 모드로 전환하고 표시된 테스트 목록을 실행해야 합니다.

CTS-V 전환 스위치

접힌 테스트의 결과가 펼쳐진 테스트와 동일한 보고서에 기록됩니다. 테스트 세트의 출처인 각 테스트 결과를 식별하기 위해 접힌 모드에서 각 테스트 이름에 접미사가 추가됩니다.

<Test result="fail" name="com.android.cts.verifier.deskclock.DeskClockTestsActivity[folded]">
  <RunHistory subtest="CREATE_ALARM[folded]">
    <Run start="1594176663973" end="1594176665841" isAutomated="false" />
  </RunHistory>
</Test>

결과 내보내기

모든 테스트가 완료되면 결과를 보고서로 저장하고 컴퓨터로 다운로드할 수 있습니다. DUT 시스템 시간에 따라 자동으로 보고서 이름에 타임스탬프가 들어갑니다.

  1. 테스트 결과를 저장하려면 테스트 카테고리 목록 상단의 저장(디스크) 아이콘을 탭합니다.

  2. 저장된 보고서의 파일 경로(예: /sdcard/verifierReports/ctsVerifierReport-date-time.zip)를 표시하는 팝업 메시지가 표시되기를 기다린 후 경로를 기록합니다.

  3. DUT를 Linux 컴퓨터에 연결합니다.

  4. Linux 컴퓨터의 Android SDK 설치에서 adb shell content read 또는 adb pull CTSVerifierReportPath 사용을 통해 연결된 기기에서 보고서를 다운로드합니다.

    • Android 7.x 이상의 경우 다음 명령어를 사용하여 모든 보고서를 다운로드합니다.

      adb pull /sdcard/verifierReports
      
    • Android 6.0 이하에서는 다음 명령어를 사용하여 모든 보고서를 다운로드합니다.

      adb pull /mnt/sdcard/ctsVerifierReports/
      
    • Android 10 이상에서 Automotive 및 보조 사용자로 실행되는 기기를 구현하려면 다음 명령어를 사용하여 최신 보고서를 다운로드합니다.

      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/latest > report.zip
      

      연결된 기기에서 사용 가능한 모든 보고서를 나열:

      adb shell content query --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports
      

      목록에서 보고서를 다운로드하려면 행 ID 또는 파일 이름을 지정합니다. 예:

      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/0 > report.zip
      
      adb shell content read --user CURRENT_USER --uri
      
      content://com.android.cts.verifier.testresultsprovider/reports/ctsVerifierReport-date-time.zip >
      report.zip
      
  5. 성공/실패 결과를 지우려면 CTS 인증 도구 앱에서 결과를 선택하고 메뉴 > 지우기를 선택합니다.