멀티 에이전트로 테스트 자동화하기: Claude Subagents 실전 적용

소개

안녕하세요,
저는 이번에 Claude 에서 새로 나온 Subagents를 활용하여 테스트를 자동화하는 멀티 에이전트를 적용해보고자 합니다! 대상은 두가지예요.

  • A) 실제 현업 서비스

  • B) 사이드 프로젝트(바이브코딩 기반 구현)

두 케이스 모두에 꽤 유용하게 쓰일 수 있을 것 같아 주제로 선정했습니다 🙂

**테스트 에이전트 작업은 아래 유튜브 클립을 주로 참조하여 진행했습니다.
(https://www.youtube.com/watch?v=u4_AcW96_78)


진행 방법

1. 프레임워크

크게 두 개의 에이전트가 협업합니다.

  • 시나리오 분석 에이전트: 서비스의 주요 사용자 흐름을 분석해 테스트 시나리오(행동·기대결과·테스트 데이터)를 생성합니다. (분석/전략가 역할)

  • 테스트 수행 에이전트: 위 시나리오를 참조해서 병렬로 단위/플로우 테스트를 실행합니다. (수행가 역할)

핵심은 “분석과 실행을 분리”하는 것입니다. 분석 결과물을 표준 형식으로 문서화해두면, 실행 에이전트가 그 문서를 그대로 읽어 테스트를 병렬로 돌릴 수 있어요.

(위 유튜브 영상에서 캡쳐함!)

테스트 프로세스의 다이어그램

2. 에이전트 생성하기

에이전트는 Claude Code에서 직접 만들거나, 프로젝트의 .claude/agents 경로에 MD 파일로 정의할 수 있습니다.

  • 추천 흐름: /agents 명령으로 에이전트를 생성 → 기존에 준비한 프롬프트와 요구사항을 주입해 스캐폴딩

  • 제가 처음엔 MD 파일을 직접 만들었는데, YAML 프론트 정보가 부족해서 동작이 꼬이더라고요. 이 부분은 Claude에게 검수받으며 보완했습니다.

클라우드 에이전트가있는 화면의 스크린 샷

/agents로 새로운 에이전트 생성

파이썬 스크립트의 스크린 샷

기존 에이전트 수정, 생성 등이 가능하며 기존에 만들어둔 파일을 참조하도록 하거나, 새롭게 필요한 에이전트에 대한 요구사항 프롬프트 작성하여 생성하기.


내 프로젝트에 맞는 커스터마이징 하기

먼저 기본 MD파일이 생성되면, 이후 내 프로젝트에 맞게 조금씩 수정해 나가는 작업이 필요 합니다. 유튜브의 예시 에이전트를 그대로 쓰면 프로젝트 맥락이 누락되어 실제 제 프로젝트 테스트중에는 누락되는 시나리오 케이스가 종종 발생하더라고요.

한국 텍스트 편집기의 스크린 샷

따라서 아래와 같은 작업들을 추가로 진행했습니다.

1) 프레임워크 정확히 이해시기켜주기

위 프레임워크를 혹시나 오해할까 싶어, 도식을 참고할 수 있도록 정보를 제공하고 내 프로젝트에 직접적으로 적용할 수 있도록 했어요. (분석/실행 역할 분리 그림(도식)과 테스트 목표·범위를 에이전트 문서 상단에 명시)

2) 테스트 시나리오 구체화 할 수 있도록 하기

테스트 시나리오를 좀 더 구체적이고 정확하게 참고하기 위해,
1) 기프로젝트의 핵심 문서(주요 정책·요구사항·UI 플로우·API 문서)를 모아, 통합 참조 문서.md를 만듭니다.
2) 각 에이전트 MD에 “이 문서를 필수로 먼저 읽고 이후 단계를 수행한다”는 단계를 추가합니다.


3. 테스트 수행

