Rinda · 앱린다 E2E 전략 · 2026-06-19 · 종합 실측본

AI가 쓴 코드, 누가 검증하나 — AI 자율 QA 하네스 실측

Playwright 2026 AI 생태계(Test Agents·MCP)를 send-grid-test 레포에 직접 적용. 코드화 vs MCP 자율 비교 → MCP 자율 테스트 실측 → planner/generator/healer 하네스 구축까지 전 과정을 측정하고, "QA를 완전히 없앨 수 있는가"에 답합니다.

100%
MCP 자율순회 재현성(3회)
3건
실제 발견·등록 이슈
6/6
하네스 회귀 GREEN·flaky 0
2건
자동 걸러낸 오탐(hallucination)

TL;DR

01 현재 Rinda E2E 진단

인프라·문서·모킹은 상위권, 그러나 테스트 케이스 설계·실행은 100% 수동이었다.

현황수준
아키텍처헥사고날 6포트 → 단일 어댑터 (디자인 변경 시 1곳 수정)🟢
문서/가이드GUIDELINES(345줄)·README·TEST-DESIGN-PLAN🟢
외부 모킹page.route SSE/결정론 응답 8~14파일🟢
트레이스 아티팩트retain-on-failure + 정적서버 URL🟢
Playwright Agentsplanner/generator/healer 보유🟢
변경→코드 자동생성gen-scenarios.mjs JSON → generator spec🟡
API 상태 사전세팅legal-address.ts 상태세팅 헬퍼🟢

02 Playwright 2026 AI 생태계

🎭 Test Agents v1.56+ 내장

