Files
sam-hotfix/testcase/TC_EMPLOYEE_MANAGEMENT.md

267 lines
11 KiB
Markdown
Raw Permalink Normal View History

# TC - 사원관리 (Employee Management)
> **페이지**: https://dev.codebridge-x.com/hr/employee-management
> **작성일**: 2026-01-29
> **대상**: QC Playwright AI 테스트용
---
2026-01-29 20:33:38 +09:00
## ⚠️ 테스트 환경 안내
| 항목 | 내용 |
|------|------|
| **환경 유형** | 개발/테스트 환경 (Development Environment) |
| **운영 환경 여부** | ❌ 아니오 - 운영 환경이 **아닙니다** |
| **데이터 특성** | 테스트용 시드 데이터 및 개발 중 생성된 샘플 데이터 |
| **테스트 정책** | CRUD 전체 테스트 가능 (생성, 수정, 삭제 포함) |
### 테스트 실행 지침
1. **CRUD 테스트 허용**: 이 환경은 개발/테스트 목적으로, 데이터 생성·수정·삭제를 포함한 전체 기능 테스트를 수행해야 합니다.
2. **데이터 생성 테스트**: 신규 등록(C-070~C-072) 테스트 시 실제 데이터를 생성하여 기능 검증을 수행합니다.
3. **데이터 삭제 테스트**: 삭제 테스트(DEL-001~DEL-013)는 테스트 중 생성한 데이터를 대상으로 실행합니다. 기존 시드 데이터는 보존합니다.
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 | 기본 | 페이지 접근 | `/hr/employee-management` 정상 로딩, 테이블 표시 |
| L-002 | 기본 | 페이지 제목 | "사원관리" 표시 |
| L-003 | 기본 | 빈 목록 | 데이터 없을 때 빈 상태 메시지 표시 |
| L-004 | 기본 | 사원 등록 버튼 | "사원 등록" 버튼 존재 |
### 1.2 검색/필터
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-010 | 기능 | 이름 검색 | 이름 입력 시 해당 사원만 필터링 |
| L-011 | 기능 | 부서 검색 | 부서명 입력 시 해당 부서만 필터링 |
| L-012 | 기능 | 검색어 지우기 | 검색어 삭제 시 전체 목록 복원 |
| L-013 | 경계 | 존재하지 않는 검색어 | 빈 결과 메시지 표시 |
### 1.3 기간 검색
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-020 | 기능 | 시작일 입력 | 날짜 선택 가능 |
| L-021 | 기능 | 종료일 입력 | 날짜 선택 가능 |
| L-022 | 기능 | 검색 버튼 | 기간 내 입사일 사원 필터링 |
| L-023 | 기능 | 초기화 버튼 | 검색 조건 초기화, 전체 목록 표시 |
| L-024 | 경계 | 범위 외 기간 검색 | 해당 기간 입사자 없으면 빈 결과 |
### 1.4 행 동작
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-030 | 기능 | 행 클릭 | 사원 상세 페이지로 이동 |
| L-031 | 기능 | 사원 등록 버튼 클릭 | 사원 등록 페이지로 이동 |
---
## 2. 사원 등록
### 2.1 등록 페이지 접근
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| C-001 | 기능 | 등록 페이지 이동 | `/hr/employee-management?mode=new` 이동 |
| C-002 | 기본 | 페이지 제목 | "사원 등록" 표시 |
| C-003 | 기본 | 빈 폼 표시 | 모든 필드 빈 상태 |
### 2.2 사원 정보 입력
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| C-010 | 기능 | 이름 입력 (*필수) | 텍스트 입력 가능 |
| C-011 | 기능 | 주민등록번호 입력 | 텍스트 입력 가능 |
| C-012 | 기능 | 휴대폰 입력 | 텍스트 입력 가능 |
| C-013 | 기능 | 이메일 입력 (*필수) | 텍스트 입력 가능 |
| C-014 | 기능 | 연봉 입력 | 숫자 입력 가능 |
### 2.3 급여계좌 정보 입력
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| C-020 | 기능 | 은행명 입력 | 텍스트 입력 가능 |
| C-021 | 기능 | 계좌번호 입력 | 텍스트 입력 가능 |
| C-022 | 기능 | 예금주 입력 | 텍스트 입력 가능 |
### 2.4 사원 상세 정보 입력
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| C-030 | 기능 | 사원코드 입력 | 텍스트 입력 가능 |
| C-031 | 기능 | 성별 선택 | 라디오 버튼 선택 (남성/여성) |
| C-032 | 기능 | 상세주소 입력 | 텍스트 입력 가능 |
### 2.5 인사 정보 입력
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| C-040 | 기능 | 입사일 선택 | 날짜 선택 가능 |
| C-041 | 기능 | 고용형태 선택 | 드롭다운 선택 (정규직/계약직 등) |
| C-042 | 기능 | 직급 선택 | 드롭다운 선택 (사원/대리/과장 등) |
### 2.6 사용자 정보 입력
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| C-050 | 기능 | 아이디 입력 (*필수) | 텍스트 입력 가능 |
| C-051 | 기능 | 비밀번호 입력 (*필수) | 텍스트 입력 가능 |
| C-052 | 기능 | 비밀번호 확인 (*필수) | 텍스트 입력 가능 |
| C-053 | 검증 | 비밀번호 불일치 | 에러 메시지 표시 |
### 2.7 필수값 검증
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| C-060 | 검증 | 이름 미입력 | 저장 시 필수값 에러 메시지 |
| C-061 | 검증 | 이메일 미입력 | 저장 시 필수값 에러 메시지 |
| C-062 | 검증 | 아이디 미입력 | 저장 시 필수값 에러 메시지 |
| C-063 | 검증 | 비밀번호 미입력 | 저장 시 필수값 에러 메시지 |
### 2.8 저장
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| C-070 | 기능 | 등록 버튼 클릭 | 사원 등록 처리 |
| C-071 | 비즈 | 등록 성공 | 성공 토스트 + 목록 페이지 이동 |
| C-072 | 비즈 | ⚠️ 데이터 반영 | 목록에서 등록된 사원 확인 |
---
## 3. 사원 상세 조회
### 3.1 상세 페이지 접근
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-001 | 기능 | 상세 페이지 이동 | `/hr/employee-management/{id}` 이동 |
| D-002 | 기본 | 페이지 제목 | "사원 상세" 표시 |
| D-003 | 기본 | 버튼 표시 | 수정, 삭제, 목록 버튼 존재 |
### 3.2 상세 정보 표시
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-010 | 기본 | 사원 정보 표시 | 이름, 주민등록번호, 휴대폰, 이메일, 연봉 표시 |
| D-011 | 기본 | 급여계좌 정보 표시 | 은행명, 계좌번호, 예금주 표시 |
| D-012 | 기본 | 인사 정보 표시 | 입사일, 고용형태, 직급 표시 |
---
## 4. 사원 수정
### 4.1 수정 모드 전환
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| U-001 | 기능 | 수정 버튼 클릭 | 수정 모드 전환 |
| U-002 | 기본 | URL 변경 | `?mode=edit` 파라미터 추가 |
| U-003 | 기본 | 버튼 변경 | 취소, 저장 버튼 표시 |
### 4.2 정보 수정
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| U-010 | 기능 | 휴대폰 수정 | 번호 변경 가능 |
| U-011 | 기능 | 이메일 수정 | 이메일 변경 가능 |
| U-012 | 기능 | 연봉 수정 | 금액 변경 가능 |
### 4.3 수정 저장
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| U-020 | 기능 | 저장 버튼 클릭 | 수정 내용 저장 |
| U-021 | 비즈 | 수정 성공 | 성공 토스트 + 상세 모드 복귀 |
| U-022 | 비즈 | ⚠️ 데이터 반영 | 상세 페이지에서 수정된 정보 확인 |
### 4.4 수정 취소
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| U-030 | 기능 | 취소 버튼 클릭 | 상세 모드 복귀, 변경사항 미저장 |
---
## 5. 사원 삭제
### 5.1 삭제 실행
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| DEL-001 | 기능 | 삭제 버튼 클릭 | 삭제 확인 다이얼로그 표시 |
| DEL-002 | UI | 확인 다이얼로그 | "삭제하시겠습니까" 텍스트 표시 |
### 5.2 삭제 확인/취소
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| DEL-010 | 기능 | 확인 버튼 클릭 | 사원 삭제 처리 |
| DEL-011 | 비즈 | 삭제 성공 | 성공 토스트 + 목록 페이지 이동 |
| DEL-012 | 비즈 | ⚠️ 데이터 반영 | 목록에서 삭제된 사원 없음 확인 |
| DEL-013 | 기능 | 취소 버튼 클릭 | 다이얼로그 닫힘, 아무 변경 없음 |
---
## 6. CRUD 흐름 통합 테스트
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| CRUD-001 | 통합 | 생성 → 조회 | 등록 후 상세 페이지에서 확인 |
| CRUD-002 | 통합 | 조회 → 수정 | 상세에서 수정 후 변경 확인 |
| CRUD-003 | 통합 | 수정 → 삭제 | 수정된 데이터 삭제 후 목록에서 제거 확인 |
| CRUD-004 | 통합 | 전체 흐름 | 생성 → 조회 → 수정 → 삭제 전체 동작 |
---
## 7. API 응답 검증
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| A-001 | API | GET /api/v1/employees 응답 | 페이지네이션 포함 목록 반환 |
| A-002 | API | POST /api/v1/employees 응답 | 사원 등록 성공 응답 |
| A-003 | API | GET /api/v1/employees/{id} 응답 | 사원 상세 반환 |
| A-004 | API | PUT /api/v1/employees/{id} 응답 | 사원 수정 성공 응답 |
| A-005 | API | DELETE /api/v1/employees/{id} 응답 | 사원 삭제 성공 응답 |
---
## TC 요약
| 카테고리 | 건수 |
|----------|------|
| 목록 페이지 | 16건 |
| 사원 등록 | 30건 |
| 사원 상세 조회 | 6건 |
| 사원 수정 | 10건 |
| 사원 삭제 | 5건 |
| CRUD 통합 테스트 | 4건 |
| API 응답 검증 | 5건 |
| **합계** | **76건** |