본문으로 이동
쉼 없이 도는 테스트, 사람이 어디까지 돌봐야 할까요? - 토스닥터(Toss Doctor)
문서

쉼 없이 도는 테스트, 사람이 어디까지 돌봐야 할까요? - 토스닥터(Toss Doctor)

강연신/안재은/한가영 · 토스 · 토스 기술 블로그

원본 보기

소개

스스로 만들고 고치는 자동화, 토스닥터 V2를 다시 만든 이야기

AI 핵심 요약

매주 쌓이는 RC 빌드마다 반복하던 핵심 흐름의 수동 스모크 테스트를 줄이기 위해, 토스 QA Platform 팀은 토스닥터 V2를 다시 설계했습니다. 사람은 Gherkin 시나리오로 검증 의도를 적고 LLM과 Appium MCP가 실행 코드를 만들며, 스마트파인더는 화면을 가리는 요소를 처리하고 실패 분석 결과에 따라 복구 가능한 locator 오류 등을 자동으로 수정합니다. 서버는 실기기 설치부터 테스트 실행, 스텝별 실패 대응과 결과 전달까지 양방향으로 연결하고, 검증 단계에서는 유사 요소를 대신 인정하지 않아 거짓 성공을 막습니다. 이 구조는 한국어 BDD와 self-healing을 활용하는 토스체커의 기반이 됐으며, 사람은 반복 실행보다 검증 범위와 자동화 기준을 설계하는 데 집중할 수 있다는 점을 보여줍니다.

  • 테스트 의도를 Gherkin의 Given-When-Then 시나리오로 작성하고, 코드 생성은 LLM과 Appium MCP에 맡길 수 있다.
  • UI 탐색은 화면에 보이는 정보부터 확인하고, 실패할 때만 전체 XML을 살펴보는 단계적 접근으로 비용을 줄인다.
  • 요소를 찾지 못했을 때 팝업 같은 화면 방해 요소는 제거하되, 검증 단계에서 비슷한 요소를 대신 눌러 거짓 성공을 만들지 않도록 한다.
  • 실패 분석에는 오류 화면뿐 아니라 직전 스텝의 화면도 함께 활용해 원인을 추적하고, 코드로 고칠 수 있는 실패만 자동 복구한다.
  • 테스트 실행 중 서버와 테스트 프로세스가 스텝 단위로 양방향 통신하면, 실패 대응과 결과 전달을 실행 흐름에 연결할 수 있다.