11
사람의 한계가 장애가 되지 않도록, 반복은 시스템이 책임져야 한다.
단위 테스트가 ‘하나의 대화 흐름’을 검증하는 일이라면, 통합 테스트는 그 흐름들이 서로 연결되어 실제 서비스처럼 작동하는지를 확인하는 단계다.
문제는, 이 단계에서 복잡도가 폭발적으로 증가한다는 점이다.
시나리오는 하나지만, 사용자의 말은 수백 갈래로 뻗어 난다.
예를 들어 자동차 고장 접수만 봐도 이렇다.
- 처음부터 차량번호를 말하는 고객
- 차량번호가 조회되지 않아 주민번호로 넘어가는 고객
- 다시 차량번호를 떠올려 되돌아오는 고객
- 처음엔 고장 접수였다가 “아, 그냥 문의하려던 건데요.”라며 말을 바꾸는 고객
이렇게 분기가 늘어날수록 테스트는 기하급수적으로 불어난다.
100개가 500개가 되고, 어느새 1,000개를 넘는다.
모니터 앞에는 커피잔과 과자 봉투가 쌓이고, 로그는 끝없이 스크롤된다.
그리고 누군가 중얼거린다.
“이걸 정말 사람이 다 해야 해?”
사람이 직접 테스트하는 데에는 분명한 장점이 있다.
미묘한 뉘앙스를 읽고, 예상치 못한 오류를 잡아낸다.
하지만 그 장점은 ‘반복’이 시작되는 순간 급격히 희미해진다.
수백 번의 동일한 검증을 반복하면, 가장 먼저 무너지는 건 실력이 아니라 주의력이다.
오류의 대부분은 무능에서가 아니라, 피로에서 시작된다.
이건 개인의 문제가 아니라 구조의 문제다.
집중력 하나로 버티는 구조는 오래가지 못한다.
그래서 반복은 사람이 아니라 시스템이 맡아야 한다.
사람이 해야 할 일은 ‘반복’이 아니라 ‘판단’이다.
반복을 시스템이 대신하려면, 구조부터 바꿔야 한다.
시나리오(핵심 대화 흐름)와 테스트 케이스(상황별 분기)를 나누면, 사람이 아닌 시스템이 반복을 담당할 수 있는 기반이 생긴다.
예를 들어 자동차 사고 접수 테스트 케이스를 이렇게 정리한다.
이렇게 정리하면 케이스 전체를 한눈에 볼 수 있고, 자동화나 반복 테스트가 필요한 패턴도 쉽게 식별된다.
사람의 역할은 케이스를 설계하는 일이고, 시스템의 역할은 그 케이스를 반복 실행하는 일이다.
즉, 반복의 주체가 바뀌는 순간, 사람의 집중력은 문제를 찾는 일에, 시스템의 리소스는 반복을 대신하는 일에 쓰이게 된다.
보이스봇 테스트는 크게 두 축으로 진행된다.
텍스트로 논리를 검증하는 챗테스트(Chat Test)와 음성으로 경험을 검증하는 콜테스트(Call Test).
보이스봇 솔루션에는 대부분 CLI(Command Line Interface) 형태의 테스트 기능이 있다.
마치 채팅창처럼 문장을 입력하면, 시스템이 어떤 응답을 반환하는지 바로 확인할 수 있다.
이 기능은 시나리오의 입력과 응답 로직을 빠르게 점검하는 데 유용하다.
- 사전 정의된 발화를 순차 입력
- 시스템 응답이 예상과 일치하는지 즉시 확인
- 테스트 로그 저장 및 오류 케이스 수집 가능
테스트 결과는 아래처럼 구조화해 관리하면 좋다.
테스트 ID – 발화 문장 – 예상 응답 – 실제 응답 – Pass/Fail
이렇게 정리된 결과는 다음 테스트에서 재검증 가능한 자산이 된다.
챗테스트는 사람이 보기 위한 보고서가 아니라, 시스템이 반복 실행할 수 있는 테스트 데이터여야 한다.
텍스트로 논리를 점검했다면, 이제는 ‘소리의 세계’, 즉 음성 경험을 검증할 차례다.
보이스봇은 이름 그대로, 목소리로 작동하는 서비스다.
텍스트에서는 완벽하던 시나리오도, 실제 음성 환경에서는 전혀 다른 결과가 나올 수 있다.
콜테스트는 STT(음성 인식), TTS(음성 합성), 네트워크, 응답 속도 등 대화 전체의 품질을 검증하는 마지막 관문이다.
주요 테스트 포인트는 다음과 같다.
- 음성 품질: 끊김·잡음 여부
- STT 정확도: 인식 오류 비율
- TTS 자연스러움: 발음·억양·전달력
- 응답 속도: 지연으로 인한 딜레이 발생률
- 시스템 연동: 조회·인증·DB 저장 등 백엔드 정상 작동 여부
- 예외 대응: 무응답·중복 발화·끊김 등 대응의 일관성
콜테스트는 단순히 기술을 점검하는 과정이 아니다.
고객이 응답을 들었을 때 “이 시스템이 내 말을 이해하고 있다”라고 느끼는가.
그것까지 확인하는 경험 검증의 단계다.
결국 대화의 품질은 기술의 정확도가 아니라, 고객이 얼마나 ‘이해받았다고 느끼는가’에 달려 있다.
보이스봇 프로젝트 후반부의 가장 큰 고충은 이거다.
“수정 하나 반영했더니, 전부 다시 테스트해야 해요.”
그래서 사람들은 점점 보수적으로 변한다.
괜히 건드렸다가 테스트 폭탄을 맞을까 봐.
하지만 시스템이 반복을 대신하는 구조를 갖추면 이야기는 달라진다.
케이스별 자동 재수행 구조가 만들어지면, 사람은 더 이상 반복의 노예가 되지 않아도 된다.
자동화는 효율의 도구가 아니라 사람을 보호하는 안전장치다.
피로에서 오는 실수를 막고, 집중력을 회복하게 한다.
그렇게 구조가 사람을 지켜줄 때, 고객은 안정적인 경험을, 상담사는 인간만이 할 수 있는 일에 몰입할 수 있다.
결국 반복은 시스템의 일이고, 판단은 사람의 일이다.
한 줄 요약
반복은 사람의 몫이 아니다.
사람의 실수를 막는 일, 그건 시스템의 책임이다.