호환성 테스트 제품군

CTS(호환성 테스트 도구 모음)는 무료 상용 등급 테스트 도구 모음으로 AOSP(Android 오픈 소스 프로젝트) 에서 바이너리 또는 소스로 다운로드할 수 있습니다. CTS는 호환성의 "메커니즘"을 나타냅니다.

CTS는 데스크톱 컴퓨터에서 실행되며 연결된 장치 또는 에뮬레이터에서 직접 테스트 사례를 실행합니다. CTS는 장치를 빌드하는 엔지니어의 일일 워크플로(예: 연속 빌드 시스템을 통해)에 통합되도록 설계된 일련의 단위 테스트입니다. 그 의도는 초기에 비호환성을 밝히고 소프트웨어가 개발 프로세스 전반에 걸쳐 호환성을 유지하도록 하는 것입니다.

CTS는 두 가지 주요 소프트웨어 구성 요소를 사용하는 자동화된 테스트 제품군입니다.

  • CTS Trade Federation 테스트 하네스는 데스크톱 컴퓨터에서 실행되고 테스트 실행을 관리합니다. 여러 DUT(테스트 대상 장치)에 걸쳐 테스트 를 분할할 수 있는 기능을 제공합니다. 또한 제품군 재시 도 기능을 사용하여 전체 제품군이 아닌 실패만 재시도하여 재실행 시간을 크게 줄일 수 있습니다.
  • 개별 테스트 케이스는 DUT에서 실행됩니다. 테스트 사례는 JUnit 테스트로 Java로 작성되고 실제 장치 대상에서 실행되도록 패키지된 Android .apk 파일입니다.

Compatibility Test Suite Verifier(CTS Verifier)는 다운로드할 수 있는 CTS에 대한 보완 기능입니다. CTS Verifier는 수동 입력 없이 고정 장치에서 테스트할 수 없는 API 및 기능(예: 오디오 품질, 가속도계 등)에 대한 테스트를 제공합니다.

CTS Verifier는 수동 테스트를 위한 도구이며 다음 소프트웨어 구성요소를 포함합니다.

  • DUT에서 실행되고 결과를 수집하는 CTS 검증기 앱.

  • CTS Verifier 앱의 일부 테스트 사례에 대한 데이터 또는 추가 제어를 제공하기 위해 데스크톱 컴퓨터에서 실행되는 실행 파일 또는 스크립트입니다.

워크플로

CTS 흐름

그림 1. CTS 사용 방법

이 다이어그램은 CTS 워크플로를 요약합니다. 자세한 지침은 설정 부터 시작하는 이 섹션의 하위 페이지를 참조하십시오.

테스트 케이스의 유형

CTS에는 다음 유형의 테스트 사례가 포함됩니다.

  • 단위 테스트 는 Android 플랫폼 내에서 코드의 원자 단위를 테스트합니다. 예를 들어 java.util.HashMap과 같은 단일 클래스.
  • 기능 테스트 는 더 높은 수준의 사용 사례에서 API 조합을 테스트합니다.

CTS의 향후 버전에는 다음 유형의 테스트 사례가 포함될 것입니다.
  • 견고성 테스트 는 스트레스를 받는 시스템의 내구성을 테스트합니다.
  • 성능 테스트 는 정의된 벤치마크(예: 초당 렌더링 프레임)에 대해 시스템 성능을 테스트합니다.

적용 지역

단위 테스트 케이스는 호환성을 보장하기 위해 다음 영역을 다룹니다.

지역 설명
서명 테스트 각 Android 릴리스에는 릴리스에 포함된 모든 공개 API의 서명을 설명하는 XML 파일이 있습니다. CTS에는 장치에서 사용할 수 있는 API에 대해 해당 API 서명을 확인하는 유틸리티가 포함되어 있습니다. 서명 확인 결과는 테스트 결과 XML 파일에 기록됩니다.
플랫폼 API 테스트 SDK 클래스 색인 에 설명된 대로 플랫폼(핵심 라이브러리 및 Android 애플리케이션 프레임워크) API를 테스트하여 올바른 클래스, 속성 및 메서드 서명, 올바른 메서드 동작 및 부정확한 매개변수 처리에 대한 예상 동작을 보장하는 부정적인 테스트를 포함하여 API 정확성을 확인합니다.
달빅 테스트 테스트는 Dalvik 실행 파일 형식 테스트에 중점을 둡니다.
플랫폼 데이터 모델 CTS는 SDK android.provider 패키지(연락처, 브라우저, 설정 등)에 문서화된 대로 콘텐츠 공급자를 통해 애플리케이션 개발자에게 노출되는 핵심 플랫폼 데이터 모델을 테스트합니다.
플랫폼 의도 CTS는 SDK 사용 가능한 의도에 설명된 대로 핵심 플랫폼 의도를 테스트합니다.
플랫폼 권한 CTS는 SDK 사용 가능한 권한 에 설명된 대로 핵심 플랫폼 권한을 테스트합니다.
플랫폼 리소스 CTS는 SDK 사용 가능한 리소스 유형 에 설명된 대로 핵심 플랫폼 리소스 유형의 올바른 처리를 테스트합니다. 여기에는 단순 값, 드로어블, 나인 패치, 애니메이션, 레이아웃, 스타일 및 테마, 대체 리소스 로드에 대한 테스트가 포함됩니다.