Files
sam-hotfix/e2e/SCENARIO_QUALITY_PROGRESS_2026-02-03.md
김보곤 4765cd5484 test: E2E 테스트 결과 정리 및 TC 문서 업데이트
- 이전 테스트 결과 파일 정리 (Fail-*, OK-* 삭제)
- testcase 11개 문서 업데이트
- 시나리오 품질 현황 문서 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-06 14:14:18 +09:00

160 lines
6.7 KiB
Markdown

# E2E 시나리오 품질 개선 진행 현황
**진행일**: 2026-02-03
**분석 대상**: 96개 시나리오 (e2e/scenarios/*.json)
---
## 1. 개선 완료 현황
### A등급으로 개선된 시나리오 (18개 신규)
| # | 시나리오 | 이전 등급 | 현재 등급 | 스텝 수 | 개선 내용 |
|---|----------|----------|----------|---------|----------|
| 1 | accounting-deposit.json | C (4) | A (18) | 4→18 | 입금 CRUD 전체 |
| 2 | settings-permission.json | C (3) | A (20) | 3→20 | 권한 CRUD + 권한 부여/회수 |
| 3 | accounting-withdrawal.json | C (4) | A (18) | 4→18 | 출금 CRUD 전체 |
| 4 | hr-vacation.json | C (5) | A (18) | 5→18 | 휴가 신청/수정/취소 |
| 5 | hr-attendance-admin.json | B (6) | A (20) | 6→20 | 필터/검색/수정/통계/엑셀 |
| 6 | accounting-bill.json | C (3) | A (17) | 3→17 | 어음 CRUD 전체 |
| 7 | material-receiving.json | C (3) | A (18) | 3→18 | 입고 CRUD 전체 |
| 8 | production-work-order.json | C (3) | A (18) | 3→18 | 작업지시 CRUD 전체 |
| 9 | sales-quotation.json | C (6) | A (18) | 6→18 | 견적 CRUD 전체 |
| 10 | sales-order.json | C (5) | A (18) | 5→18 | 수주 CRUD 전체 |
| 11 | purchase-order.json | C (3) | A (18) | 3→18 | 발주 CRUD 전체 |
| 12 | hr-employee.json | B (12) | A (18) | 12→18 | 사원 CRUD 전체 |
| 13 | hr-salary.json | C (4) | A (17) | 4→17 | 급여 필터/수정/엑셀 |
| 14 | shipment-management.json | C (3) | A (18) | 3→18 | 출고 CRUD 전체 |
| 15 | quality-inspection.json | C (14) | A (18) | 14→18 | 제품검사 CRUD 전체 |
| 16 | settings-bank-account.json | C (4) | A (18) | 4→18 | 계좌 CRUD 전체 |
| 17 | settings-position.json | C (4) | A (18) | 4→18 | 직책 CRUD 전체 |
| 18 | settings-rank.json | C (4) | A (18) | 4→18 | 직급 CRUD 전체 |
### B등급으로 개선된 시나리오 (4개 신규)
| # | 시나리오 | 이전 등급 | 현재 등급 | 스텝 수 | 개선 내용 |
|---|----------|----------|----------|---------|----------|
| 1 | accounting-receivable.json | C (3) | B (15) | 3→15 | 조회/필터/검색/엑셀 |
| 2 | settings-vacation-policy.json | C (4) | B (12) | 4→12 | 정책 조회/수정/저장 |
| 3 | settings-work-schedule.json | C (4) | B (12) | 4→12 | 일정 조회/수정/저장 |
| 4 | settings-attendance.json | C (4) | B (12) | 4→12 | 설정 조회/수정/저장 |
### 기존 A등급 시나리오 (8개)
| 시나리오 | 스텝 수 | 특징 |
|----------|--------|------|
| login.json | 23 | 로그인 실패/성공, 세션 유지, 로그아웃 |
| free-board.json | 77 | 게시글+댓글 CRUD, 검색/필터/정렬 |
| vendor-management.json | 34 | 상세 검증, 수정 후 복원, API 호출 확인 |
| approval-box.json | 11+ | PDF 다운로드, 실제 승인/반려 동작 |
| employee-register.json | 15 | CRUD 전체, 기간 검색 검증 |
| crud-delete-vendor.json | 15 | CRUD 전체 흐름, 롤백 계획 포함 |
| crud-delete-freeboard.json | - | CRUD 전체 흐름 |
| popup-management.json | 88 | 포괄적 CRUD, 88개 스텝 |
---
## 2. 현재 품질 등급 분포
### 개선 전후 비교
| 등급 | 개선 전 | 개선 후 | 변화 |
|------|--------|--------|------|
| A등급 (우수) | 7개 (7%) | **26개 (27%)** | +19개 |
| B등급 (보통) | 30개 (31%) | 29개 (30%) | -1개 |
| C등급 (미흡) | 59개 (61%) | **41개 (43%)** | -18개 |
### 핵심 지표
| 지표 | 개선 전 | 개선 후 | 목표 |
|------|--------|--------|------|
| A등급 시나리오 | 7개 | 26개 | 35개 |
| CRUD 완전 테스트 | 5개 | 23개 | 40개 |
| expectedAPIs 포함 | 15개 | 35개 | 96개 |
| searchWithinParent 적용 | 3개 | 23개 | 96개 |
---
## 3. 공통 개선 사항
### 모든 개선 시나리오에 추가된 요소
1. **screenshotPolicy**: 에러 시에만 스크린샷 캡처
2. **searchWithinParent**: 부모 메뉴 내 검색 플래그
3. **closeOtherMenus**: 다른 메뉴 닫기 플래그
4. **testData**: 테스트 데이터 정의 (E2E_TEST_ 접두사)
5. **expectedAPIs**: API 엔드포인트 정의
6. **requiredVerifications**: 필수 검증 항목
7. **rollbackPlan**: 실패 시 롤백 계획
### CRUD 단계별 검증 추가
- **CREATE**: 등록 버튼 → 폼 입력 → API POST → 토스트 → 목록 반영
- **READ**: 상세 페이지 진입 → API GET → 데이터 일치 확인
- **UPDATE**: 수정 모드 → 필드 변경 → API PUT → 변경 반영
- **DELETE**: 삭제 버튼 → 확인 다이얼로그 → API DELETE → 목록 제거
---
## 4. 남은 개선 작업
### 우선순위 1: 회계 시나리오 (5개)
| 시나리오 | 현재 | 필요 작업 |
|----------|------|----------|
| accounting-payment.json | C | 지급 관리 CRUD |
| accounting-ledger.json | C | 원장 조회 기능 |
| accounting-daily-report.json | C | 일보 조회 기능 |
| accounting-financial.json | C | 재무제표 조회 |
| accounting-cost.json | C | 원가 관리 기능 |
### 우선순위 2: 알림/기타 설정 (3개)
| 시나리오 | 현재 | 필요 작업 |
|----------|------|----------|
| settings-notification.json | C | 알림 설정 |
| settings-account.json | C | 계정 정보 |
| settings-company.json | C | 회사 정보 |
### 우선순위 3: 기타 업무 시나리오
- 나머지 C등급 시나리오 약 33개 개선 필요
---
## 5. Git 커밋 이력
```
7047b2f - refactor: 품질검사, 설정관리 시나리오 A/B등급으로 개선
d10f4ee - refactor: hr-employee, hr-salary, shipment-management 시나리오 A등급으로 개선
829f9af - refactor: sales-quotation, sales-order, purchase-order 시나리오 A등급으로 개선
469a58f - refactor: accounting-bill, material-receiving, production-work-order 시나리오 A등급으로 개선
bb22f6a - refactor: accounting-withdrawal, hr-vacation, hr-attendance-admin 시나리오 A등급으로 개선
946dc74 - refactor: accounting-deposit, settings-permission 시나리오 A등급으로 개선
```
---
## 6. 결론
### 달성한 성과
1. **A등급 시나리오 4배 증가**: 7개 → 26개 (271% 증가)
2. **CRUD 완전 테스트 5배 증가**: 5개 → 23개 (360% 증가)
3. **핵심 업무 시나리오 개선 완료**: 입금, 출금, 휴가, 근태, 견적, 수주, 발주, 사원, 급여, 출고, 검사, 직책, 직급, 계좌
4. **표준화된 시나리오 구조 적용**: 22개 시나리오에 일관된 CRUD 패턴 적용
### 다음 단계
1. 남은 C등급 시나리오 41개 → B등급 이상으로 개선
2. 모든 시나리오에 searchWithinParent/closeOtherMenus 플래그 추가
3. 모든 시나리오에 expectedAPIs 추가
4. 테스트 데이터 격리 (E2E_TEST_ 접두사) 전면 적용
### 예상 효과
- 실제 기능 오류 발견율 4배 증가
- 회귀 테스트 신뢰도 향상
- QA 시간 단축
- 버그 조기 발견으로 개발 비용 절감