Google Home 테스트 도구 모음

Google Home Test Suite는 스마트 홈 작업을 자체 테스트할 수 있는 웹 애플리케이션입니다. Test Suite는 계정과 연결된 기기 및 특성을 기반으로 테스트 사례를 자동으로 생성하고 실행합니다. 테스트를 완료하면 테스트 결과를 보거나 제출 양식을 작성하여 테스트 결과를 Google에 제출할 수 있습니다.

Test Suite에 의해 실행되는 테스트에는 다음이 포함되지만 이에 국한되지 않습니다.

  • 기기 및 특성에 보고서 상태동기화 요청이 구현되었는지 확인합니다.

  • QUERY 인텐트가 기기에 구현되었고 결과가 보고서 상태 결과와 일치하는지 확인합니다.

아래 버튼을 클릭하여 Test Suite 도구를 실행할 수 있습니다.

Test Suite 실행

작업 자체 테스트

다음 섹션에서는 기기 및 스마트 홈 작업 프로젝트에서 Test Suite를 실행하는 방법을 설명합니다. Test Suite를 사용하려면 로그인해야 합니다. 이렇게 하려면 Google Home Graph에서 기기를 검사하고 Google Assistant에 직접 명령어를 보낼 수 있습니다.

작업을 자체 테스트하려면 다음 단계를 따르세요.

  1. 웹브라우저에서 Test Suite를 엽니다.
  2. 오른쪽 상단 버튼을 사용하여 Google에 로그인합니다.

  3. 프로젝트 세부정보를 구성합니다.

    1. 프로젝트 ID 필드에 스마트 홈 작업의 프로젝트 식별자를 입력합니다.
    2. 다음을 클릭합니다.
  4. 테스트 설정을 구성합니다.

    1. 스마트 홈 작업을 인증하는 경우 기본값인 Report State/Request Sync Timeout 값을 변경하지 않고 그대로 둡니다. 하지만 테스트에서는 에이전트가 Home Graph에 상태를 보고하는 데 시간이 더 걸리면 시간 제한 값을 변경할 수 있습니다.
    2. 스마트 홈 작업을 인증하는 경우 Test Request Sync 옵션이 사용 설정되어 있는지 확인하세요. 테스트 중에 기기를 추가, 업데이트 또는 삭제하고 Home Graph에서 기기 목록이 변경되었는지 확인하라는 메시지가 표시됩니다. 변경 작업은 테스트 중인 통합을 통해 발생합니다. 테스트 중인 통합에는 항상 에이전트 사용자에게 하나 이상의 기기가 연결되어 있어야 합니다.

    3. Scene 특성을 사용하는 경우 장면 특성 테스트를 선택합니다.

    4. Local Home 기기의 테스트 모음을 실행하는 경우 Supports Local Home SDK를 선택합니다.

      1. Local Fulfillment 또는 Seamless Setup(원활한 설정)을 선택합니다.
      2. 기기가 QUERY 인텐트를 로컬에서 처리할 수 있는 경우 Supports Local Query를 클릭합니다.
  5. 테스트 실행을 실행하고 결과를 확인합니다.

    1. 다음을 클릭하여 테스트 실행을 시작합니다. 인터페이스에 테스트 중인 기기와 특성이 표시됩니다.
  6. 결과 및 제출 페이지 보기:

    1. 테스트가 완료되면 다음을 클릭하여 결과를 확인합니다.

테스트 결과에는 통과 및 실패한 테스트 수와 통과 비율을 나타내는 최종 점수가 포함됩니다.

계정 연결 유효성 검사 테스트

계정 연결은 Google 스마트 홈 생태계에서 중요한 역할을 합니다. Test Suite의 계정 연결 유효성 검사 테스트는 OAuth 서비스에 잠재적인 문제가 있는지 확인합니다.

계정 연결 유효성 검사 테스트에는 액세스 토큰갱신 토큰의 유효성을 검사하는 테스트가 포함되어 있습니다.

액세스 토큰 검증 테스트

토큰 교환 엔드포인트에서 반환된 액세스 토큰은 형식이 유효하고 유효한 갱신 토큰과 함께 반환되는지 확인하기 위해 테스트됩니다.

테스트 항목 설명
액세스 토큰이 JWT 형식인지 확인 Google 계정 연결에서는 JWT 형식 액세스 토큰을 권장하지 않습니다. JWT 형식이 발견되면 The access token seems to be JWT, this is not good. Because it unnecessarily exposes information about partner implementation and we recommend opaque symmetric encrypted access token. 경고가 표시됩니다.
만료 가능한 액세스 토큰에 갱신 토큰이 있는지 확인합니다. 액세스 토큰이 만료되는 경우 갱신 토큰을 제공해야 합니다. 갱신 토큰이 없으면 이 테스트가 실패합니다.

