클로드 코드(Claude Code)로 E2E 테스트 자동화: Playwright Test Agents 완벽 활용법 (ft. 병렬 실행)¶
혹시 오늘도 깨진 테스트 코드 수정하느라 야근 각 잡고 계신가요? 😅 안녕하세요, 원스입니다. 😊
개발자에게 가장 귀찮은 일을 하나 꼽으라면 저는 주저 없이 'E2E(End-to-End) 테스트 코드 작성'을 꼽겠습니다. 중요성은 알지만, 비즈니스 로직 짜기도 바쁜데 테스트 시나리오까지 하나하나 챙기려면 시간이 턱없이 부족하죠. 😓 그런데 만약 나와 똑같은 실력을 가진 AI 개발자 여러 명을 동시에 소환해서 일을 시킬 수 있다면 어떨까요?
오늘은 제가 최근 푹 빠져 있는 클로드 코드(Claude Code)의 '서브 에이전트(Sub-Agent)' 기능을 통해, 지루한 E2E 테스트 작업을 10배 빠르게 끝내는 방법을 공유해 드리려 합니다. AI 비서 한 명이 아니라 'AI 군단'을 지휘하는 셈이죠.
1. 왜 '서브 에이전트'인가? (Context Window의 한계)¶
보통 챗GPT나 클로드 같은 AI에게 코딩을 시킬 때, 대화가 길어지면 애가 점점 멍청해지는(?) 경험, 다들 있으시죠?
이건 컨텍스트 윈도우(Context Window), 즉 AI의 기억 용량이 꽉 차버리기 때문입니다. 메인 채팅창 하나에서 기획, 코딩, 수정까지 다 하려고 하니 과부하가 걸리는 거죠. 지금까지 우리가 쓰던 AI 코딩 툴은 똑똑한 '개인 비서'였습니다. 일을 하나 시키고, 끝나길 기다리고, 다시 시키는 직렬 방식이었죠.

▲ 메인 AI가 여러 개의 서브 에이전트로 분산되어 작업하는 개념도
서브 에이전트는 메인 AI의 기억을 잡아먹지 않습니다. 메인 AI가 직접 일하는 게 아니라, 필요할 때마다 독립된 '뇌(Brain)'를 가진 작은 AI들이 생성되어 각자의 임무만 수행하고 사라집니다. 마치 팀장이 팀원들에게 업무를 분배하는 것과 똑같죠. 덕분에 메인 AI는 항상 맑은 정신을 유지할 수 있습니다.
2. 나만의 AI 개발팀 구축하기: Plan - Gen - Heal¶
제가 이 기능을 활용해 영화 정보 사이트의 Playwright 테스트를 짤 때, 마치 팀장처럼 역할을 나누어 지시했습니다. 이른바 '3단 콤보 시스템'입니다.
📌 짚고 갈 점: 여기서 말하는 플래너·제너레이터·힐러 3역할은 제가 임의로 고안한 게 아니라 Playwright가 공식으로 제공하는 Test Agents입니다.
npx playwright init-agents --loop=claude명령 한 줄로 설치되며, 이 에이전트들을 Claude Code로 구동하는 것이에요. 즉 Claude Code 자체의 서브에이전트(subagents) 기능과는 별개의 개념입니다.
🕵️ 1단계: 플래너(Planner) - "설계도 가져와"¶
먼저 플래너 에이전트를 투입합니다. 얘는 코드를 짜지 않아요. 대신 브라우저를 띄워 웹사이트를 샅샅이 뒤집니다. "여기선 버튼 클릭 테스트가 필요하고, 저기선 필터링 검증이 필요하겠군"이라며 완벽한 테스트 시나리오(Test Spec)를 문서(Markdown)로 작성해 옵니다. 기획자 역할인 셈이죠.
🏭 2단계: 제너레이터(Generator) - "무한 생산 시작"¶
이제 플래너가 가져온 설계도를 바탕으로 코더들을 소환합니다. 여기서 핵심은 '한 명'이 아니라는 점입니다. 수십 개의 테스트 케이스를 동시에 작성할 수 있도록 다수의 에이전트가 병렬로 투입됩니다. 실제 코드를 작성하는 개발자 역할입니다.
🚑 3단계: 힐러(Healer) - "수술 집도합니다"¶
아무리 AI라도 실수는 합니다. 테스트가 실패하면? 제가 로그를 뒤지는 게 아니라 힐러 에이전트를 보냅니다. 의사 선생님처럼 실패한 코드만 딱 집어내서 원인을 분석하고 디버깅해 고쳐놓는 유지보수 담당자입니다.
💡 원스의 꿀팁: 그룹핑(Grouping)이 핵심!
단순히 역할을 나누는 것만으론 부족합니다. 여러 에이전트가 동시에 작업할 때 서로 데이터가 꼬이지 않도록, '의존성이 없는 시나리오끼리 그룹핑'해달라고 요청하세요. 이 과정이 있어야 진정한 병렬 처리가 가능해집니다.
3. 병렬 처리의 마법: 속도가 깡패다¶
사실 서브 에이전트의 꽃은 바로 '병렬 처리(Parallel Processing)'입니다.
예를 들어 50개의 테스트 시나리오가 있다고 칩시다. 이걸 사람이나 단일 AI가 순서대로 짜면 하세월입니다. 하지만 클로드 코드에서는 의존성(Dependency)이 없는 작업끼리 그룹화하여 동시에 돌려버립니다.
- 기존 방식: 1번 테스트 작성 → (완료) → 2번 테스트 작성 → ... (총 100분 소요)
- 서브 에이전트: 1~10번 테스트 동시 작성 (총 10분 소요 🚀)

