대화 테스트를 사용하면 엔드투엔드 대화형 흐름을 시뮬레이션하여 대화 작업을 평가하거나 회귀 테스트를 수행할 수 있습니다. 테스트 케이스를 만들어 다양한 비즈니스 시나리오를 캡처한 후 나중에 실행하여 봇의 성능을 검증할 수 있습니다.
테스트 케이스
테스트 케이스는 대화형 흐름을 캡처하는 일련의 테스트 단계로 구성됩니다. 각 테스트 단계는 단계 번호, 테스트 입력, 예상 출력, 실제 출력, 테스트 결과의 조합입니다. 단계#는 실행 순서를 정의합니다. 테스트 입력은 대화의 사용자 메시지 부분을 나타냅니다. 예상 출력은 봇에서 예상되는 봇 메시지를 나타냅니다. 실제 출력은 테스트 실행 중 봇의 응답을 나타냅니다. 플랫폼은 실제 출력을 예상 출력과 비교하여 평가하고 테스트 단계의 통과 여부를 결정합니다. 테스트 결과는 실제 출력이 예상 출력과 동일한지 여부를 나타냅니다. 테스트 결과는 통과, 실패, 또는 실행되지 않음일 수 있습니다.
테스트 케이스 생성
새 테스트 케이스는 ‘봇과 대화’를 사용하는 동안 대화를 기록하여 생성할 수 있습니다. 새 테스트 케이스를 생성하려면 다음 단계를 따르세요.
1단계: 화면의 오른쪽 하단 모서리에 있는 아이콘을 클릭하여 ‘봇과 대화’를 시작합니다. ‘봇과 대화’는 플랫폼의 모든 모듈에서 실행할 수 있습니다.
2단계: ‘대화 기록’을 클릭하여 테스트 케이스의 일부가 될 메시지의 기록을 시작합니다.
3단계: 관련 사용자 메시지를 입력하여 봇과 인터렉션합니다.
4단계: 새 테스트 케이스를 생성하려면, ‘기록 중지’를 클릭한 다음 ‘테스트 케이스 생성’을 클릭합니다.
5단계: 다음 화면에서, ‘테스트 케이스 이름’, ‘설명’ 및 ‘태그’와 같은 필요한 세부 정보를 추가하고 ‘추가’를 클릭합니다.
6단계: 대화 테스트 모듈로 이동하여 추가된 테스트 케이스를 실행하거나 동일한 단계를 수행하여 다른 테스트 케이스를 추가합니다.
태그
태그는 테스트 케이스를 분류하고 정리하는 데 도움이 됩니다. 테스트 케이스 생성 시 또는 테스트 케이스 속성의 ‘일반 설정’에서 태그를 추가할 수 있습니다.
일반 설정
테스트 케이스가 생성된 후, 오버플로 메뉴의 ‘일반 설정’에 액세스할 수 있습니다. 일반 설정에는 편집 가능한 속성이 몇 가지 있으며 보기 전용 속성이 일부 있습니다.
다음 속성을 편집할 수 있습니다.
- 테스트 케이스 이름
- 테스트 케이스 설명
- 테스트 케이스 태그
또한, 다음 속성을 볼 수는 있지만 편집할 수는 없습니다.
- 테스트 케이스 생성 날짜 및 시간
- 테스트 케이스를 생성한 사용자의 이름
- 마지막으로 업데이트한 날짜 및 시간
- 테스트 케이스를 마지막으로 업데이트한 사용자의 이름
테스트 케이스 실행
다음 단계에서는 테스트 케이스 실행 방법 및 실행에 따른 자세한 분석 보고서를 얻는 방법을 안내합니다. 1단계: 실행하려는 테스트 케이스를 선택합니다. 2단계: ‘테스트 케이스 실행’을 클릭하여 실행을 시작합니다. 3단계: 그런 다음, 테스트하려는 봇의 버전을 선택해야 합니다. 선택한 버전에 따라, 봇이 테스트 케이스의 일부가 될 서비스 호출을 수행하기 위해 유효한 권한 부여 토큰이 있는지 확인합니다. 4단계: 마지막 결과 열에서 테스트 케이스의 실행 및 상태 도커의 진행 상황을 모니터링할 수 있습니다. 5단계: 테스트 케이스 실행이 끝나면, 테스트 케이스를 클릭하여 실행 기록을 볼 수 있습니다. 6단계: 나열된 테스트 실행 중 하나를 클릭하여 테스트 실행에 대한 세부 정보를 봅니다. 테스트 케이스는 비동기로 실행됩니다. 즉, 여러 테스트 케이스를 선택한 경우에도, 순차적으로 실행됩니다. 실행이 완료되기 전에 테스트 실행을 취소할 수 있습니다. 테스트 케이스 실행이 시작되면, 플랫폼은 하나 이상의 테스트 단계가 실패한 경우에도 테스트 케이스를 계속 실행합니다. 그러나, 테스트 실행이 60초 이상 테스트 단계에서 멈추면 플랫폼은 시간 초과로 실행을 중단하게 됩니다.
테스트 결과 해석하기
모든 테스트 실행에 대한 다음의 세부 정보는 저장됩니다.
- 실행 완료 날짜 및 시간.
- 테스트 케이스가 개발 중인 버전의 봇 또는 게시된 버전의 봇에 대해 실행되었는지 여부를 나타내는 버전 유형.
- 실행 결과를 나타내는 실행 결과. 테스트 케이스는 테스트 단계 중 적어도 하나가 실패한 경우 실패한 것으로 처리됩니다.
- 실행 시간은 총 실행 기간을 나타냅니다.
- 테스트 단계 세부 정보는 통과, 실패 또는 실행되지 않은 단계를 나타냅니다.
- 실행 오류 세부 정보는 사용자가 테스트 케이스를 중단하거나 오류로 인해 테스트 단계가 시간 초과되어 테스트 실행을 완료할 수 없는 경우에만 표시됩니다.
제한
다음 모듈은 현재 버전의 대화 테스트로 테스트할 수 없습니다.
- 디지털 양식
- 콘텐츠 변수 또는 컨텍스트 변수가 사용되는 동적으로 생성된 봇 메시지.
Test Runner 도구
기록된 테스트 케이스를 JSON으로 다운로드할 수 있습니다. 이 JSON 파일은 Kore Github 저장소에서 제공하는 Test Runner와 함께 사용하여 동일한 대화로 봇을 테스트할 수 있습니다. 이 도구는 브랜치를 포크하고 요구 사항에 따라 변경을 수행할 수 있는 오픈 소스 코드입니다. 핵심 포인트
- 봇과 대화하는 동안 언제든지 기록을 시작하거나 중지할 수 있습니다.
- 전체 대화는 테스트 케이스로 저장됩니다.
- 테스트 케이스를 나누어 테스트 스위트를 생성하려는 경우, 대화 중에 “모두 지우기” 명령어를 사용하여 달성할 수 있습니다. “모두 지우기” 전의 대화는 테스트 케이스로 저장되고 이후 대화는 다른 테스트 케이스로 저장됩니다. 두 테스트 케이스 모두 테스트 스위트 형태로 단일 파일로 저장됩니다. 요구 사항에 따라 필요한 만큼의 테스트 케이스로 대화를 나눌 수 있습니다.
- 전체 대화는 JSON 파일에 저장되며 기록이 끝나면 다운로드할 수 있습니다.
테스트 도구는 JSON 파일의 사용자 입력을 사용하여 봇과 대화하고 봇 응답과 기록된 봇 응답을 비교합니다. 결과는 테스트 결과 스프레드시트에 기록되며, 개발자 입력과 실제 결과 및 예상 결과, 테스트 실행 상태(통과 또는 실패)를 포함한 테스트 실행에 대한 종합적인 보고서를 제공합니다. 이 스프레드시트를 사용하여 실패한 테스트 케이스를 보고하고, 추적하고, 다시 테스트할 수 있습니다. Test Runner에 대한 자세한 내용은 Kore Github를 참조하세요.