갱신 토큰 검증 테스트

갱신 토큰은 토큰 교환 엔드포인트에서 새 액세스 토큰으로 올바르게 교환되는지 확인하기 위해 테스트됩니다.

테스트 항목 설명
잘못된 갱신 토큰이 있는 갱신 토큰입니다. 파트너 응답을 확인하는 중입니다. 서버는 잘못된 갱신 토큰 요청에 대해 {"error": "invalid_grant"}와 함께 HTTP 400 잘못된 요청 오류를 반환해야 합니다. 응답이 '오류 코드 또는 메시지'와 일치하지 않으면 이 테스트 사례가 실패합니다. 자세한 내용은 갱신 토큰을 액세스 토큰으로 교환을 참조하세요.
토큰 새로고침 후 액세스 토큰이 업데이트되었는지 테스트합니다. 토큰 갱신 요청에 대한 응답으로 새 액세스 토큰이 반환되어야 합니다. 서버에서 동일한 액세스 토큰을 제공하면 테스트 사례가 실패합니다.
만료되지 않은 액세스 토큰이 유효한지 확인합니다. 액세스 토큰 만료 시간이 표시됩니다.
새로고침하는 동안 갱신 토큰이 순환되었는지 확인합니다. 갱신 토큰 요청 후 갱신 토큰이 변경되었는지 확인합니다. 갱신 토큰이 변경되면 사용자의 계정 연결을 깨뜨릴 수 있는 경합 상태를 방지하기 위해 서버에서 새 갱신 토큰이 사용된 후에만 이전 갱신 토큰을 무효화해야 합니다. 새 토큰이 사용되기 전에 이전 갱신 토큰을 무효화하면 테스트가 실패합니다.

오류 메시지

다음 표에는 발생할 수 있는 일반적인 오류 메시지와 오류 메시지 해결 방법이 나와 있습니다.

오류 메시지 해결 방법
이전에 <_id_> 프로젝트에서 HomeGraph API를 사용한 적이 없거나 사용 중지되었습니다. HomeGraph API를 사용 설정했는지 확인합니다.
요청된 항목을 찾을 수 없음 agentUserId이 유효하고 서비스에 연결되어 있는지 확인하세요.

${your project id} 프로젝트의 resourcemanager.projects.get 권한이 있고 동의 화면의 모든 권한을 부여했는지 확인하세요.

모듈 데이터를 가져오는 중에 오류가 발생했습니다. getModuleData error: https://hometestsuiteproxy-pa.googleapis.com/v1/module:get: 403 OK 403에 대한 HTTP 실패 응답

  1. IAM 권한 문제 해결의 안내에 따라 계정에 프로젝트에 대한 resourcemanager.projects.get 권한이 있는지 확인하세요.
  2. 계정에 액세스할 수 있는 앱 페이지로 이동하여 '스마트 홈용 테스트 모음'의 다음 권한을 확인합니다.
    • 기본 계정 정보
      1. 기본 Google 계정 이메일 주소를 확인하세요
      2. 개인 정보(공개로 설정한 개인 정보 포함) 보기
    • 추가 액세스
      1. Assistant 사용: 광범위한 Google 계정 액세스
      2. Home Graph의 스마트 홈 기기 검사 및 제어
    권한 오류가 발생하면 먼저 액세스 권한을 삭제하고 다시 로그인할 때 동의 화면의 모든 권한을 부여하세요.

테스트 결과 제출

Test Suite 결과가 모든 테스트를 통과해야 인증 양식을 제출할 수 있습니다. 수동 테스트가 필요한 특성이 있는 경우에도 Test Suite 도구를 실행하고 100%를 통과하지 못한 경우에도 결과를 연결해야 합니다.

테스트 결과를 제출하고 스마트 홈 작업을 인증하려면 다음 단계를 따르세요.

  1. 테스트 결과를 받고 스마트 홈 작업을 인증할 준비가 되면 Test Suite 도구에서 제출을 클릭합니다.
  2. 테스트 결과 다운로드 버튼을 클릭하여 테스트 결과를 검색합니다.
  3. 제출 양식으로 이동을 클릭하여 Google에 테스트 결과를 제출합니다.
  4. 필수 입력란을 모두 작성한 후 제출을 클릭합니다.