상자에서 자동차 테스트 완료

CATBox(Complete Automotive Tests in a Box)는 최소한의 구성으로 자동차 테스트를 간소화하고 실행하는 데 필요한 프레임워크와 도구를 제공하는 오픈 소스 패키지입니다. CATBox는 AAOS(Android Automotive OS) 구현을 테스트하고 검증하는 데 사용하는 도구, 인프라 및 테스트와 확장 가능하고 호환됩니다. 결과적으로 고품질 제품을 시장에 제공할 수 있습니다.

CATBox 설계 및 구현

CATBox 테스트 제품군은 자동차 대상 장치에서 기능 및 성능 테스트를 실행하는 데 필요한 도구, 프레임워크 및 테스트를 제공합니다.

다음 이미지는 CATBox 패키지의 높은 수준의 디자인을 보여줍니다.

CATBox

그림 1. CATBox 패키지

Tradefed

Tradefed는 Android 기기에서 테스트를 실행하는 데 사용되는 오픈 소스 연속 테스트 프레임워크입니다. 자세한 내용은 무역 연합 개요 를 참조하십시오.

자동차 테스트 프레임워크

CATBox는 Spectatio라는 자동차 테스트 프레임워크를 기반으로 하며 자동차 장치에서 다양한 애플리케이션을 테스트하기 위한 API를 제공합니다. 사용자 및 시스템 애플리케이션과 상호 작용하는 UI 테스트를 빌드하기 위한 API 세트를 제공하는 오픈 소스 테스트 프레임워크인 UI Automator 를 기반으로 구축되었습니다.

CATBox 테스트 스위트 다운로드

안드로이드 12

Android 12는 코드 이름이 S인 개발 마일스톤의 릴리스입니다. 다음 링크를 사용하여 Android 12용 CATBox 테스트 제품군을 다운로드하십시오.

안드로이드 11

Android 11은 코드 이름이 R인 개발 마일스톤의 릴리스입니다. 다음 링크를 사용하여 Android 11용 CATBox 테스트 제품군을 다운로드하세요.

CATBox 빌드

로컬 워크스테이션에서 Android AOSP 코드를 사용할 수 있게 되면 catbox 빌드 명령을 사용합니다. CATBox 패키지를 로컬로 빌드하려면:

  1. 장치 대상을 선택하고 다음 명령을 실행합니다.

    # Select Device Target Based on Device Architecture
    $ lunch <target>
    
  2. CATBox를 빌드하려면 다음 명령을 실행합니다.

    # Build CATBox
    $ make catbox
    

    이 명령은 /out/host/linux-x86/catbox 디렉토리에 android-catbox.zip 파일을 만들고 테스트를 실행하는 데 사용할 수 있습니다.

환경 설정

CATBox 테스트를 실행하는 데 필요한 환경 설정은 CTS 설정 과 유사합니다. 환경을 설정하려면 다음 각 태스크를 완료하십시오.

CATBox 설정 및 실행

Tradefed 테스트 프레임워크를 사용하여 Android 기기에서 테스트를 실행합니다. CATBox를 설정하기 전에 Trade Federation Overview 를 숙지하십시오.

CATBox를 설정하고 실행하려면 아래 섹션을 참조하세요.

기기 설정

테스트 계획을 실행하기 전에 다음 단계를 완료하여 기기를 설정하세요.

  1. Android 디버그 브리지(adb)Android 자산 패키징 도구(AAPT) 의 최신 버전을 모두 설치했는지 확인하고 이러한 도구의 위치를 ​​컴퓨터의 시스템 경로에 추가했는지 확인합니다. 자세한 내용은 ADB 및 AAPT 를 참조하세요.

  2. 하나 이상의 장치를 연결하고 다음과 같이 DUT(테스트 대상 장치)를 준비합니다.

    1. 자동차 장치를 공장 초기화하려면 설정 > 시스템 > 옵션 재설정 > 모든 데이터 지우기 를 클릭합니다.
    2. 장치가 자동으로 다시 시작될 때까지 기다립니다.
    3. adb가 활성화되어 있는지 확인하십시오. 장치를 사용할 수 있는지 확인하려면 다음 명령을 실행합니다.

      $ adb devices
      
    4. 루트를 활성화하려면 다음 명령을 실행합니다.

      # Enable Root
      $ adb -s DEVICE_SERIAL root
      

      DEVICE_SERIAL 을 자동차 장치의 일련 ID로 바꿉니다.

    5. Wi-Fi에 연결합니다.

CATBox 패키지 추출

장치 설정을 완료한 후 CATBox 패키지의 압축을 풀고 압축을 푼 폴더로 이동합니다.

# Extract the CATBox Package
$ unzip android-catbox.zip

# Navigate to extracted CATBox Package
$ cd android-catbox

CATBox에서 테스트 실행

CATBox 패키지의 테스트 계획으로 CATBox를 실행하려면 다음을 실행합니다.

./tools/catbox-tradefed run commandAndExit TEST_PLAN_NAME --serial DEVICE_SERIAL

DEVICE_SERIAL 을 자동차 장치의 일련 ID로 바꿉니다. 호스트 시스템에 여러 장치가 연결되어 있는 경우 DEVICE_SERIAL 을 사용하여 구별하십시오. TEST_PLAN_NAME 을 실행하려는 테스트 계획의 이름으로 바꿉니다.

사용 가능한 테스트 계획의 전체 목록을 얻으려면 다음을 실행하십시오.

