
안녕하세요! 카카오페이 QA 찬스입니다.
최근에는 AI가 직접 웹 자동화 테스트를 수행하도록 하는 작업을 열심히 하고 있습니다.
이 과정에서 클로드 코드와 커서의 도움을 많이 받고 있는데요, AI를 일하게 하기 위해 AI를 쓴다니 묘하기도 합니다.
어쨌든, 이번에는 AI에게 자동화 테스트를 수행하면서 오답노트를 쓰도록 했던 경험을 공유해 보겠습니다.

비슷한게 너무 많은데?
먼저 오답노트를 왜 쓰게됐냐면…
AI가 플레이라이트를 통해 전달받은 html을 볼 때, 비슷해 보이는 요소가 많다는 문제가 있었습니다.
예를 들어, AI가 <”로그인“ 버튼을 클릭한다.> 라는 스텝을 수행하려고 할 때, AI는 전달 받은 html의 내용을 읽습니다.
그런데 html 문서 안에는 로그인 기능을 할 것 처럼 보이는 요소들이 너무 많았던 거죠.
예를 들어 아래와 같은 요소들이 페이지에 있을때 사람은 직관적으로 시도해볼 수 있지만, AI는 가능성 있는 요소를 모두 후보로 올렸습니다.
<button type="submit" class="submit-btn">ID와 PW를 입력하고 클릭해보세요!</button>
<button type="submit" class="hidden-submit" aria-label=""></button>
<button type="button" class="submit-btn" onclick="closeModal()">
<span class="icon-x"></span>
</button>
(그냥 예시입니다.)
혹은, li 목록 안에 있는 항목들 중 특정 요소를 클릭해라! 라는 스텝을 수행할때도, html 문서 상 비슷해 보이는 요소를 여러개 찾아와 하나하나 분석하곤 했습니다.
이 과정이 AI가 수행하는 자동화 테스트의 병목이 되더라구요.

아, 이래서 공부할때 오답노트 쓰라고 했구나.
그래서 AI에게 오답노트를 작성하도록 구현했습니다.
사실 동작 방식을 보면 오답노트라기보다 정답지가 더 맞기는 합니다만, 처음에 오답노트라고 불렀더니 입에 붙어버렸습니다.
AI가 처음 수행하는 케이스에서 비슷한 여러 요소를 찾게 되면, 하나씩 분석을 합니다.
그리고 그중에 정확한 요소를 찾아내게 되죠.
이때, AI(와 파이썬으로)에게 오답노트를 작성하게 시켰습니다.
예를 들어, 서비스 로그인에 성공했던 로케이터와 셀렉터를 이렇게 적어두게 한 것이죠.
const loginButton = page.locator('button.auth-btn[type="submit"]');
AI에게 입력하는 TC에는 서비스, 페이지 열이 있는데요.
만약 해당 TC의 서비스가 “결제”, 페이지가 “결제 바코드” 였다면,
오답노트는 결제_오답노트.md 와 같은 파일명으로 만들어지고, ###결제 바코드 라는 헤더로 페이지를 구분하고 있습니다.
그래서 만약 AI가 수행하고 있는 페이지가 결제 서비스의 로그인 페이지일 때, 또 같은 문제가 발생하면 그때는 모든 오답노트 데이터를 읽어들이지 않고, 해당 서비스와 페이지의 데이터만 읽도록 할 수 있었습니다.

그래서
AI가 테스트하고 있는 서비스와 페이지의 오답노트가 이미 작성된 상태일때는, 테스트를 수행할때 html이 아니라 오답노트를 읽으면서 수행하도록 했어요.
이 과정에서 토큰 비용도 굉장히 많이 줄일 수 있었습니다.
매번 html을 파싱해서 읽게 하지 않고, 이미 찾아둔 요소를 쓰게 했으니까요.
그리고 만약 오답노트 내용이 더이상 유효하지 않다면 html을 다시 읽어서 업데이트하라고 했습니다.
그랬더니
오답노트가 없었을 때 3분 36초가 걸리던 케이스가
오답노트를 작성한 뒤엔 2분 38초만에 수행을 완료하는 결과를 볼 수 있었습니다.
☺️

마무리
아직 간단한 케이스만 몇개 수행해본 상태이고 실험중인 내용이지만
AI를 이용해 자율형 테스트를 하는 부분들은 이미 활발하게 진행되고 있다고 알고있습니다.
저도 이 과정에서 AI의 생각의 과정을 로그로 많이 내뱉도록 하고 있는데요,
AI가 인간이 쓴 TC를 이해하는 과정과 테스트 대상과 기대결과를 인식하는 과정을 읽어보면
신기하기도 하면서 무서운 생각도 듭니다.
’나 아직 살 날이 많이 남았는데..‘ 하면서요… AI에게 밀리지 않는 것은 어려울 것 같으니 생산성 향상에 잘 쓰는 사람이라도 되어보려고 합니다.😂
오늘은 AI에게 테스트를 시키는 그 자체보다도, 그 과정에서 겪는 문제를 콕 집어 해결해본 경험을 공유드렸습니다!
감사합니다.
'자동화' 카테고리의 다른 글
| AI는 8할이 프롬프트라.. (0) | 2025.10.11 |
|---|---|
| Python을 이용해 Builder 패턴으로 API 자동화 테스트 코드 구성하기 (1) | 2025.04.29 |
| AI 기반 자가 치유형 Selenium 자동화 테스트 (0) | 2025.03.13 |
| 생성형 AI로 모의 이력서 테스트 데이터 만들기 (0) | 2025.01.10 |
| 생성형 AI로 체크리스트를 만들어보기 (1) | 2024.10.04 |