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

20 KiB
Raw Permalink Blame History

TC - 품목관리 (Product Management)

페이지: https://dev.codebridge-x.com/production/screen-production 작성일: 2026-01-29 대상: QC Playwright AI 테스트용


⚠️ 테스트 환경 안내

항목 내용
환경 유형 개발/테스트 환경 (Development Environment)
운영 환경 여부 아니오 - 운영 환경이 아닙니다
데이터 특성 테스트용 시드 데이터 및 개발 중 생성된 샘플 데이터
테스트 정책 CRUD 전체 테스트 가능 (생성, 수정, 삭제 포함)

테스트 실행 지침

  1. CRUD 테스트 허용: 이 환경은 개발/테스트 목적으로, 데이터 생성·수정·삭제를 포함한 전체 기능 테스트를 수행해야 합니다.

  2. 품목 등록 테스트: 신규 등록(D-080~D-090) 테스트 시 실제 데이터를 생성하여 기능 검증을 수행합니다.

  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 기본 페이지 접근 /production/screen-production 정상 로딩, 테이블 표시
L-002 기본 통계 카드 표시 상단에 "전체 품목", "판매 가능", "품절", "단종" 4개 카드 표시
L-003 기본 통계 숫자 일치 카드 숫자 합 = 테이블 전체 건수
L-004 기본 기본 정렬 최신순(등록일 내림차순) 정렬
L-005 기본 빈 목록 데이터 없을 때 빈 상태 메시지 표시
L-006 기본 카테고리 트리 좌측에 카테고리 트리 표시

1.2 테이블 컬럼

TC# 구분 테스트 항목 기대 결과
L-010 기본 컬럼 구성 체크박스, 이미지, 품목코드, 품목명, 카테고리, 규격, 단위, 매입가, 판매가, 재고, 상태, 작업
L-011 UI 이미지 썸네일 등록된 이미지 썸네일 표시, 없으면 기본 이미지
L-012 UI 상태 뱃지 색상 판매가능=초록, 품절=빨강, 단종=회색, 비활성=노랑
L-013 UI 재고 경고 색상 안전재고 미만=빨강, 이상=일반
L-014 UI 가격 포맷 천단위 콤마 + "원" 표시
L-015 UI 마진율 표시 (판매가-매입가)/판매가 × 100% 계산 표시

1.3 카테고리 트리

TC# 구분 테스트 항목 기대 결과
L-016 기능 트리 펼치기/접기 하위 카테고리 펼치기/접기 동작
L-017 기능 카테고리 선택 선택한 카테고리 품목만 목록에 표시
L-018 기능 전체 카테고리 "전체" 선택 시 모든 품목 표시
L-019 기능 품목 수 표시 각 카테고리 옆에 품목 수 표시

1.4 검색

TC# 구분 테스트 항목 기대 결과
L-020 기능 품목명 검색 이름 일부 입력 시 해당 품목만 필터링
L-021 기능 품목코드 검색 코드 입력 시 해당 품목만 필터링
L-022 기능 바코드 검색 바코드 입력 시 해당 품목만 필터링
L-023 기능 규격/모델 검색 규격 또는 모델명으로 검색
L-024 기능 검색어 지우기 검색어 삭제 시 전체 목록 복원
L-025 경계 빈 검색어 전체 목록 표시
L-026 경계 존재하지 않는 검색어 빈 결과 + "검색 결과 없음" 메시지
L-027 경계 특수문자 검색 에러 없이 처리

1.5 필터

TC# 구분 테스트 항목 기대 결과
L-030 기능 상태 필터 - 판매가능 판매가능 품목만 표시
L-031 기능 상태 필터 - 품절 품절 품목만 표시
L-032 기능 상태 필터 - 단종 단종 품목만 표시
L-033 기능 상태 필터 - 비활성 비활성 품목만 표시
L-034 기능 재고 필터 - 재고 있음 재고 > 0 품목만 표시
L-035 기능 재고 필터 - 재고 없음 재고 = 0 품목만 표시
L-036 기능 재고 필터 - 안전재고 미만 안전재고 미만 품목만 표시
L-037 기능 가격대 필터 설정한 가격 범위 내 품목만 표시
L-038 기능 공급업체 필터 선택한 공급업체 품목만 표시
L-039 기능 필터 복합 적용 카테고리 + 상태 + 재고 동시 적용 시 AND 조건
L-040 기능 필터 해제 필터 해제 시 전체 목록 복원
L-041 경계 필터 결과 0건 빈 상태 메시지 표시, 에러 없음

