다른 유형의 Android 앱과 달리 Home API 앱에는 실제 스마트 홈 기기, 네트워크 안정성, 보안 및 개인 정보 보호, 기기 및 프로토콜 상호 운용성에 대한 종속성을 비롯한 고유한 고려사항과 과제가 있습니다. 이러한 차이점은 테스트에 영향을 미칩니다.
테스트 환경 설정
Home API 앱을 테스트하려면 강력한 테스트 환경이 필수적입니다.
전용 Wi-Fi 네트워크에서 Home API 테스트 기기를 격리하는 것이 좋습니다. 이렇게 하면 다른 기기의 간섭을 방지하고 제한된 대역폭과 같은 다양한 네트워크 조건을 시뮬레이션할 수 있습니다.
다양한 제조업체의 다양한 스마트 홈 기기 유형을 사용하여 테스트하는 것이 좋습니다. 실제 기기로 테스트해야 합니다. 가상 기기와 에뮬레이터는 유용하지만 전적으로 의존해서는 안 됩니다.
마찬가지로 화면 크기가 다양하고 다양한 Android 버전을 실행하는 여러 제조업체의 다양한 Android 기기로 앱을 테스트하면 더 광범위한 호환성을 확인할 수 있습니다.
도구 모음
다음 도구는 Home API 앱을 테스트하는 데 유용합니다.
| 도구 | 설명 |
|---|---|
| Google Home Plugin for Android Studio | Google Assistant Simulator에 대한 액세스를 제공합니다. Home Graph 뷰어, Google Cloud Logging, Android 디버그 브리지 (adb) 로그 뷰어 |
| Google Home Playground | 실제 기기를 사용한 테스트를 대체할 수는 없지만 많은 테스트 시나리오에서 매우 유용합니다. |
| Matter Virtual Device (MVD) | Home API 앱에서 Matter 기기를 테스트할 때 유용할 수 있는 또 다른 에뮬레이션 앱입니다. |
| Espresso | UI 테스트를 자동화할 수 있습니다. 하드웨어 상호작용을 시뮬레이션하려면 기본 API 를 모의처리해야 합니다. |
| 네트워크 에뮬레이터 | 다양한 네트워크 조건과 API 응답을 시뮬레이션할 수 있습니다. 이는 Home API가 클라우드 백엔드를 사용하는 경우 특히 유용합니다. |
| Android 스튜디오 Logcat | 로그 데이터를 처리하고 분석합니다. |
다양한 테스트 접근 방식 및 전략 적용
Home API 앱에 다양한 테스트 접근 방식을 적용해야 합니다. 다양한 방법에 관한 일반적인 내용은 Android에서 앱 테스트를 참고하세요. 모든 Android 앱이 거쳐야 하는 사용자 환경 및 보안 테스트 외에도 일부 테스트 영역은 Home API 앱과 특히 관련이 있으며 다음 섹션에서 자세히 설명합니다.
기능 테스트
앱의 기능에 따라 다음 영역에 특히 주의를 기울이는 것이 좋습니다.
- 초기 설정 및 새 기기와의 페어링, 앱 다시 시작, 기기 재부팅 또는 네트워크 변경 후 기존 기기 재검색을 비롯한 기기 검색 및 페어링 또한 응답하지 않는 기기 또는 사용자가 잘못된 사용자 인증 정보를 입력하는 등의 시나리오를 확인합니다.
- 상태 동기화, 앱 업데이트가 현재 상태를 적시에 정확하게 반영하는지 확인
- 특히 앱이 여러 사용자 또는 공유 홈 액세스를 지원하는 경우 권한이 관리되고 적용되는 방식 여기에는 앱이 취소된 권한을 적절하게 처리하는지 확인하는 작업이 포함됩니다.
- 앱이 모든 조명을 끄는 '잘 자' 장면과 같은 장면을 지원하는 경우 장면 생성, 수정, 실행을 테스트합니다. 시작 조건과 작업을 비롯한 자동화를 테스트합니다.
성능 테스트
앱이 반응이 빠르고 불필요한 지연 시간을 발생시키지 않는지 확인합니다. 가능하다면 많은 기기로 테스트하여 확장성과 부하 상태에서 앱이 어떻게 작동하는지 평가합니다. 또한 특히 활성 기기 통신 중에 앱의 CPU, 메모리, 배터리 소모량을 살펴보고 리소스 사용이 합리적인지 확인합니다.
안정성 및 안정성 테스트
네트워크 연결에 종속되므로 Home API 앱은 다음 시나리오에 대해 테스트해야 합니다.
- 네트워크 변동
- Wi-Fi 연결 끊김, 약한 신호, 네트워크 전환을 시뮬레이션합니다.
- 앱이 연결 해제 및 재연결을 적절하게 처리하는지 확인합니다.
- 연결이 복원될 때 명령어가 대기열에 추가되고 실행되는지 또는 적절한 오류 메시지를 제공하는지 확인합니다.
- 홈 네트워크뿐만 아니라 원격 네트워크에서도 앱을 테스트합니다.
- 기기 연결 해제
- 기기의 플러그를 뽑습니다.
- 기기의 전원을 껐다 켭니다.
- 동시 작업
- 명령어 시퀀스를 빠르게 전송합니다.
- 여러 사용자가 동시에 동일한 기기를 제어하도록 합니다.
- 겹치는 장면과 자동화를 테스트합니다.
- 오류 처리
- 예를 들어 클라우드 API 서버 응답을 모의처리하여 API 오류를 강제합니다.
- 사용자의 잘못된 입력을 테스트합니다.
- 적절한 성능 저하와 유용한 오류 메시지를 확인합니다.
- 안정성 - 앱과 연결된 기기를 장기간 실행하여 메모리 누수 또는 안정성 문제를 발견합니다.
앱을 실행하기 전에
Home API를 사용하는 앱을 실행하기 전에 모든 기능 및 품질 요구사항을 충족하는지 철저히 테스트하는 것이 좋습니다. Google Home API 앱 테스트 보고서를 가이드로 사용하여 앱의 기능을 테스트합니다.
Google Home API 앱 테스트 보고서를 제출하라는 요청을 받으면 Google Technical Account Manager (TAM)에게 보고서를 보내 보고서를 검토하고 앱을 테스트할 때 참고 자료로 사용할 수 있도록 합니다.