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