1.6 정렬

TC# 구분 테스트 항목 기대 결과
L-050 기능 최신순 등록일 내림차순
L-051 기능 등록순 등록일 오름차순
L-052 기능 품목명 오름차순 가나다/ABC 순
L-053 기능 품목명 내림차순 역순
L-054 기능 판매가 높은순 판매가 내림차순
L-055 기능 판매가 낮은순 판매가 오름차순
L-056 기능 재고 많은순 재고 내림차순
L-057 기능 재고 적은순 재고 오름차순

1.7 페이지네이션

TC# 구분 테스트 항목 기대 결과
L-060 기능 기본 페이지 크기 한 페이지 20건 표시
L-061 기능 페이지 크기 변경 20/50/100건 선택 가능
L-062 기능 다음 페이지 이동 다음 페이지로 이동
L-063 기능 이전 페이지 이동 이전 페이지로 복귀
L-064 경계 마지막 페이지 "다음" 버튼 비활성화
L-065 경계 첫 페이지 "이전" 버튼 비활성화

1.8 행 선택 및 동작

TC# 구분 테스트 항목 기대 결과
L-070 기능 행 클릭 상세 페이지(view 모드)로 이동
L-071 기능 체크박스 개별 선택 해당 행 선택 상태
L-072 기능 전체 선택 체크박스 현재 페이지 전체 선택/해제
L-073 기능 호버 시 작업 버튼 행 호버 시 수정/복사/삭제 버튼 표시
L-074 기능 수정 버튼 클릭 상세 페이지(edit 모드)로 이동
L-075 기능 복사 버튼 클릭 신규 등록 페이지에 데이터 복사
L-076 기능 삭제 버튼 클릭 삭제 확인 다이얼로그 표시
L-077 기능 삭제 확인 품목 삭제, 목록 갱신
L-078 비즈 주문에 사용된 품목 삭제 삭제 불가 에러 메시지
L-079 비즈 재고가 있는 품목 삭제 삭제 불가 또는 경고 메시지

1.9 일괄 처리

TC# 구분 테스트 항목 기대 결과
L-080 기능 일괄 상태 변경 다중 선택 → 상태 일괄 변경
L-081 기능 일괄 카테고리 변경 다중 선택 → 카테고리 일괄 이동
L-082 기능 일괄 삭제 다중 선택 → 일괄 삭제
L-083 기능 Excel 내보내기 선택 또는 전체 품목 Excel 다운로드
L-084 기능 Excel 가져오기 Excel 파일로 품목 일괄 등록

1.10 신규 등록 버튼

TC# 구분 테스트 항목 기대 결과
L-090 기능 신규 등록 버튼 클릭 시 상세 페이지(new 모드)로 이동

2. 상세/등록 페이지 (Detail View)

2.1 품목 등록 (mode=new)

TC# 구분 테스트 항목 기대 결과
D-001 기본 페이지 로딩 빈 폼 표시, 저장/취소 버튼
D-002 기본 품목코드 자동 생성 코드 필드 읽기전용, 저장 시 자동 생성
D-003 기본 기본값 확인 상태=판매가능, 재고=0, 안전재고=0
D-004 기본 삭제 버튼 없음 신규 모드에서 삭제 버튼 미표시

2.1.1 필수값 검증

TC# 구분 테스트 항목 기대 결과
D-010 검증 품목명 미입력 저장 시 필수값 에러 메시지
D-011 검증 카테고리 미선택 저장 시 필수값 에러 메시지
D-012 검증 단위 미입력 저장 시 필수값 에러 메시지
D-013 검증 필수값만 입력 저장 최소 필수값으로 정상 저장

2.1.2 기본 정보 입력