분석 에이전트가 만든 분석 보고서/시나리오를 테스트 수행 에이전트가 병렬 실행하도록 구성했습니다.

  • A 프로젝트(현업): 결과 보고서까지 생성했으나, 테스트 케이스 자체가 적어서 예외 상황 파악이 제한적이었어요.

  • B 프로젝트(사이드): 외부 API 연동이 많은데, API 정보가 부족할 경우

    • 시나리오에 API 검증 단계가 누락되거나

    • 검증을 하더라도 유효 파라미터/스키마를 모르는 문제가 생깁니다.

      => 이러한 경우는 모두 프로젝트 정보가 부족한 것이므로, 추가적인 문서나/설명을 하면서 md파일을 보완해 나가야 하는 과정을 거쳐야 할 것 같아요.

한국 텍스트가있는 페이지의 스크린 샷

발생한 한계들에 대해서는 뒷쪽에서 좀 더 자세히 기재할게요.


4. 테스트 결과 확인

테스트 결과는 마찬가지로 .md파일로 작업해주는데, 이부분도 아직 작업하진 않았지만 필요한 정보로 템플릿화하는 작업은 필요해보입니다. (실제 현업 적용 내용이라 결과보고서 내용도 모두 생략 처리 했습니다 ㅠ_ㅠ) 테스트문서 작성도 좀더 디테일하게 에이전트로 작업해보면 좋을 것 같아요!

# 🚀 E2E 테스트 실행 결과 보고서

> **실행 날짜**: 2025-08-14  
> **테스트 대상**: 경로 
> **테스트 도구**: Playwright (Chromium)  
> **실행 시간**: 12.7초  
> **테스트 상태**: ✅ **PASSED**

---

## 📊 테스트 실행 요약

### **🎯 핵심 검증 항목**
- ✅ 파일 업로드 플로우 전체 검증
- ✅ API 메타데이터 필드 매핑 검증
- ✅ 과목/브랜드 필드 혼동 오류 감지
- ✅ 실시간 오류 모니터링
- ✅ UI 요소 존재 및 기능 확인

### **📈 성과 지표**


### **3. 파일 업로드 요소 확인**
- **파일 업로드 요소**: 1개 발견 ✅
- **가시성**: 정상 표시 ✅
- **접근성**: 상호작용 가능 ✅
- **스크린샷**: `02-file-upload-area.png`

### **4. 제출 버튼 및 UI 요소**
(생략)

## 🌐 API 모니터링 상세 분석

### **API 호출 패턴**
```
총 API 호출: 41회
├── brandlist API: 1회 (브랜드 목록 조회)
├── getCurriBook API: 1회 (교육과정 정보)
├── getProcessingCount API: 1회 (처리 상태 확인)
└── mainListOcrPdfMst API: 38회 (PDF 목록 조회)
```

### **핵심 API 응답 분석**
(생략)
#### **1. 브랜드 목록 API (`/api/system/brandlist`)**
(생략)
#### **2. 처리 상태 API (`/ocr/api/getProcessingCount`)**


**✅ 시스템 상태 확인:**
- 전체 작업 수: 133건
- 완료된 작업: 49건 (37%)
- 진행 중 작업: 84건 (63%)
- 1차 박싱: 28건 완료
- 2차 박싱: 40건 완료
- OCR 변환: 42건 완료

---

## ⚠️ 발견된 이슈 및 권장사항
(생략)
### **1. 현재 시스템 상태**

(생략)

## 🎉 결론

### **✅ 테스트 성공 요약**
1. **파일 업로드 플로우**: 완전 정상 작동
2. **API 메타데이터 검증**: 필드 매핑 오류 0건
3. **UI/UX 기능**: 모든 요소 정상 동작
4. **시스템 안정성**: 100% 안정적 운영

### **🚀 시스템 품질 평가**
```
🏆 종합 평가: A급 (우수)

- 데이터 무결성: A급 (100%)
- API 안정성: A급 (100%) 
- UI 기능성: A급 (100%)
- 성능: B급 (API 호출 최적화 필요)
```

(생략)

