Claude Desktop에 MCP 서버 5개를 직접 연결했습니다.
TC 생성 → E2E 테스트 → GitHub 커밋 → Notion 문서화 → Slack 알림 → Jira 트래킹까지.
위 파이프라인이 실제로 동작하는 코드입니다. MCP가 자동으로 생성하고 GitHub에 커밋한 파일을 직접 확인할 수 있습니다.
| TC-ID | 구분 | 테스트 제목 | 기대 결과 | 우선순위 | |
|---|---|---|---|---|---|
| AUTH-001 | 해피패스 | 유효한 자격증명으로 로그인 | /dashboard 리다이렉트 | P1 | |
전제조건: 가입된 계정 존재 스텝: 이메일·비밀번호 입력 → 로그인 버튼 클릭 기대 결과: /dashboard로 리다이렉트, 세션 토큰 발급 확인 | |||||
| AUTH-007 | 네거티브 | 5회 로그인 실패 후 계정 잠금 | 계정 잠금 또는 인증 요청 | P1 | |
전제조건: 잘못된 비밀번호 준비 스텝: 오류 비밀번호로 5회 연속 로그인 시도 기대 결과: 5회 초과 시 계정 잠금 메시지 노출, 추가 시도 차단 | |||||
| PAY-012 | 엣지케이스 | 다중 상품 + 할인 소수점 오차 | 합산 후 할인 1회, 오차 0원 | P1 | |
전제조건: 소수점 단가 상품 3종, 할인쿠폰 1매 스텝: 장바구니 담기 → 쿠폰 적용 → 결제 기대 결과: 할인은 최종 합산 후 1회만 적용, 소수점 반올림 오차 0원 | |||||
| PAY-HP-001 | 해피패스 | 정상 카드로 결제 완료 | 주문 완료 페이지 이동, 이메일 발송 | P1 | |
전제조건: 결제 테스트 카드 준비 스텝: 장바구니 → 결제 페이지 → 테스트 카드 입력 → 결제 완료 기대 결과: 주문 완료 페이지 이동, 주문번호 생성 확인 | |||||
| PAY-N-005 | 네거티브 | 잔액 부족 카드 결제 시도 | 결제 실패 메시지, 주문 미생성 | P1 | |
전제조건: 잔액 부족 테스트 카드 준비 스텝: 잔액 부족 카드로 결제 시도 → PG사 응답 확인 기대 결과: 결제 실패 메시지 노출, 주문 미생성 확인 | |||||
| API-S-006 | 엣지케이스 | 특수문자 / SQL 패턴 검색 | 안전 처리된 결과 (500 없음) | P1 | |
전제조건: 검색 API 엔드포인트 접근 가능 스텝: SQL Injection 패턴 입력 → 특수문자 조합 입력 → 응답 확인 기대 결과: 500 에러 없음, DB 데이터 노출 없음 | |||||
| SEC-N-002 | 네거티브 | 만료된 JWT 토큰으로 API 호출 | 403 Forbidden, 데이터 노출 없음 | P1 | |
전제조건: 만료된 JWT 토큰 보유 스텝: 만료 토큰 Authorization 헤더에 삽입 → 보호된 API 호출 기대 결과: 403 Forbidden 확인, 데이터 노출 없음 | |||||
| CART-001 | 해피패스 | 상품 장바구니 추가 | 장바구니 아이콘 숫자 +1 | P1 | |
전제조건: 로그인 상태, 상품 상세 페이지 접근 가능 스텝: 상품 상세 → 장바구니 담기 → 헤더 아이콘 확인 기대 결과: 장바구니 아이콘 +1, 수량·가격 정확히 반영 | |||||
| SEARCH-N-001 | 네거티브 | 검색 결과 0건 빈 상태 표시 | "결과 없음" 메시지 노출, 500 없음 | P2 | |
전제조건: 존재하지 않는 키워드 준비 스텝: 없는 키워드 입력 → 검색 실행 기대 결과: "결과 없음" 문구 노출, 500 에러 없음 | |||||
| AUTH-N-008 | 네거티브 | 세션 만료 후 보호 페이지 접근 | 로그인 페이지 리다이렉트, 401 | P1 | |
전제조건: 만료된 세션 토큰 보유 스텝: 세션 만료 처리 → 보호된 URL 직접 접근 기대 결과: 로그인 페이지 리다이렉트, 401 Unauthorized | |||||
| NOTIF-E-003 | 엣지케이스 | 저속 네트워크(3G) 알림 중복 발송 | 알림 1회만 수신, 중복 없음 | P2 | |
전제조건: 3G 네트워크 스로틀링 설정 가능 스텝: 3G 시뮬레이션 활성화 → 알림 트리거 실행 기대 결과: 알림 1회만 수신, 중복 없음 | |||||
| TC-CICD-HP-001 | 해피패스 | TC push 시 Actions 자동 트리거 | workflow run 생성 확인 | P1 | |
전제조건: GitHub Actions qa-notify.yml 설정 완료 스텝: testcase_*.md 파일 push → Actions 탭 확인 기대 결과: workflow run 자동 생성, Slack 알림 자동 발송 | |||||
| ACCESS-HP-001 | 해피패스 | 키보드만으로 전체 폼 입력·제출 | Tab 순서 정상, Enter 제출 동작 | P2 | |
전제조건: 마우스 비활성화 환경 스텝: Tab 키로 폼 필드 이동 → Enter로 제출 기대 결과: Tab 순서 논리적, Enter 제출 동작 확인 | |||||
| SEARCH-N-004 | 네거티브 | XSS 패턴 검색어 입력 | 스크립트 미실행, 인코딩 처리 확인 | P1 | |
전제조건: 검색 기능 동작 중 스텝: <script>alert('xss')</script> 입력 → 검색 실행 기대 결과: 스크립트 미실행, HTML 인코딩 처리 확인 | |||||
| PERF-E-001 | 엣지케이스 | 동시 100개 요청 부하 테스트 | 응답 2s 이내, 서버 500 없음 | P2 | |
전제조건: 부하 테스트 도구 준비 스텝: 동시 100개 요청 스크립트 실행 → 응답 시간 분포 측정 기대 결과: p95 응답 2s 이내, 500 에러 0건 | |||||
| SIGNUP-HP-001 | 해피패스 | 신규 회원가입 + 이메일 인증 | 인증 메일 수신, 로그인 가능 | P1 | |
전제조건: 미가입 이메일, 수신 가능 환경 스텝: 이메일·비밀번호 입력 → 가입 → 인증 메일 클릭 기대 결과: 인증 메일 5분 이내 수신, 인증 후 로그인 성공 | |||||
| SESSION-E-001 | 엣지케이스 | 동일 계정 멀티 디바이스 동시 세션 | 세션 정책에 따라 기존 또는 신규 로그아웃 | P2 | |
전제조건: 동일 계정, PC + 모바일 준비 스텝: PC 로그인 → 모바일 동일 계정 로그인 → PC 세션 확인 기대 결과: 세션 정책 명시 동작 확인 | |||||
| UX-N-001 | 네거티브 | 필수 입력 누락 시 인라인 에러 | 각 필드별 에러 즉시 표시, 제출 차단 | P2 | |
전제조건: 필수 입력 필드 있는 폼 페이지 스텝: 필수 필드 비운 채 제출 → 에러 메시지 확인 기대 결과: 각 필드 하단 인라인 에러 표시, 제출 차단 | |||||