AI 테스트 도구는 구조를 검증할 뿐, 실제로 사용 가능한지는 검증하지 못한다
요약
AI 테스트 도구는 구조적 검증에는 능숙하지만, 실제 사용자의 의도와 맥락을 파악하는 데는 한계가 있습니다. 이를 보완하기 위해 스킬 파일과 로컬 LLM을 활용하여 사용자 중심의 QA 워크플로우를 구축하는 방법론을 제시합니다.
핵심 포인트
- AI 테스트 도구는 구조적 검증과 커버리지 확보에 특화됨
- 사용자 의도와 맥락을 파악하는 검증은 여전히 인간의 영역
- 스킬 파일을 통해 QA 방법론을 시스템 컨텍스트로 유지 가능
- 로컬 LLM 사용으로 민감한 제품 로직 데이터 보안 강화
- 자동화된 QA와 사용자 중심 QA의 상호 보완적 운영 필요
AI 테스트 도구는 구조를 검증하는 데 능숙합니다. 입력값 수락, 출력값 반환, 내비게이션 경로 도달 가능성, 어설션 (Assertions) 통과 등이 그것입니다. 이는 실제적이고 유용한 검증 범주이지만, 전체 업무를 다 수행하는 것은 아닙니다.
이러한 격차는 스킬 파일 (Skill file)과 로컬 LLM (Local LLM)을 사용하여 1인 AI QA 워크플로우를 구축하는 방법에 관한 QAJourney의 포스트(qajourney.net/ai-qa-workflow-for-real-projects)에 명확히 기록되어 있습니다. 실제 사례를 들어보겠습니다. 결제 기능에서 모든 수락 기준 (Acceptance criterion)을 통과했고, 테스트 스위트 (Test suite)의 모든 테스트도 통과했지만, 정작 기능은 사용할 수 없었습니다. 처음 사용하는 사용자가 무엇이 청구되었는지, 언제 청구되었는지, 혹은 정기 결제인지 여부를 이해할 방법이 없었기 때문입니다. AI 개발자는 티켓 (Ticket)에 적힌 대로 구축했습니다. 하지만 티켓에는 사용자 오리엔테이션 (User orientation) 맥락이 명시되어 있지 않았습니다. 테스트 스위트에는 "이 화면이 이를 작성하지 않은 인간에게도 말이 되는가?"에 대한 테스트가 없었습니다.
그러한 유형의 실패는 자동화된 커버리지 (Automated coverage)에서는 나타나지 않습니다. 이는 인간이 사용자 의도를 가지고 제품을 읽을 때 나타나며, 이는 팀원 중 누군가가 의도적으로 그 작업을 수행할 때만 나타난다는 것을 의미합니다.
해당 포스트의 스킬 파일 시스템은 이러한 작업을 1인 규모에서도 지속 가능하게 만드는 아키텍처입니다. 스킬 파일은 완전한 QA 방법론을 시스템 컨텍스트 (System context)로서 모든 AI 세션에 로드합니다. 여기에는 표면 계층 (Surface tiers), 테스트 경로 (Test paths), 버그 보고 형식 (Bug report format), 심각도 로직 (Severity logic), Playwright 컨벤션 (Conventions), 그리고 AI가 호출하는 것과 호출하지 않는 것에 대한 명시적 정의가 포함됩니다. 이는 매 세션마다 재구성되는 대신 당신과 함께 이동합니다. 로컬 LLM 레이어는 클라이언트 데이터를 제3자 서버에 남기지 않으며, 이는 당신의 업무가 티켓 내의 실제 제품 로직을 다루는 순간 매우 중요해집니다.
시스템이 잘 처리하는 것: 커버리지 매핑 (coverage mapping), 테스트 케이스 생성 (test case generation), 버그 리포트 스캐폴딩 (bug report scaffolding), 엣지 케이스 확장 (edge case expansion), Playwright 스캐폴드 생성 (Playwright scaffold generation). 시스템이 처리하지 못하는 것: 사용자가 제품을 읽는 방식으로 제품을 읽는 것, AI 개발자가 다른 6곳의 레이블 위치를 확인하지 않고 한 컴포넌트의 레이블을 업데이트할 때 발생하는 카피 드리프트 (copy drift) 포착, 실제 사용자가 혼동할 수 있는 방식으로 시각적으로 구별 불가능한 두 가지의 기술적으로 별개인 상태를 식별하는 것.
AI 보조 개발 (AI-assisted development)을 수행하는 모든 팀을 위한 솔직한 프레임워크는 다음과 같습니다: AI 개발자는 이미 자신의 출력물에 대해 자동화된 QA를 실행하고 있습니다. 린터 (Linters), 유닛 테스트 (unit tests), PR(Pull Request)이 열리기 전 생성된 Playwright 스크립트 등이 그것입니다. 당신의 QA 레이어는 에이전트가 남긴 공백을 채우는 것이 아닙니다. 그것은 에이전트가 이미 커버한 레이어 위에서 작동하며, 명세서 (spec)에 기술된 내용이 아니라 실제 사용자가 기대할 내용에 비추어 구축된 것을 테스트하는 것입니다.
이 두 가지 범주의 테스트는 서로 다른 버그를 잡아냅니다. 둘 다 필요합니다. 하지만 그중 하나만 자동화될 수 있습니다. 스킬 파일 (skill file)과 시스템은 자동화될 수 없는 그 하나를 위한 공간을 만듭니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기