`


✅ 한계점

다만 진행하면서 여러가지 한계점이 발견되었어요. 각각의 에이전트가 작업하는것의 컨텍스트를 참조하지 못하다보니, 특히 오류가 발생한 경우 히스토리 파악의 어려움이 발생했습니다.

  • 🚨 컨텍스트 손실: A 에이전트가 분석한 내용을 B 에이전트가 제대로 이해 못함

  • 🚨 테스트 품질 저하 (에러 전파 실패): 한 에이전트에서 실패해도 다음 에이전트가 모르고 진행

  • 🚨 플로우 분기: 의도와 다른 방향으로 흘러가서 완전히 엉뚱한 결과 생성

  • 🚨 매번 수동 업데이트가 필요함

(이미지 설명 : playwrite mcp를 사용하지 않고 초반 세팅부터 수행하거나, 테스트시나리오의 정보가 부족한 문제가 발생)

한국어 화면의 스크린 샷

✅ 해결방법

아직 적용해보지는 않았지만, 다음 스텝에서 다음과 같은 부분을 적용해보고자 해요. 클로드와 문제점에 대해서 대화를 하고, 리서치를 진행하며 얻어낸 결과입니다.

1. 역할별 에이전트 분리 + 전문화

각각의 에이전트 프롬프트를 좀 더 최적화하고, 프로젝트 전체 컨텍스트를 각각의 서브에이전트가 꼭 참조하여 작업할 수 있도록 구조화하는 것입니다.

📁 agents/
  📁 testing_specialists/
    📄 playwright_expert.md     # 플랫폼 테스트 전문가
    📄 api_testing_expert.md    # API 테스트 전문가  
    📄 pytest_expert.md        # 단위 테스트 전문가
  📁 domain_experts/
    📄 aidt_domain_expert.md    # 프로젝트 도메인 전문가
    📄 pdf_processing_expert.md # PDF/OCR 처리 전문가
📁 docs/
  📁 context/
    📄 project_context.md      # 프로젝트 전체 컨텍스트
  📁 tasks/
    📄 task_session_{id}.md    # 각 작업 세션별 컨텍스트

2. 메모리 기반 -> 파일기반 컨텍스트 시스템 구축

각각의 서브에이전트는 작업진행 시, 프로젝트 진행 전, 파일을 먼저 읽어 전체 컨텍스트를 이해하고 작업을 마친 뒤에는 컨텍스트 파일을 업데이트 하여 수행한 단계/연구보고서를 MD파일로 저장하여, 다른 에이전트가 문서를 참조할 수 있도록 하는 것입니다.

(생략)


[참고해야 할 점]

1. Agent가 제대로 병렬 에이전트를 수행 못하는 케이스 있을 수 있으므로 초반에는 모니터링이 필요합니다.
2. 저는 우선 처음부터 '병렬작업'을 수행하기 보다 위 단계들을 모두 끊어서 진행했어요.
시나리오 문서 만들기 -> 1개 기능 단위 테스트 수행하기 -> 추후 시나리오 문서만들기 +병렬 테스트 적용 이런식으로요.

추후 진행예정

  1. 한계점에서 파악한 서브 에이전트의 최적화, 파일기반 컨텍스트 관리체계를 좀 더 디벨롭하고자 합니다.

  2. 이슈 (오류)케이스의 경우 지라 티켓을 직접 생성하여 업로드까지 자동화할수 있도록 에이전트 자동화하려고 합니다. (오류 케이스 → 지라 티켓 자동 생성까지 에이전트로 연결)

  3. 아직 스무스하게 실행되지 않은 병렬 에이전트 테스트 수행작업을 좀 더 테스트해보고자 합니다. (단위까지만 진행)

결과와 배운 점

현업 프로젝트의 경우, 기획 문서를 Cursor/Claude Code로 HTML까지 만들어두어 참조 파일이 명확했기 때문에 시나리오 작성이 훨씬 수월했습니다.
아직 “끝까지 모두 자동화”된 건 아니고 각 작업을 분절해서 진행했지만, 기획·테스트 자동화가 실제로 가능하다는 걸 확인했다는 점에서 의미가 컸어요. 😃

또한 시나리오도, 각 프로젝트에 맞는 정보의 제공과 커스터마이징이 지속적으로 필요하기에 이를 조정하는 작업이 중요하다고 느꼈습니다.

그럼 읽어주셔서 감자합니당

1

👉 이 게시글도 읽어보세요