./tools/catbox-tradefed list plans | grep -i catbox

다음 표에는 유형별로 사용 ​​가능한 테스트 계획이 나와 있습니다.

테스트 유형 이름
기능 테스트 계획 catbox-functional-notification
catbox-functional-setting
catbox-functional-dial
catbox-functional-system-setting
catbox-functional-app-info-setting
catbox-functional-network-setting
catbox-functional-security-setting
catbox-functional-sound-setting
catbox-functional-date-time-setting
catbox-functional-appgrid
catbox-functional-home
catbox-functional-lock-screen
catbox-functional-navigation-bar
catbox-functional-ux-restriction
catbox-functional-bluetooth-audio
성능 테스트 계획 catbox-performance-cold-app-start-up-settings
catbox-performance-hot-app-start-up-settings
catbox-performance-jank-settings
catbox-performance-cold-app-start-up-dialer
catbox-performance-hot-app-start-up-dialer
catbox-performance-jank-contact-list
catbox-performance-jank-notifications
catbox-performance-jank-appgrid
catbox-performance-cold-app-start-up-mediacenter
catbox-performance-hot-app-start-up-mediacenter
catbox-performance-create-and-switch-to-new-guest
catbox-performance-create-and-switch-to-new-user
catbox-performance-create-and-switch-to-precreated-guest
catbox-performance-create-and-switch-to-precreated-user
catbox-performance-switch-to-existing-user

CATBox 테스트 결과

테스트 결과는 기능 및 성능 테스트 실행 모두에 대해 android-catbox/results/latest 폴더에 저장됩니다.

  • 테스트 결과는 test_result.xml 을 참고하세요.
  • 실패 테스트에 대한 자세한 내용은 test_result_failures_suite.html 을 참조하세요.
  • 성능 메트릭 결과는 report-log-files 디렉토리의 CatboxPerformanceTests.reportlog.json 을 참조하십시오.

로그는 기능 및 성능 테스트 실행 모두에 대해 android-catbox/logs/latest 경로에 저장됩니다.

다이얼, 블루투스 오디오 및 연락처 목록 버벅거림 테스트와 같은 일부 테스트에는 추가 장치 설정이 필요합니다.

다이얼 테스트

다이얼 테스트에는 장치 설정 및 런타임 매개변수가 필요합니다. 장치를 설정하려면:

  1. 블루투스를 통해 모바일 장치를 Automotive 헤드 유닛에 연결합니다.
  2. 테스트 전화기에 다이얼 테스트를 실행하기 위한 SIM 카드가 포함되어 있고 모바일 네트워크에 연결되어 있는지 확인합니다.
  3. 다이얼 테스트는 전화기에 저장된 기본 연락처를 사용합니다. Contacts.vcf를 사용하여 전화에 연락처 를 로드합니다.
  4. COMPANION_SERIAL 을 전화기의 일련 ID로 바꾸고 다음 명령을 실행합니다.

    # Contacts can be loaded on the phone by pushing the contacts.vcf file on
    the phone and importing it in the Contacts application.
    
    OR
    
    # Importing contacts using adb.
    
    # Push contacts VCF file to phone
    
    $ adb -s COMPANION_SERIAL push <path-to-downloaded-contacts-vcf-file> /storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    
    # Grant Read Permissions
    
    $ adb -s COMPANION_SERIAL shell pm grant com.google.android.contacts
    android.permission.READ_EXTERNAL_STORAGE
    
    # Import contacts from the VCF file
    
    $ adb -s COMPANION_SERIAL shell am start-activity -W -t 'text/x-vcard' -d file:///storage/emulated/0/Android/data/com.google.android.contacts/contacts.vcf
    -a android.intent.action.VIEW com.google.android.contacts
    
    # Then accept the prompts on the UI to load the contacts.
    
런타임 매개변수

다이얼 테스트는 테스트 실행을 위해 크고 작은 전화번호를 사용합니다. 다이얼 테스트는 검색 테스트를 위해 연락처 이름과 연락처 번호도 사용합니다. 다음 매개변수를 사용하여 이 정보를 제공하십시오.

Parameters for Large Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:large-phone-number:=< 10 digit phone number>

Parameters for Small Phone Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:small-phone-number:=< 3 digit phone number>

Parameters for Search Contact Name:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-name:=< some contact name stored on the phone >

Parameters for Search Contact Number:
--module-arg AndroidAutomotiveDialTests:instrumentation-arg:search-contact-number:=< contact number of the name provided in the search contact name >

블루투스 오디오 테스트

Bluetooth 오디오 테스트를 위해 장치를 설정하려면:

  1. YouTube Music 앱이 휴대전화에 설치되어 있고 계정에 로그인되어 있는지 확인합니다. 그렇지 않은 경우 앱을 설치하고 계정에 로그인합니다.
  2. Bluetooth를 통해 전화를 자동차 장치에 수동으로 페어링합니다.
  3. 휴대폰이 페어링되면 휴대폰에서 노래를 재생한 다음 테스트를 시작합니다.

연락처 목록 버벅거림 테스트

연락처 목록 버벅거림 테스트를 위해 장치를 설정하려면:

  1. 테스트에서 연락처 목록을 스크롤하여 버벅거림 지표를 수집할 수 있도록 전화기에 여러 연락처가 있는지 확인합니다.
  2. Bluetooth를 통해 전화를 자동차 장치에 수동으로 페어링합니다.
  3. 전화가 페어링되면 장치에서 연락처에 액세스할 수 있습니다.