Agent역할
Planner앱 탐색 → specs/*.md 계획서
Generator계획 → 실행 가능 spec 코드
Healer실패 재생·진단·패치·반복

npx playwright init-agents --loop=claude

🔌 MCP 서버 @playwright/mcp

LLM이 accessibility tree 스냅샷으로 실제 브라우저를 "보고" 구동 — 스크린샷보다 토큰 효율·결정론.

MS(250K+) 안전 기본값 · playwriter(45K+) shadow DOM 관통·human handoff

03 코드화 vs MCP 자율 — 비용·정확도

A. 테스트 코드화

강점
  • 실행 시 LLM 비용 $0·무한 반복
  • 결정론·flaky 최소
  • CI 게이트 신뢰
약점
  • 작성·유지보수 인건비
  • 상상한 경로만 커버

B. MCP 자율 위임

강점
  • 탐색적 — 미상상 경로·엣지 발견
  • 초안 생성 빠름·Healer 자동수복
약점
  • 실행마다 토큰(~114K/test, CLI의 4배)
  • hallucinated locator·stale tree
항목MCP 자율코드화비고
테스트당 토큰~114K~27KMCP가 accessibility tree 인라인
50-test 계획$4–71회성planner+generator
생성 후 반복매번 토큰$0CI 무한 무료
2026 정설 + MS 공식 권고: 탐색·초안 = AI, 회귀 게이트 = 코드. 자율 실행을 CI 회귀로 그대로 쓰면 비싸고 불안정.

04 MCP 자율 테스트 — 실측 (로컬, 3회 순회)

로그인 → 라우트 자율 수집 → 화면별 accessibility snapshot·스크린샷·콘솔·네트워크·axe 수집 → 시각 분석.

지표결과
속도순회당 78.3초 (편차 <1%), 화면당 13초
정확도(재현성)100% — 13개 이슈 시그니처 3회 전부 동일, flaky 0
성능LCP 415~725ms·TTFB 4~21ms (렌더 양호) / networkidle 미수렴(지속 네트워크)

실제 발견·등록한 이슈 (3회 100% 재현)

#이슈
bug대시보드 "Missing: ready" 번역키 raw 노출 (#8896)
a11ybutton-name(critical 13)·color-contrast(~190)·nested-interactive(11) (#8897)
perf전 화면 networkidle 미수렴 (#8898)
⭐ 오탐 2건 자동 차단 — 사람 검수가 필요한 이유
email-replies·buyer-search·content "빈 화면 버그" → 실제론 존재하지 않는 경로(정상 404), AI가 잘못 짚음.
② 배너 "7월 1일 날짜 불일치" → 저해상도 오독, 실제 "7일 뒤(6월 26일)" 정상.
→ 라우터 코드 대조·고해상도 재확인이라는 검증 게이트가 없었으면 둘 다 그대로 등록됐을 것.

05 하네스 구축 — planner→generator→healer 검증

init-agents 설치 → seed → 최근 sequences 커밋 회귀 → healer 자가수정 → 번인.

seed 인증
3.1s ✓
planner 계획서
specs/
generator spec
생성
healer 6R
자가수정
번인
6/6 ✓

healer 6라운드 — "수정까지" 실증

R진단수정자율?
1화면 영어 렌더locale: ko-KR🟢
2~3dialog가 아닌 alertdialog·비동기role·대기 정정🟢
4모달 영구 차단 = 상태 블로커"API seed 필요" 판정🟡
5~6route HIT하나 무효 → apiFetch envelope {data}patch를 data 레벨에 → 통과🔴
경계가 드러났다: locale·role·타이밍(표면)은 healer가 자율 해결(🟢). 그러나 계정 상태·앱 내부 구조(envelope)는 사람이 로그를 심고 소스를 읽어 규명(🔴). 갭#2(API 상태 세팅)는 legal-address.ts 헬퍼로 해소 → 최종 6 passed·flaky 0.

06 단계별 시간 · ROI

단계시간성과
설치 init-agents~3s9 산출물
seed 통과3.1s로컬 인증 검증
healer 6R 수렴번인 다회4 함정 규명
최종 안정화(workers=2)12.5s6 passed·flaky 0
초기 구축 비용:  높음   (하네스 1회: seed·상태세팅·오버레이)
한계 회귀 비용:  ≈ 0    (CI 무료 반복, 12.5s)
손익분기:        변경 잦은 화면일수록 급격히 유리
                 → sequences(10커밋/월)는 명백히 ROI(+)

07 ★ 핵심 질문에 대한 답

"이제 저희 전체 QA 프로세스를 완전히 제거해도 되는 걸까요? 완전히 덜어낼 수 없는 거면 직접적으로 도움되기 힘들 것 같습니다."
완전 제거: 아직 No 대폭 축소 + 역할 전환: Yes

우리 실측이 보여준 사람이 아직 필요한 3개 지점:

지점실측 근거
① 오탐 검수MCP 자율이 오탐 2건 생성(없는 경로·오독) → 검증 게이트로만 차단
② 도메인·내부지식healer가 상태 블로커·apiFetch envelope는 자율 해결 못 함(사람이 규명)
③ 프로덕션 영향 판단CI green ≠ 안전. 이 PR이 실제 사용자에 주는 영향은 사람 몫
"완전히 못 덜면 도움 안 된다"는 프레임을 바꿔야 합니다. 코딩이 1.5배 빨라지면 검증이 병목이 됩니다(보리스 체르니: "검증 수단을 줘라 = 결과 2~3배"). QA를 없애는 게 아니라, 반복 노동(클릭·회귀·캡처)을 자동화하고 사람을 최종 검수·판단에 집중시켜 처리량을 끌어올리는 것 — 이게 직접적 도움입니다.
"한 주간의 PR 리스트업 기반으로, 잠재 이슈까지 AI Agent가 분석해 테스트케이스를 완전 자율로 만들고, 직접 테스트하는 화면까지 찍어서, 그냥 화면만 쭉 보면서 QA를 검수할 수 있어야 할 것 같습니다."
바로 그 비전 = 이번에 PoC 완료

제시된 단계가 전부 우리가 실측한 것과 매핑됩니다:

주간 PR 리스트업
✓ 실측
gen-scenarios.mjs 변경 파일 카테고리화
AI가 잠재 이슈 분석
✓ 실측
MCP 자율순회로 a11y·i18n 이슈 3건 발견·등록
테스트케이스 자율 생성
✓ 실측
planner→generator로 sequences 회귀 spec 생성
테스트 화면 찍기
✓ 실측
자율순회 스크린샷 + trace + video(retain-on-failure)
화면만 보며 검수
✓ 가능
Playwright HTML 리포트 + Trace Viewer(화면·네트워크·콘솔)
실패 자동 수정
◐ 부분
healer 6R 자율수정 — 표면 문제는 자율, 도메인은 사람
결론: 이 비전은 기술적으로 이미 가능하고 핵심 단계를 이번에 실증했습니다. 남은 "1마일"은 주간 PR 자동 트리거 → CI 통합 → 실패 PR 코멘트 → MCP 네이티브 자동 실행(자가개선 루프 ⑦)으로, 분기 로드맵으로 충분히 닿습니다. QA는 사라지지 않고, "테스트 실행자"에서 "화면 검수자 + 하네스 설계자"로 진화합니다.

권고 로드맵

단계액션상태
1init-agents + seed + API 상태세팅 헬퍼완료
2크리티컬 플로우(sequences 등) 회귀 코드화 확장진행
3주간 PR → gen-scenarios → planner 자동 트리거다음
4CI 실패 → PR 코멘트 + trace 아티팩트 → healer 루프다음
5MCP 네이티브 자동 실행(playwright-test) + 화면 검수 대시보드목표