Google Home 테스트 도구 모음

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

Test Suite를 사용하고 테스트 결과를 Google에 제출하여 인증을 받으려면 스마트 홈 작업 테스트 및 공유 페이지를 참고하세요. 이 버전의 Test Suite는 특히 개발 및 품질 보증을 위해 설계되었습니다.

Test Suite에서 실행하는 테스트에는 다음이 포함되며 이에 국한되지 않습니다.

  • 기기 및 트레잇에 Report StateRequest Sync가 구현되어 있는지 확인합니다.

  • QUERY 인텐트가 기기에 구현되었으며 결과가 Report State 결과와 일치하는지 확인합니다.

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

Test Suite 실행

작업 자체 테스트

다음 섹션에서는 기기 및 스마트 홈 작업 프로젝트에서 Test Suite를 실행하는 방법을 설명합니다. Test SuiteGoogle Home Graph의 기기를 검사하고 Google Assistant에 명령어를 직접 전송할 수 있도록 로그인해야 합니다.

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

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

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

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

    1. Cloud-to-cloud 통합을 인증하는 경우 기본 Report State/Request Sync Timeout 값을 변경하지 않습니다. 하지만 테스트의 경우 에이전트가 Home Graph에 상태를 보고하는 데 시간이 더 오래 걸리는 경우 제한 시간 값을 변경할 수 있습니다.
    2. Cloud-to-cloud 통합을 인증하는 경우 테스트 요청 동기화 옵션이 사용 설정되어 있는지 확인합니다. 테스트 중에 기기를 추가, 업데이트 또는 삭제하고 Home 그래프에서 기기 목록이 변경되었는지 확인하라는 메시지가 표시됩니다. 테스트 중인 통합을 통해 변경 작업이 실행됩니다. 테스트 중인 통합에는 항상 상담사 사용자에게 연결된 기기가 하나 이상 있어야 합니다.

    3. Scene 트레잇을 사용하는 경우 Test Scene trait를 선택합니다.

    4. Local Home 기기용 테스트 모음을 실행하는 경우 Local Home SDK 지원을 선택합니다.

      1. 오프라인 주문 처리 또는 원활한 설정을 선택합니다.
      2. 기기가 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 Bad Request 오류를 반환해야 합니다. 응답이 '오류 코드 또는 메시지'와 일치하지 않으면 이 테스트 사례가 실패합니다. 자세한 내용은 갱신 토큰을 액세스 토큰으로 교환을 참고하세요.
토큰 새로고침 후 액세스 토큰이 업데이트되었는지 테스트합니다. 새 액세스 토큰은 갱신 토큰 요청에 대한 응답으로 반환되어야 합니다. 서버가 동일한 액세스 토큰을 제공하면 테스트 사례가 실패합니다.
만료되지 않은 액세스 토큰이 여전히 유효한지 확인합니다. 액세스 토큰 만료 시간이 표시됩니다.
새로고침 중에 갱신 토큰이 회전되었는지 확인합니다. 갱신 토큰 요청 후 갱신 토큰이 변경되는지 확인합니다. 갱신 토큰이 변경되면 서버는 사용자의 계정 연결을 중단할 수 있는 경합 상태를 방지하기 위해 새 갱신 토큰이 사용된 후에만 기존 갱신 토큰을 무효화해야 합니다. 새 갱신 토큰이 사용되기 전에 이전 갱신 토큰을 무효화하면 테스트가 실패합니다.

오류 메시지

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

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

${your project id} 프로젝트에 대한 resourcemanager.projects.get 권한이 있고 동의 화면에서 모든 권한을 부여했는지 확인합니다.

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

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

테스트 결과 제출

인증 양식을 제출하기 전에 Test Suite 결과가 100% 테스트를 통과해야 합니다. 수동 테스트가 필요한 트레잇이 있는 경우 100% 통과하지 않았더라도 Test Suite 도구를 실행하고 결과를 첨부해야 합니다.

테스트 결과를 제출하고 Cloud-to-cloud 통합을 인증하려면 다음 단계를 따르세요.

  1. 테스트 결과를 받고 Cloud-to-cloud 통합을 인증할 준비가 되면 Test Suite 도구에서 제출을 클릭합니다.
  2. 테스트 결과 다운로드 버튼을 클릭하여 테스트 결과를 가져옵니다.
  3. 제출 양식으로 이동을 클릭하여 테스트 결과를 Google에 제출합니다.
  4. 모든 필수 입력란을 작성한 다음 제출을 클릭합니다.