TC# 구분 테스트 항목 기대 결과
D-020 기능 품목명 입력 최대 200자, 정상 입력
D-021 기능 영문명 입력 최대 200자, 영문/숫자/특수문자
D-022 기능 카테고리 선택 드롭다운/트리에서 선택
D-023 기능 규격/모델 입력 최대 100자
D-024 기능 단위 선택 EA, BOX, SET, KG, L 등 선택
D-025 기능 바코드 입력 수동 입력 또는 바코드 스캔
D-026 경계 품목명 중복 동일 품목명 등록 시 경고 또는 허용
D-027 경계 바코드 중복 바코드 중복 시 에러 메시지

2.1.3 가격 정보

TC# 구분 테스트 항목 기대 결과
D-030 기능 매입가 입력 숫자만 입력, 천단위 자동 콤마
D-031 기능 판매가 입력 숫자만 입력, 천단위 자동 콤마
D-032 기능 마진율 자동 계산 (판매가-매입가)/판매가 × 100%
D-033 기능 부가세 포함 여부 토글로 설정
D-034 경계 음수 가격 입력 에러 메시지 또는 입력 제한
D-035 경계 매입가 > 판매가 경고 메시지 (역마진 알림)
D-036 기능 할인가 설정 할인가 입력 필드

2.1.4 재고 정보

TC# 구분 테스트 항목 기대 결과
D-040 기능 현재고 입력 초기 재고 수량 입력
D-041 기능 안전재고 설정 알림 기준 재고 수량
D-042 기능 최대재고 설정 최대 보관 수량
D-043 기능 창고 선택 기본 창고 지정
D-044 경계 음수 재고 입력 에러 메시지 또는 입력 제한
D-045 비즈 재고 관리 여부 재고 관리 ON/OFF 토글

2.1.5 공급업체 정보

TC# 구분 테스트 항목 기대 결과
D-050 기능 공급업체 선택 거래처 목록에서 선택
D-051 기능 공급업체 다중 등록 여러 공급업체 추가 가능
D-052 기능 주 공급업체 지정 기본 공급업체 설정
D-053 기능 공급업체 삭제 등록된 공급업체 제거

2.1.6 이미지 정보

TC# 구분 테스트 항목 기대 결과
D-060 기능 대표 이미지 업로드 이미지 파일 선택 및 미리보기
D-061 기능 추가 이미지 업로드 최대 5장 추가 이미지
D-062 기능 이미지 순서 변경 드래그앤드롭으로 순서 변경
D-063 기능 이미지 삭제 업로드된 이미지 삭제
D-064 경계 이미지 용량 초과 5MB 초과 시 에러 메시지
D-065 경계 지원하지 않는 형식 jpg/png/gif 외 에러

2.1.7 추가 정보

TC# 구분 테스트 항목 기대 결과
D-070 기능 상품 설명 입력 텍스트 에어리어 (최대 2000자)
D-071 기능 메모 입력 내부 메모 (최대 500자)
D-072 기능 세금 유형 선택 과세/면세/영세 선택
D-073 기능 원산지 입력 국가/지역 입력
D-074 기능 제조사 입력 제조사명 입력
D-075 기능 브랜드 입력 브랜드명 입력

2.1.8 저장 동작

TC# 구분 테스트 항목 기대 결과
D-080 기능 정상 저장 성공 메시지 + 상세(view) 페이지로 이동
D-081 기능 저장 후 품목코드 자동 생성된 코드 확인
D-082 기능 취소 버튼 목록 페이지로 복귀, 데이터 미저장
D-083 경계 네트워크 오류 시 저장 에러 메시지 표시, 데이터 유지
D-084 기능 저장 후 계속 등록 "저장 후 계속" 버튼으로 연속 등록
D-085 기능 전체 필드 입력 저장 모든 필드 정상 저장 및 조회

2.2 조회 모드 (mode=view)

TC# 구분 테스트 항목 기대 결과
D-100 기본 페이지 로딩 저장된 데이터 표시, 모든 필드 읽기전용
D-101 기본 품목코드 표시 자동 생성된 코드 표시
D-102 UI 버튼 표시 수정/삭제/복사/목록 버튼
D-103 기능 수정 버튼 클릭 edit 모드로 전환
D-104 기능 복사 버튼 클릭 데이터 복사된 신규 등록 모드
D-105 기능 목록 버튼/뒤로가기 목록 페이지로 복귀

