VTS 대시보드 UI

VTS 대시보드는 머티리얼 디자인을 사용하여 테스트 결과, 프로파일링 및 커버리지에 관한 정보를 효과적으로 표시하는 일관된 사용자 인터페이스를 제공합니다. 대시보드 스타일 지정에서는 Materialize CSS 및 jQueryUI를 포함한 오픈소스 자바스크립트 라이브러리를 사용하여 Google App Engine의 자바 서블릿이 제공하는 데이터를 처리합니다.

대시보드 홈

대시보드 홈페이지에는 사용자가 즐겨찾기에 추가한 테스트 도구 모음 목록이 표시됩니다.

그림 1. VTS 대시보드, 홈페이지.

이 목록에서 사용자는 다음 작업을 할 수 있습니다.

  • 테스트 도구 모음을 선택하여 테스트 도구 모음의 결과를 확인할 수 있습니다.
  • 모두 표시를 클릭하여 모든 VTS 테스트 이름을 볼 수 있습니다.
  • 수정 아이콘을 선택하여 즐겨찾기 목록을 수정할 수 있습니다.
    그림 2. VTS 대시보드, 즐겨찾기 수정 페이지.

테스트 결과

테스트 결과에는 프로파일링 지점 목록과 테스트 사례 결과 표(시간 순서순), 최근 실행의 결과 내역을 표시한 원형 차트 등 선택한 테스트 도구 모음에 관한 최신 정보가 표시됩니다(사용자는 오른쪽으로 페이징하여 이전 데이터를 로드할 수 있음).

그림 3. VTS 대시보드, 테스트 결과.

사용자는 쿼리를 사용하거나 테스트 유형(사전 제출, 사후 제출 또는 둘 다)을 수정하여 데이터를 필터링할 수 있습니다. 검색어에는 일반 토큰과 필드별 한정자가 지원됩니다. 지원되는 검색 필드는 기기 빌드 ID, 분기, 타겟 이름, 기기 이름, 테스트 빌드 ID입니다. 이러한 항목은 FIELD-ID="SEARCH QUERY" 형식으로 지정됩니다. 따옴표는 여러 단어를 단일 토큰으로 처리하여 열의 데이터와 일치시키는 데 사용됩니다.

데이터 프로파일링

사용자는 프로파일링 지점을 선택하여 선 그래프 또는 히스토그램으로 표현된 그 지점의 양적 데이터에 관한 인터랙티브 보기를 이용할 수 있습니다(아래 예). 기본적으로 보기에는 최신 정보가 표시됩니다. 사용자는 날짜 선택도구를 사용하여 특정 기간을 로드할 수 있습니다.

그림 4. VTS 대시보드, 선 그래프 성능

선 그래프는 정렬되지 않은 성능 값 모음의 데이터를 표시합니다. 선 그래프는 성능 테스트가 또 다른 변수의 함수에 따라 변하는 성능 값(예: 처리량과 메시지 크기)으로 구성된 벡터를 생성하는 경우에 유용합니다.

그림 5. VTS 대시보드, 히스토그램 성능.

테스트 커버리지

사용자는 테스트 결과에서 커버리지 비율 링크를 통해 커버리지 정보를 볼 수 있습니다.

그림 6. VTS 대시보드, 커버리지 비율.

각 테스트 사례와 소스 파일에 대해 사용자는 선택한 테스트에서 제공된 커버리지에 따라 소스 코드가 색상으로 구분된 확장형 요소를 볼 수 있습니다.

그림 7. VTS 대시보드, 커버리지 소스 코드.
  • 처리되지 않는 라인은 빨간색으로 강조표시됩니다.
  • 처리된 라인은 초록색으로 강조표시됩니다.
  • 실행할 수 없는 라인은 색상이 없습니다.

커버리지 정보는 런타임 시 제공된 방법에 따라 섹션으로 그룹화됩니다. 테스트에서는 다음의 커버리지를 업로드할 수 있습니다.

  • 함수당. 섹션 헤더의 형식은 'Coverage: FUNCTION-NAME'입니다.
  • 전부(테스트 실행이 종료될 때 제공됨) 헤더가 'Coverage: All'로 하나만 존재합니다.

대시보드는 오픈소스 Gerrit REST API를 사용하는 서버에서 클라이언트 측 소스 코드를 가져옵니다.

모니터링 및 테스트

VTS 대시보드는 다음과 같은 모니터 및 단위 테스트를 제공합니다.

  • 이메일 알림 테스트. 알림은 2분이라는 고정된 간격으로 실행되는 크론 작업으로 구성됩니다. 크론 작업은 VTS 상태 테이블을 읽어 새 데이터가 각 테이블에 업로드되었는지 확인합니다. 이 작업은 테스트의 원시 데이터 업로드 타임스탬프가 마지막 상태 업데이트 타임스탬프보다 최신인지 확인하는 방식으로 이루어집니다. 업로드 타임스탬프가 최신이면 크론 작업은 현재 원시 데이터 업로드와 마지막 원시 데이터 업로드 간의 새 데이터를 쿼리합니다. 새 테스트 사례 오류, 지속된 테스트 사례 오류, 일시적인 테스트 사례 오류, 테스트 사례 수정, 비활성 상태의 테스트가 확인됩니다. 이 정보는 각 테스트의 가입자에게 이메일 형식으로 전송됩니다.
  • 웹 서비스 상태. Google Stackdriver는 Google App Engine과 통합되어 VTS 대시보드를 간편하게 모니터링할 수 있습니다. 각 페이지, 서블릿 또는 데이터베이스의 지연 시간을 확인하기 위한 다른 테스트를 생성할 수 있지만 간단한 업타임 체크 확인 페이지에도 액세스할 수 있습니다. 이러한 업타임 체크를 통해 대시보드가 항상 액세스 가능한 상태가 되도록 보장됩니다. 액세스 가능한 상태가 아니면 관리자에게 알림이 전송됩니다.
  • 분석. 페이지 구성(pom.xml 파일)에서 유효한 애널리틱스 ID를 지정하여 Google Cloud Analytics와 VTS 대시보드 페이지를 통합할 수 있습니다. 통합하면 페이지 사용, 사용자 상호작용, 지역, 세션 통계 등이 더욱 강력하게 분석됩니다.