CTS 인증 도구 멀티 디바이스 테스트 실행

이 페이지에는 Android 16 이상에서 CTS 인증 도구 (CTS-V) 멀티스크린 테스트를 사용하는 방법이 설명되어 있습니다.

호스트 측 멀티 디바이스 테스트 설정

이 섹션에서는 멀티 디바이스 테스트를 설정하는 방법을 설명합니다.

  1. 데스크톱 컴퓨터가 CTS의 운영체제 요구사항을 충족하는지 확인합니다.
  2. 데스크톱 소프트웨어 설치의 2단계와 5단계를 따라 adb, AAPT2, Python이 데스크톱에 올바르게 설치되어 있는지 확인합니다.
  3. CTS-V가 설정된 일치하는 테스트 대상 기기 (DUT) 두 대를 준비합니다.

    • DUT 설정에 관한 자세한 내용은 DUT 설정을 참고하세요.
    • CTS-V 설정에 관한 안내는 설정을 참고하세요.
  4. NFC 이외의 모듈을 테스트하는 경우 표준 2개 기기 테스트 설정을 따르세요.

  5. CDM 모듈을 테스트하는 경우 표준 2기기 설정 외에 CDM 테스트 설정을 따르세요.

표준 2개 기기 테스트 설정

기본 2대 기기 설정의 경우:

  1. 일치하는 Android DUT 두 개를 약 20cm 간격으로 배치합니다.
  2. 깨끗한 환경을 보장하려면 두 기기를 모두 차폐 상자에 넣으세요.

  3. (선택사항) Wi-Fi 디버깅을 위해 OTA 스니퍼를 설정합니다.

NFC 테스트 설정

NFC 테스트에서는 하나의 DUT와 PN532 NFC 칩을 사용합니다.

NFC 테스트를 설정하려면 다음 단계를 따르세요.

  1. PN532 NFC 칩을 구매합니다. All-In-One PN532가 권장됩니다.
  2. DUT에서 설정 앱으로 이동합니다.

  3. NFC를 사용 설정합니다.

  4. NFC 칩을 배치합니다.

    • 휴대전화의 경우 그림 1과 같이 DUT의 NFC 리더를 배치합니다.

      NFC 칩 배치

      그림 1. NFC 칩 배치

    • 다른 기기 유형의 경우 칩을 기기의 NFC 안테나 옆에 배치합니다.

  5. USB 케이블을 사용하여 PN532 NFC 칩을 테스트 워크스테이션에 연결합니다.

CDM 테스트 설정

test_permissions_sync() 테스트 사례는 테스트가 실행되는 기기의 빌드 유형에 따라 동작이 다릅니다. OEM이 디버깅 가능 (userdebug 또는 eng) 빌드와 디버깅 불가능 (user) 빌드 모두를 테스트하고 두 빌드 모두 테스트를 통과하는 것이 중요합니다.

면제

권한 동기화 API 구현에 관한 CDD 조항에서는 보안 채널을 통해 기기 간에 데이터를 성공적으로 전송할 수 있기만 하면 됩니다. 보안 채널 구현은 CDD 규정 준수 요구사항이 아니므로 이 테스트는 디버깅할 수 없는 (사용자) 빌드에서 건너뛸 수 있지만 CDM 권한 동기화 기능 지원을 선택 해제하려는 경우에만 가능합니다.

테스트는 디버그 가능 빌드에서 예외 없이 통과해야 합니다.

디버그 불가능한 빌드에서 테스트하기 위한 기본 요건

이전 면제 조항에 따라 면제되지 않는 경우 다음 기본 요건을 충족해야 합니다.

보안 채널은 AVF (AttestationVerificationFramework)를 사용하여 하드웨어의 신뢰성을 확인합니다. 양쪽에서 생성된 증명에는 시스템에 승인되지 않은 변경사항이 없음을 보장하기 위해 자신에 관한 여러 정보가 포함됩니다. AVF는 확인 프로세스 중에 다음 상태를 확인합니다.

  • 기기가 인터넷에 액세스할 수 있음
  • 기기에서 자체 검사 부팅을 사용하고 빌드는 dev-key가 아닌 release-key로 서명해야 합니다.
  • 기기가 부트로더로 잠겨 있습니다. 자세한 내용은 부트로더 잠금을 참고하세요.
  • OS, 키 부팅, 키 공급업체 패치 수준이 12개월 이내입니다. 1년이 지난 빌드는 사용하지 마세요.
  • 기기 증명은 공급업체 승인 루트 인증서 중 하나로 지원됩니다. vendor_required_attestation_certificates.xml 리소스 오버레이에서 신뢰할 수 있는 루트 인증서를 지정합니다.

