Android 플랫폼 테스트

이 콘텐츠는 Android 플랫폼 개발자를 대상으로 마련되었습니다. Android 플랫폼에서 테스트를 수행하는 방법을 알아보려면 Android 플랫폼 아키텍처를 참조하세요.

그런 다음 공급업체 테스트 도구 모음(VTS)과 수많은 동영상 및 codelab 가이드와 같은 이 섹션에서 제공하는 정확한 기술을 살펴보세요.

또한 기기를 취약성으로부터 감지하고 강화하는 데 사용할 수 있는 보안 관련 테스트 메커니즘에 유의하세요.

앱 테스트의 경우 기초 테스트를 시작하고 제공된 샘플을 사용하여 Android 테스트 Codelab을 수행합니다.

테스트 내용 및 방법

플랫폼 테스트는 일반적으로 하나 이상의 Android 시스템 서비스 또는 하드웨어 추상화 계층(HAL)과 상호 작용하고 테스트 대상의 기능을 수행하며 테스트 결과의 정확성을 나타냅니다.

따라서 플랫폼 테스트는 다음을 수행할 수 있습니다.

  1. 애플리케이션 프레임워크를 통해 프레임워크 API를 수행할 수 있습니다 구체적인 API는 다음을 포함할 수 있습니다.
    • 타사 애플리케이션용 공개 API
    • 시스템 API와 같은 권한 있는 애플리케이션을 위한 숨겨진 API
    • 비공개 API(@hide 또는 protected, private 패키지)
  2. 원시 바인더 또는 IPC 프록시를 통해 직접 Android 시스템 서비스를 호출할 수 있습니다.
  3. 낮은 수준의 API 또는 IPC 인터페이스를 통해 HAL과 직접 상호작용할 수 있습니다.

유형 1과 2는 일반적으로 계측 테스트로 작성되지만 유형 3은 보통 gtest 프레임워크를 사용하여 네이티브 테스트로 작성됩니다.

자세한 내용은 Google의 포괄적인 예를 참조하세요.

이러한 도구는 Android에서 테스트할 때 근본적이므로 익숙해지는 것이 좋습니다.

호환성 테스트 도구 모음(CTS)

호환성 테스트 도구 모음은 OEM 파트너와 플랫폼 버전 간의 Android 프레임워크 구현의 호환성을 보장하는 데 사용되는 다양한 유형의 테스트 모음입니다. 이 도구 모음에는 계층 테스트와 네이티브 테스트도 포함되어 있습니다.

CTS 및 플랫폼 테스트는 상호 배타적이지 않으며 다음과 같은 몇 가지 일반적인 가이드라인이 있습니다.

  • 테스트에서 프레임워크 API 함수/동작의 정확성을 확인하고 OEM 파트너에 적용해야 하는 경우 CTS에 있어야 합니다.
  • 테스트가 플랫폼 개발 주기 동안 회귀를 파악하고 수행할 수 있는 권한이 필요하며 구현 세부정보에 의존하는 경우에는 AOSP에서만 플랫폼 테스트를 수행해야 합니다.

공급업체 테스트 도구 모음(VTS)

공급업체 테스트 도구 모음(VTS)에서는 비어있지 않은 ro.vndk.version 속성이 필수입니다. VTS를 사용하여 Android 네이티브 시스템 구현을 테스트하려면 테스트 환경을 설정한 다음 VTS 계획을 사용하여 패치를 테스트합니다.

Trade Federation 테스트 인프라

Trade Federation(짥게는 Tradefed, TF로 표시)은 Android 기기에서의 테스트 실행을 위해 고안된 연속 테스트 프레임워크입니다. TF는 플랫폼 체크아웃에서 데스크톱의 로컬에서 기능 테스트를 실행할 수 있습니다. TF, 자바 테스트 소스 및 XML 구성에서 테스트를 실행하는 데 필요한 두 개의 파일이 있습니다. 예를 보려면 RebootTest.javareboot.xml을 참조하세요.

디버깅

디버깅 섹션은 플랫폼 수준 기능을 개발할 때 기본 Android 플랫폼 코드를 디버깅, 추적 및 프로파일링하기 위한 유용한 도구와 관련 명령을 요약합니다.