▲ 여러 에이전트가 병렬로 브라우저를 띄우고 테스트를 수행하는 모습을 표현한 이미지입니다.
※ 위 이미지는 이해를 돕기 위한 AI 생성 일러스트이며, 실제 실행 화면이 아닙니다.
실제로 제 경험을 말씀드리면, 플래너가 시나리오를 12개 그룹으로 나누자 저는 클로드에게 "이 12개 그룹을 각각 다른 에이전트에게 맡겨서 동시에 코드를 작성해"라고 명령했습니다. 그 순간 터미널에 12개의 브라우저 창이 타다닥 뜨면서 서로 다른 테스트를 동시다발적으로 수행하는 장관이 펼쳐졌죠. 순차적으로 했다면 5시간은 걸렸을 작업이 커피 한 잔 마시는 30분 사이에 끝나버렸습니다. "Pass" 로그가 초록색으로 촤르륵 찍힐 때 느끼는 묘한 카타르시스는 덤이고요. 😎
💡 원스의 개발 노트: 코더에서 지휘자로
이 기능을 써보면서 저는 단순한 '도구의 발전' 이상의 의미를 느꼈습니다. 바로 개발자의 역할 정의가 바뀌고 있다는 점입니다.
과거에는 Syntax를 외우고 타이핑을 빨리하는 게 중요했습니다. 하지만 이제 우리는 '타이퍼(Typer)'가 아닌 '아키텍트(Architect)'가 되어야 합니다. 어떤 에이전트에게 어떤 일을 시킬지 결정하는 '구조 설계 능력'과, 여러 에이전트가 충돌하지 않게 조율하는 '매니지먼트 능력'이 훨씬 중요해졌습니다.
특히 의존성 관리가 핵심입니다. 로그인 테스트가 끝나야 장바구니 테스트를 할 수 있는데, 이걸 무작정 병렬로 돌리면 다 깨지겠죠? AI에게 "이건 같이 돌려도 되고, 저건 순서대로 해야 해"라고 명확히 가이드해주는 능력, 이게 바로 앞으로 우리 개발자들이 가져야 할 경쟁력 [시스템적 사고]가 아닐까 싶습니다.
"개발자는 이제 직접 삽질을 하는 사람이 아니라, 삽질을 잘하는 AI들을 관리하는 감독관이 되어야 합니다."
오늘의 요약¶
Playwright 공식 Test Agents(플래너·제너레이터·힐러)를 클로드 코드로 구동하면 기획(Plan), 작성(Gen), 수정(Heal)을 분업화하고 병렬로 처리하여 생산성을 극대화할 수 있습니다.
이웃님들은 AI 코딩 도구를 어디까지 활용해 보셨나요? 단순 비서로만 쓰고 계셨다면, 이번 기회에 '팀장'이 되어보는 건 어떨까요?
참고 자료 및 출처¶
본 포스팅은 클로드 코드(Claude Code)와 Playwright Test Agents의 최신 기능을 직접 분석·사용해 작성되었으며, 원스의 개인적인 견해가 포함되어 있습니다.
기술적 세부 사항은 업데이트에 따라 변경될 수 있으니 Playwright 공식 문서를 참고해주시기 바랍니다.