호스트 측 멀티 디바이스 테스트 실행 (AOSP 16 이상)

CTS 인증 도구 16에서는 호스트 측 다중 기기 테스트 지원이 도입되었습니다. 이러한 테스트는 기기에서 수동 테스트 작업을 수행하는 대신 호스트에서 자동화된 스크립트를 사용하여 실행할 수 있습니다. 각 테스트가 완료되면 결과가 DUT에 자동으로 업로드되고 CTS 인증 도구 앱에 표시됩니다.

이 섹션에서는 호스트 측 멀티 디바이스 테스트를 실행하는 방법을 설명합니다.

멀티 디바이스 테스트 실행

멀티 디바이스 테스트를 실행하려면 다음 단계를 따르세요.

  1. 테스트 워크스테이션에서 CTS-V zip 패키지가 압축 해제된 디렉터리에서 cts-v-host 콘솔을 실행합니다.

    ./android-cts-verifier/android-cts-v-host/tools/cts-v-host-tradefed
    
  2. DUT의 CTS 인증 도구 앱에서 호스트 측 테스트를 클릭합니다. 그림 2는 CTS 인증 도구 앱의 호스트 측 테스트를 보여줍니다.

    CTS 인증 도구 앱의 호스트 측 멀티 디바이스 테스트

    그림 2. CTS 인증 도구 앱의 호스트 측 멀티 디바이스 테스트

    테스트 호스트 측 멀티스크린 테스트 모듈 목록이 표시됩니다.

  3. 실행하려는 테스트 모듈의 이름을 식별합니다. 예를 들어 CompanionDeviceManager 모듈은 CtsCompanionDeviceManagerMultiDeviceTestCases로 나열됩니다.

  4. cts-v-host 콘솔에서 다음 명령어를 실행합니다.

    run cts-v-host -m test_module_name
    

    예를 들면 다음과 같습니다.

    run cts-v-host -m CtsCompanionDeviceManagerMultiDeviceTestCases
    

    xTS 콘솔에서 테스트 실행이 완료되면 결과가 CTS 인증 도구 앱에 표시됩니다. 녹색으로 표시된 테스트는 통과한 것입니다. 빨간색으로 표시된 테스트가 실패했습니다. 그림 3은 CtsCompanionDeviceManager 테스트의 결과 예를 보여줍니다.

    CTS 인증 도구 앱의 호스트 측 멀티 디바이스 테스트 결과

    그림 3. CTS 인증 도구 앱의 호스트 측 멀티 디바이스 테스트 결과

멀티 디바이스 테스트 문제 해결

이 섹션에서는 발생 가능한 문제에 대한 문제 해결 도움말을 제공합니다.

NFC 테스트 중 GetFirmwareVersion의 응답 없음 수정

멀티 디바이스 테스트를 실행하는 동안 verify_firmware_version RuntimeError: No response for GetFirmwareVersion 메시지가 표시되면 테스트에서 PN532 NFC 보드에 액세스할 수 없습니다.

이 문제를 해결하려면 호스트에서 PN532 NFC 보드가 사용하는 직렬 경로(예: dev/ttyUSB1)를 식별한 다음 콘솔에서 --module-arg 인수를 사용하여 수동으로 지정하세요.

run cts-v-host -m CtsNfcHceMultiDeviceTestCases --module-arg CtsNfcHceMultiDeviceTestCases:pn532_serial_path:/dev/ttyUSB1

NFC 테스트 중 거래 실패 오류 메시지 수정

모든 NFC 테스트 사례에 대해 Transaction failed, check device logs for more information. 메시지가 표시되면 DUT의 NFC 칩이 PN532를 감지할 수 없기 때문일 수 있습니다.

호스트에 연결된 기기가 여러 대이고 일부 기기에는 PN532가 상단에 배치되어 있지 않은 경우 잘못된 DUT가 선택되었을 수 있습니다. 자세한 내용은 NFC 테스트 설정을 참고하세요.

이 문제를 해결하려면 다음 중 한 가지를 따르세요.

  • -s 플래그를 사용하여 호스트 측 테스트 명령어에서 올바른 DUT의 시리얼을 설정합니다.

  • 호스트에서 DUT가 아닌 모든 기기를 연결 해제합니다.

CDM 테스트 사례 test_permissions_sync가 무시됨

디버깅할 수 없는 기기에서 테스트를 실행하는 경우 제외되었는지 확인하세요. 그렇지 않은 경우 두 기기가 모두 기본 요건을 충족하는지 확인합니다.