2.2.1 이미지 뷰어

TC# 구분 테스트 항목 기대 결과
D-110 기능 대표 이미지 표시 메인 영역에 대표 이미지 표시
D-111 기능 이미지 확대 클릭 시 라이트박스로 확대
D-112 기능 추가 이미지 썸네일 하단에 썸네일 목록
D-113 기능 이미지 전환 썸네일 클릭 시 메인 이미지 변경

2.2.2 재고 현황

TC# 구분 테스트 항목 기대 결과
D-120 기능 재고 현황 표시 현재고, 안전재고, 가용재고 표시
D-121 기능 창고별 재고 창고별 재고 분포 표시
D-122 기능 입출고 이력 최근 입출고 내역 요약

2.2.3 거래 이력

TC# 구분 테스트 항목 기대 결과
D-130 기능 주문 이력 해당 품목 주문 내역
D-131 기능 매출 통계 기간별 매출 현황
D-132 기능 발주 이력 해당 품목 발주 내역

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 기능 삭제 취소 아무 변경 없음
D-215 비즈 주문에 사용된 품목 삭제 삭제 불가, 에러 메시지
D-216 비즈 재고 있는 품목 삭제 삭제 불가 또는 재고 처리 안내

3. 카테고리 관리

3.1 카테고리 CRUD

TC# 구분 테스트 항목 기대 결과
C-001 기능 카테고리 추가 루트 또는 하위 카테고리 추가
C-002 기능 카테고리 수정 카테고리명 수정
C-003 기능 카테고리 삭제 빈 카테고리만 삭제 가능
C-004 기능 카테고리 이동 드래그앤드롭으로 위치 변경
C-005 비즈 품목 있는 카테고리 삭제 삭제 불가, 에러 메시지
C-006 기능 하위 카테고리 계층 최대 3단계 계층 지원

4. 모바일 반응형

TC# 구분 테스트 항목 기대 결과
M-001 UI 목록 모바일 뷰 테이블 → 카드 레이아웃 전환
M-002 UI 카드 핵심 정보 이미지, 품목명, 가격, 재고 표시
M-003 UI 카테고리 트리 햄버거 메뉴로 접근
M-004 UI 상세 페이지 레이아웃 이미지 상단, 정보 하단 배치
M-005 UI 검색/필터 모바일 검색바, 필터 접근 가능

5. API 응답 검증

TC# 구분 테스트 항목 기대 결과
API-001 API GET /products 응답 { success: true, data: { data: [...], total, page, size } }
API-002 API GET /products/{id} 응답 품목 상세 + 재고 정보 + 이미지
API-003 API POST /products 응답 product_code 자동 생성
API-004 API GET /products/categories 응답 카테고리 트리 구조
API-005 API DELETE - 주문 연결 400 에러 + 적절한 에러 메시지
API-006 API 멀티테넌트 격리 다른 tenant 데이터 접근 불가

6. 데이터 정합성

TC# 구분 테스트 항목 기대 결과
I-001 비즈 마진율 계산 (판매가-매입가)/판매가 × 100%
I-002 비즈 재고 동기화 입출고 시 재고 자동 갱신
I-003 비즈 카테고리 품목 수 품목 이동 시 카운트 갱신
I-004 비즈 등록→조회 일치 등록한 데이터 = 조회 데이터
I-005 비즈 이미지 순서 유지 설정한 순서대로 표시

TC 요약

카테고리 건수
목록 페이지 58건
상세/등록 페이지 54건
카테고리 관리 6건
모바일 반응형 5건
API 응답 검증 6건
데이터 정합성 5건
합계 134건

참고: 구분 체계

  • 기본: 페이지 로딩, 기본 표시
  • 기능: 사용자 인터랙션, CRUD 동작
  • UI: 색상, 레이아웃, 뱃지 등 시각 요소
  • 검증: 입력값 유효성 검사
  • 경계: 경계값, 예외 케이스
  • 비즈: 비즈니스 로직 (재고, 가격 등)
  • API: API 레벨 검증