Files
sam-hotfix/testcase/TC_QUOTATION_MANAGEMENT.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

421 lines
20 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# TC - 견적관리 (Quotation Management)
> **페이지**: https://dev.codebridge-x.com/sales/quote-management
> **작성일**: 2026-01-29
> **대상**: QC Playwright AI 테스트용
---
## ⚠️ 테스트 환경 안내
| 항목 | 내용 |
|------|------|
| **환경 유형** | 개발/테스트 환경 (Development Environment) |
| **운영 환경 여부** | ❌ 아니오 - 운영 환경이 **아닙니다** |
| **데이터 특성** | 테스트용 시드 데이터 및 개발 중 생성된 샘플 데이터 |
| **테스트 정책** | CRUD 전체 테스트 가능 (생성, 수정, 삭제 포함) |
### 테스트 실행 지침
1. **CRUD 테스트 허용**: 이 환경은 개발/테스트 목적으로, 데이터 생성·수정·삭제를 포함한 전체 기능 테스트를 수행해야 합니다.
2. **견적 작성 테스트**: 신규 견적(D-080~D-095) 테스트 시 실제 데이터를 생성하여 기능 검증을 수행합니다.
3. **견적 삭제 테스트**: 삭제 테스트는 테스트 중 생성한 데이터를 대상으로 실행합니다.
4. **테스트 데이터 정리**: 테스트 완료 후 생성된 테스트 데이터는 삭제하여 환경을 정리합니다.
---
## 0. 사이드바 메뉴 탐색 (공통 전제 조건)
### 0.1 메뉴 펼치기
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| NAV-001 | 전제 | 사이드바 최상단 스크롤 | 사이드바가 최상단으로 스크롤 |
| NAV-002 | 전제 | "모두 펼치기" 버튼 클릭 | 사이드바의 모든 메뉴가 펼쳐짐 |
| NAV-003 | 전제 | 메뉴 펼침 대기 | 2초 대기 후 모든 메뉴 펼침 완료 |
| NAV-004 | 기능 | 1차 메뉴 찾기 | 스크롤 없이 1차 메뉴(판매관리) 클릭 가능 |
| NAV-005 | 기능 | 2차 메뉴 클릭 | 펼쳐진 서브메뉴에서 견적관리 클릭 |
| NAV-006 | 기능 | 페이지 로드 확인 | 404 없이 정상 페이지 로드 |
> **💡 참고**: "모두 펼치기" 버튼으로 전체 메뉴를 펼친 후 메뉴를 탐색하면 1차 메뉴를 누르지 못해 찾지 못하는 문제를 방지할 수 있습니다.
---
## 1. 목록 페이지 (List View)
### 1.1 페이지 로딩
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-001 | 기본 | 페이지 접근 | `/sales/quote-management` 정상 로딩, 테이블 표시 |
| L-002 | 기본 | 통계 카드 표시 | "전체", "작성중", "발송완료", "수주전환", "만료" 5개 카드 |
| L-003 | 기본 | 통계 숫자 일치 | 카드 숫자 합 = 테이블 전체 건수 |
| L-004 | 기본 | 기본 정렬 | 최신순(작성일 내림차순) 정렬 |
| L-005 | 기본 | 빈 목록 | 데이터 없을 때 빈 상태 메시지 표시 |
| L-006 | 기본 | 이번 달 견적 현황 | 이번 달 견적 금액/건수 요약 |
### 1.2 테이블 컬럼
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-010 | 기본 | 컬럼 구성 | 체크박스, 번호, 견적번호, 거래처, 견적일, 유효기간, 총금액, 상태, 담당자, 작업 |
| L-011 | UI | 상태 뱃지 색상 | 작성중=회색, 발송완료=파랑, 수주전환=초록, 만료=빨강, 취소=주황 |
| L-012 | UI | 금액 포맷 | 천단위 콤마 + "원" 표시 |
| L-013 | UI | 유효기간 경고 | 유효기간 D-3 이내 빨간색 표시 |
| L-014 | UI | 거래처명 링크 | 클릭 시 거래처 상세 페이지 이동 |
| L-015 | UI | 만료 표시 | 유효기간 경과 시 "만료" 뱃지 |
### 1.3 검색
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-020 | 기능 | 견적번호 검색 | 번호 일부 입력 시 해당 견적만 필터링 |
| L-021 | 기능 | 거래처명 검색 | 거래처명 입력 시 해당 견적만 필터링 |
| L-022 | 기능 | 품목명 검색 | 견적 내 품목명으로 검색 |
| L-023 | 기능 | 담당자 검색 | 담당자명으로 검색 |
| L-024 | 기능 | 검색어 지우기 | 검색어 삭제 시 전체 목록 복원 |
| L-025 | 경계 | 빈 검색어 | 전체 목록 표시 |
| L-026 | 경계 | 존재하지 않는 검색어 | 빈 결과 + "검색 결과 없음" 메시지 |
### 1.4 필터
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-030 | 기능 | 상태 필터 - 작성중 | 작성중 견적만 표시 |
| L-031 | 기능 | 상태 필터 - 발송완료 | 발송완료 견적만 표시 |
| L-032 | 기능 | 상태 필터 - 수주전환 | 수주로 전환된 견적만 표시 |
| L-033 | 기능 | 상태 필터 - 만료 | 유효기간 지난 견적만 표시 |
| L-034 | 기능 | 상태 필터 - 취소 | 취소된 견적만 표시 |
| L-035 | 기능 | 기간 필터 | 견적일 시작~종료 범위 내 견적 표시 |
| L-036 | 기능 | 거래처 필터 | 특정 거래처 견적만 표시 |
| L-037 | 기능 | 담당자 필터 | 특정 담당자 견적만 표시 |
| L-038 | 기능 | 금액 범위 필터 | 설정한 금액 범위 내 견적만 표시 |
| L-039 | 기능 | 필터 복합 적용 | 상태 + 기간 + 거래처 동시 적용 시 AND 조건 |
| L-040 | 기능 | 필터 해제 | 필터 해제 시 전체 목록 복원 |
| L-041 | 경계 | 필터 결과 0건 | 빈 상태 메시지 표시, 에러 없음 |
### 1.5 정렬
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-050 | 기능 | 최신순 | 견적일 내림차순 |
| L-051 | 기능 | 등록순 | 견적일 오름차순 |
| L-052 | 기능 | 금액 높은순 | 총금액 내림차순 |
| L-053 | 기능 | 금액 낮은순 | 총금액 오름차순 |
| L-054 | 기능 | 유효기간 임박순 | 유효기간 오름차순 |
| L-055 | 기능 | 거래처명순 | 거래처명 가나다순 |
### 1.6 페이지네이션
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-060 | 기능 | 기본 페이지 크기 | 한 페이지 20건 표시 |
| L-061 | 기능 | 페이지 크기 변경 | 20/50/100건 선택 가능 |
| L-062 | 기능 | 다음 페이지 이동 | 다음 페이지로 이동 |
| L-063 | 기능 | 이전 페이지 이동 | 이전 페이지로 복귀 |
| L-064 | 경계 | 마지막 페이지 | "다음" 버튼 비활성화 |
| L-065 | 경계 | 첫 페이지 | "이전" 버튼 비활성화 |
### 1.7 행 선택 및 동작
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-070 | 기능 | 행 클릭 | 상세 페이지(view 모드)로 이동 |
| L-071 | 기능 | 체크박스 개별 선택 | 해당 행 선택 상태 |
| L-072 | 기능 | 전체 선택 체크박스 | 현재 페이지 전체 선택/해제 |
| L-073 | 기능 | 호버 시 작업 버튼 | 수정/복사/삭제/PDF/이메일 버튼 표시 |
| L-074 | 기능 | 수정 버튼 클릭 | 상세 페이지(edit 모드)로 이동 |
| L-075 | 기능 | 복사 버튼 클릭 | 견적 복사 생성 |
| L-076 | 기능 | PDF 버튼 클릭 | 견적서 PDF 다운로드 |
| L-077 | 기능 | 이메일 버튼 클릭 | 견적서 이메일 발송 모달 |
| L-078 | 기능 | 삭제 버튼 클릭 | 삭제 확인 다이얼로그 표시 |
| L-079 | 비즈 | 수주 전환된 견적 삭제 | 삭제 불가 에러 메시지 |
### 1.8 일괄 처리
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-080 | 기능 | 일괄 PDF 다운로드 | 다중 선택 → ZIP으로 PDF 다운로드 |
| L-081 | 기능 | 일괄 이메일 발송 | 다중 선택 → 일괄 이메일 발송 |
| L-082 | 기능 | 일괄 삭제 | 다중 선택 → 일괄 삭제 |
| L-083 | 기능 | Excel 내보내기 | 견적 목록 Excel 다운로드 |
### 1.9 신규 등록 버튼
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-090 | 기능 | 견적 작성 버튼 | 클릭 시 상세 페이지(new 모드)로 이동 |
---
## 2. 상세/등록 페이지 (Detail View)
### 2.1 견적 작성 (mode=new)
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-001 | 기본 | 페이지 로딩 | 빈 폼 표시, 저장/취소 버튼 |
| D-002 | 기본 | 견적번호 자동 생성 | 임시번호 표시, 저장 시 정식 번호 부여 |
| D-003 | 기본 | 기본값 확인 | 견적일=오늘, 유효기간=14일 후, 담당자=로그인 사용자 |
| D-004 | 기본 | 삭제 버튼 없음 | 신규 모드에서 삭제 버튼 미표시 |
#### 2.1.1 필수값 검증
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-010 | 검증 | 거래처 미선택 | 저장 시 필수값 에러 메시지 |
| D-011 | 검증 | 품목 미추가 | 저장 시 필수값 에러 메시지 |
| D-012 | 검증 | 유효기간 미입력 | 저장 시 필수값 에러 메시지 |
| D-013 | 검증 | 필수값만 입력 저장 | 거래처 + 품목으로 정상 저장 |
#### 2.1.2 기본 정보 입력
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-020 | 기능 | 거래처 검색/선택 | 검색 후 거래처 선택 |
| D-021 | 기능 | 거래처 정보 자동 채움 | 선택 시 주소, 연락처, 담당자 자동 입력 |
| D-022 | 기능 | 견적일 선택 | 달력에서 날짜 선택 |
| D-023 | 기능 | 유효기간 선택 | 견적일 이후 날짜만 선택 가능 |
| D-024 | 기능 | 유효기간 단축 선택 | 7일/14일/30일/60일/90일 버튼 |
| D-025 | 기능 | 담당자 선택 | 담당자 드롭다운 선택 |
| D-026 | 기능 | 견적 제목 입력 | 선택적 제목 입력 (최대 200자) |
| D-027 | 경계 | 유효기간 < 견적일 | 에러 메시지 또는 자동 보정 |
#### 2.1.3 품목 추가
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-030 | 기능 | 품목 검색 추가 | 품목 검색 선택 견적에 추가 |
| D-031 | 기능 | 품목 직접 추가 | 추가 품목 정보 입력 |
| D-032 | 기능 | 품목 선택 자동 입력 | 품목코드, 품목명, 단가 자동 입력 |
| D-033 | 기능 | 수량 입력 | 수량 입력 금액 자동 계산 |
| D-034 | 기능 | 단가 수정 | 기본 단가 수정 가능 |
| D-035 | 기능 | 할인율 입력 | 품목별 할인율 입력 (%) |
| D-036 | 기능 | 할인금액 입력 | 품목별 할인금액 직접 입력 |
| D-037 | 기능 | 금액 자동 계산 | 수량 × 단가 - 할인 = 금액 |
| D-038 | 기능 | 비고 입력 | 품목별 비고 입력 |
| D-039 | 기능 | 품목 삭제 | 추가된 품목 삭제 |
| D-040 | 기능 | 품목 순서 변경 | 드래그앤드롭으로 순서 변경 |
| D-041 | 경계 | 수량 0 입력 | 에러 또는 자동 1로 설정 |
| D-042 | 경계 | 음수 단가 | 에러 메시지 |
| D-043 | 기능 | 다중 품목 추가 | 품목 검색에서 다중 선택 추가 |
#### 2.1.4 금액 계산
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-050 | 기능 | 공급가액 합계 | 품목별 금액 합계 표시 |
| D-051 | 기능 | 부가세 자동 계산 | 공급가액 × 10% 자동 계산 |
| D-052 | 기능 | 총금액 계산 | 공급가액 + 부가세 = 총금액 |
| D-053 | 기능 | 전체 할인 적용 | 전체 금액에 할인율/할인금액 적용 |
| D-054 | 기능 | 부가세 별도/포함 | 부가세 계산 방식 선택 |
| D-055 | 기능 | 소수점 처리 | 단위 절사/반올림 설정 |
| D-056 | 비즈 | 금액 실시간 반영 | 품목 변경 합계 실시간 갱신 |
#### 2.1.5 추가 정보
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-060 | 기능 | 특기사항 입력 | 텍스트 에어리어 (최대 1000자) |
| D-061 | 기능 | 결제조건 선택 | 현금/카드/계좌이체/외상 선택 |
| D-062 | 기능 | 납기조건 입력 | 납기 일자 또는 기간 입력 |
| D-063 | 기능 | 인도조건 입력 | 배송/픽업/설치 입력 |
| D-064 | 기능 | 담당자 메모 입력 | 내부용 메모 (고객에게 미표시) |
#### 2.1.6 첨부파일
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-070 | 기능 | 파일 첨부 | 이미지/PDF/문서 첨부 |
| D-071 | 기능 | 다중 파일 첨부 | 최대 5개 파일 첨부 |
| D-072 | 기능 | 첨부파일 삭제 | 첨부된 파일 삭제 |
| D-073 | 경계 | 파일 용량 초과 | 10MB 초과 에러 |
| D-074 | 경계 | 지원하지 않는 형식 | 허용되지 않은 확장자 에러 |
#### 2.1.7 저장 동작
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-080 | 기능 | 임시저장 | 작성중 상태로 저장 |
| D-081 | 기능 | 정상 저장 | 성공 메시지 + view 페이지로 이동 |
| D-082 | 기능 | 저장 견적번호 | 정식 견적번호 생성 확인 |
| D-083 | 기능 | 취소 버튼 | 목록 페이지로 복귀, 데이터 미저장 |
| D-084 | 경계 | 네트워크 오류 저장 | 에러 메시지, 데이터 유지 |
| D-085 | 기능 | 저장 발송 | 저장 바로 이메일 발송 옵션 |
---
### 2.2 조회 모드 (mode=view)
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-100 | 기본 | 페이지 로딩 | 저장된 데이터 표시, 모든 필드 읽기전용 |
| D-101 | 기본 | 견적번호 표시 | 정식 견적번호 표시 |
| D-102 | UI | 버튼 표시 | 수정/복사/PDF/이메일/수주전환/목록 버튼 |
| D-103 | 기능 | 수정 버튼 클릭 | edit 모드로 전환 |
| D-104 | 기능 | 복사 버튼 클릭 | 견적으로 데이터 복사 |
| D-105 | 기능 | 목록 버튼/뒤로가기 | 목록 페이지로 복귀 |
#### 2.2.1 PDF 출력
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-110 | 기능 | PDF 미리보기 | 견적서 PDF 형태로 미리보기 |
| D-111 | 기능 | PDF 다운로드 | 견적서 PDF 파일 다운로드 |
| D-112 | 기능 | 인쇄 | 견적서 직접 인쇄 |
| D-113 | UI | PDF 양식 | 회사 로고, 도장 표시 |
| D-114 | UI | 품목 목록 표시 | 품목 테이블 정확히 표시 |
#### 2.2.2 이메일 발송
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-120 | 기능 | 이메일 발송 모달 | 수신자, 제목, 내용 입력 모달 |
| D-121 | 기능 | 수신자 자동 입력 | 거래처 이메일 자동 입력 |
| D-122 | 기능 | 수신자 추가 | 추가 수신자 입력 가능 |
| D-123 | 기능 | 참조 추가 | CC 수신자 추가 |
| D-124 | 기능 | 이메일 제목 기본값 | "[회사명] 견적서 발송 - 견적번호" |
| D-125 | 기능 | 이메일 본문 편집 | 기본 템플릿 제공, 수정 가능 |
| D-126 | 기능 | PDF 자동 첨부 | 견적서 PDF 자동 첨부 |
| D-127 | 기능 | 추가 첨부파일 | 추가 파일 첨부 가능 |
| D-128 | 기능 | 발송 확인 | 발송 성공 메시지 |
| D-129 | 비즈 | 발송 이력 기록 | 발송 일시, 수신자 이력 저장 |
| D-130 | 경계 | 잘못된 이메일 형식 | 에러 메시지 |
#### 2.2.3 수주 전환
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-140 | 기능 | 수주 전환 버튼 | 견적 수주 전환 확인 다이얼로그 |
| D-141 | 기능 | 전체 품목 전환 | 모든 품목 수주로 전환 |
| D-142 | 기능 | 일부 품목 전환 | 선택한 품목만 수주로 전환 |
| D-143 | 기능 | 수량 조정 전환 | 수량 조정하여 수주 생성 |
| D-144 | 비즈 | 전환 상태 | 견적 상태 "수주전환"으로 변경 |
| D-145 | 비즈 | 수주 페이지 이동 | 전환 생성된 수주 페이지로 이동 |
#### 2.2.4 이력 관리
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-150 | 기능 | 수정 이력 | 견적 수정 이력 표시 |
| D-151 | 기능 | 발송 이력 | 이메일 발송 이력 표시 |
| D-152 | 기능 | 이력 상세 | 변경 / 비교 표시 |
---
### 2.3 수정 모드 (mode=edit)
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-200 | 기본 | 페이지 로딩 | 기존 데이터 채워진 편집 가능 |
| D-201 | 기본 | 견적번호 읽기전용 | 번호 수정 불가 |
| D-202 | 기능 | 거래처 변경 | 다른 거래처로 변경 가능 |
| D-203 | 기능 | 품목 수정 | 품목 추가/삭제/수정 |
| D-204 | 기능 | 유효기간 연장 | 유효기간 변경 가능 |
| D-205 | 기능 | 금액 수정 | 단가, 할인 수정 |
| D-206 | 비즈 | 발송완료 수정 | 수정 버전 관리 또는 경고 |
| D-207 | 비즈 | 수주전환 수정 | 수정 불가, 읽기전용 |
#### 2.3.1 저장/취소/삭제
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-210 | 기능 | 수정 저장 | 변경사항 저장 + view 모드 전환 |
| D-211 | 기능 | 수정 취소 | 변경사항 폐기 + view 모드 복귀 |
| D-212 | 기능 | 삭제 버튼 | 삭제 확인 다이얼로그 표시 |
| D-213 | 기능 | 삭제 확인 | 견적 삭제 + 목록 페이지 이동 |
| D-214 | 비즈 | 수주전환 삭제 | 삭제 불가, 에러 메시지 |
---
## 3. 견적 복사
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| CP-001 | 기능 | 복사 버튼 클릭 | 견적 작성 페이지로 이동 |
| CP-002 | 기능 | 데이터 복사 | 거래처, 품목, 조건 복사 |
| CP-003 | 기능 | 날짜 초기화 | 견적일=오늘, 유효기간 재설정 |
| CP-004 | 기능 | 견적번호 새로 생성 | 기존 번호와 다른 번호 |
| CP-005 | 비즈 | 가격 최신화 옵션 | 품목 단가 현재가로 업데이트 옵션 |
---
## 4. 견적 템플릿
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| T-001 | 기능 | 템플릿 저장 | 현재 견적을 템플릿으로 저장 |
| T-002 | 기능 | 템플릿 목록 | 저장된 템플릿 목록 표시 |
| T-003 | 기능 | 템플릿 적용 | 템플릿 선택 데이터 채움 |
| T-004 | 기능 | 템플릿 수정 | 기존 템플릿 수정 |
| T-005 | 기능 | 템플릿 삭제 | 템플릿 삭제 |
---
## 5. 모바일 반응형
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| M-001 | UI | 목록 모바일 | 테이블 카드 레이아웃 전환 |
| M-002 | UI | 카드 핵심 정보 | 견적번호, 거래처, 금액, 상태 표시 |
| M-003 | UI | 상세 페이지 레이아웃 | 모바일에서 세로 스크롤 |
| M-004 | UI | 품목 입력 모바일 | 모바일에서 품목 추가/수정 가능 |
| M-005 | UI | PDF 뷰어 모바일 | 모바일에서 PDF 확인 가능 |
---
## 6. API 응답 검증
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| API-001 | API | GET /quotations 응답 | `{ success: true, data: { data: [...], total, page, size } }` |
| API-002 | API | GET /quotations/{id} 응답 | 견적 상세 + 품목 목록 + 이력 |
| API-003 | API | POST /quotations 응답 | quotation_number 자동 생성 |
| API-004 | API | POST /quotations/{id}/send 응답 | 이메일 발송 결과 |
| API-005 | API | POST /quotations/{id}/convert 응답 | 수주 전환 결과 + 수주 ID |
| API-006 | API | GET /quotations/{id}/pdf 응답 | PDF 파일 응답 |
| API-007 | API | 멀티테넌트 격리 | 다른 tenant 데이터 접근 불가 |
---
## 7. 데이터 정합성
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| I-001 | 비즈 | 금액 계산 정확성 | 수량×단가-할인 = 품목금액 |
| I-002 | 비즈 | 부가세 계산 | 공급가액 × 10% = 부가세 |
| I-003 | 비즈 | 총금액 계산 | 공급가액 + 부가세 = 총금액 |
| I-004 | 비즈 | 수주 전환 데이터 | 견적 데이터 = 수주 데이터 |
| I-005 | 비즈 | PDF 데이터 일치 | 화면 데이터 = PDF 데이터 |
| I-006 | 비즈 | 복사 데이터 일치 | 원본 데이터 = 복사 데이터 (날짜 제외) |
---
## TC 요약
| 카테고리 | 건수 |
|----------|------|
| 목록 페이지 | 50건 |
| 상세/등록 페이지 | 70건 |
| 견적 복사 | 5건 |
| 견적 템플릿 | 5건 |
| 모바일 반응형 | 5건 |
| API 응답 검증 | 7건 |
| 데이터 정합성 | 6건 |
| **합계** | **148건** |
---
## 참고: 구분 체계
- **기본**: 페이지 로딩, 기본 표시
- **기능**: 사용자 인터랙션, CRUD 동작
- **UI**: 색상, 레이아웃, 뱃지 시각 요소
- **검증**: 입력값 유효성 검사
- **경계**: 경계값, 예외 케이스
- **비즈**: 비즈니스 로직 (금액 계산, 수주 전환 )
- **API**: API 레벨 검증