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

352 lines
15 KiB
Markdown

# TC - 부서관리 (Department Management)
> **페이지**: https://dev.codebridge-x.com/hr/department-management
> **작성일**: 2026-01-29
> **대상**: QC Playwright AI 테스트용
---
## ⚠️ 테스트 환경 안내
| 항목 | 내용 |
|------|------|
| **환경 유형** | 개발/테스트 환경 (Development Environment) |
| **운영 환경 여부** | ❌ 아니오 - 운영 환경이 **아닙니다** |
| **데이터 특성** | 테스트용 시드 데이터 및 개발 중 생성된 샘플 데이터 |
| **테스트 정책** | CRUD 전체 테스트 가능 (생성, 수정, 삭제 포함) |
### 테스트 실행 지침
1. **CRUD 테스트 허용**: 이 환경은 개발/테스트 목적으로, 데이터 생성·수정·삭제를 포함한 전체 기능 테스트를 수행해야 합니다.
2. **부서 등록 테스트**: 신규 부서 등록 테스트 시 실제 데이터를 생성하여 기능 검증을 수행합니다.
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. 조직도 페이지 (Organization Chart)
### 1.1 페이지 로딩
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-001 | 기본 | 페이지 접근 | `/hr/department-management` 정상 로딩, 조직도 표시 |
| L-002 | 기본 | 조직도 트리 | 계층형 조직 구조 트리 표시 |
| L-003 | 기본 | 루트 회사 | 최상위에 회사(법인) 노드 표시 |
| L-004 | 기본 | 통계 정보 | 총 부서 수, 총 직원 수 표시 |
| L-005 | 기본 | 빈 조직도 | 부서 없을 때 빈 상태 메시지 |
### 1.2 조직도 표시
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-010 | UI | 트리 구조 | 부모-자식 관계 시각적 표현 |
| L-011 | UI | 부서명 표시 | 각 노드에 부서명 표시 |
| L-012 | UI | 부서장 표시 | 부서장명 또는 빈 상태 표시 |
| L-013 | UI | 직원 수 표시 | 부서별 소속 직원 수 표시 |
| L-014 | UI | 레벨 들여쓰기 | 계층별 들여쓰기로 구분 |
| L-015 | UI | 펼침/접힘 아이콘 | 하위 부서 있으면 토글 아이콘 |
### 1.3 조직도 네비게이션
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-020 | 기능 | 부서 펼치기 | 클릭 시 하위 부서 펼침 |
| L-021 | 기능 | 부서 접기 | 다시 클릭 시 하위 부서 접힘 |
| L-022 | 기능 | 전체 펼치기 | "전체 펼치기" 버튼 클릭 시 전체 펼침 |
| L-023 | 기능 | 전체 접기 | "전체 접기" 버튼 클릭 시 전체 접힘 |
| L-024 | 기능 | 부서 클릭 | 부서 상세 패널/페이지 표시 |
| L-025 | 기능 | 부서 검색 | 부서명 검색 시 해당 부서 하이라이트 |
### 1.4 뷰 모드
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| L-030 | 기능 | 트리 뷰 | 트리 형태 조직도 |
| L-031 | 기능 | 차트 뷰 | 조직도 차트 형태 (수평 또는 수직) |
| L-032 | 기능 | 리스트 뷰 | 테이블 형태 부서 목록 |
| L-033 | 기능 | 뷰 전환 | 뷰 모드 간 전환 |
| L-034 | 기능 | 줌 인/아웃 | 차트 뷰에서 확대/축소 |
---
## 2. 부서 목록 (리스트 뷰)
### 2.1 테이블 구성
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| T-001 | 기본 | 컬럼 구성 | 번호, 부서코드, 부서명, 상위부서, 부서장, 직원수, 사용여부, 작업 |
| T-002 | UI | 계층 표시 | 부서명 앞에 레벨 표시 (└ 또는 들여쓰기) |
| T-003 | UI | 사용여부 뱃지 | 사용=초록, 미사용=회색 |
### 2.2 검색/필터
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| T-010 | 기능 | 부서명 검색 | 부서명 일부 입력 시 해당 부서 필터링 |
| T-011 | 기능 | 부서코드 검색 | 부서코드로 검색 |
| T-012 | 기능 | 사용여부 필터 | 사용중/미사용 필터 |
| T-013 | 기능 | 상위부서 필터 | 특정 상위부서 하위만 표시 |
| T-014 | 경계 | 검색 결과 없음 | 빈 결과 + 메시지 표시 |
### 2.3 정렬
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| T-020 | 기능 | 조직순서 | 조직도 순서대로 정렬 (기본) |
| T-021 | 기능 | 부서명순 | 부서명 가나다순 |
| T-022 | 기능 | 직원수순 | 직원 수 내림차순 |
| T-023 | 기능 | 등록순 | 등록일 오름차순 |
### 2.4 행 동작
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| T-030 | 기능 | 행 클릭 | 부서 상세 페이지로 이동 |
| T-031 | 기능 | 호버 시 작업 버튼 | 수정/삭제/이동 버튼 표시 |
| T-032 | 기능 | 수정 버튼 | 부서 수정 모달/페이지 |
| T-033 | 기능 | 삭제 버튼 | 삭제 확인 다이얼로그 |
| T-034 | 기능 | 이동 버튼 | 상위 부서 변경 모달 |
---
## 3. 부서 등록/수정
### 3.1 부서 등록 (mode=new)
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-001 | 기본 | 모달/페이지 로딩 | 부서 등록 폼 표시 |
| D-002 | 기본 | 부서코드 자동 생성 | 자동 생성 옵션 또는 수동 입력 |
#### 3.1.1 필수값 검증
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-010 | 검증 | 부서명 미입력 | 저장 시 필수값 에러 메시지 |
| D-011 | 검증 | 부서코드 미입력 | 저장 시 필수값 에러 메시지 (수동 입력 시) |
| D-012 | 검증 | 상위부서 미선택 | 루트가 아닌 경우 에러 메시지 |
#### 3.1.2 기본 정보 입력
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-020 | 기능 | 부서명 입력 | 최대 50자, 부서명 입력 |
| D-021 | 기능 | 부서명(영문) 입력 | 영문 부서명 (선택) |
| D-022 | 기능 | 부서코드 입력 | 영문+숫자 조합 코드 |
| D-023 | 기능 | 상위부서 선택 | 드롭다운 또는 트리에서 선택 |
| D-024 | 기능 | 부서장 선택 | 직원 검색 후 부서장 지정 |
| D-025 | 기능 | 표시순서 입력 | 동일 레벨 내 순서 지정 |
| D-026 | 기능 | 사용여부 설정 | 사용/미사용 토글 |
| D-027 | 경계 | 부서명 중복 | 동일 레벨 내 부서명 중복 시 에러 |
| D-028 | 경계 | 부서코드 중복 | 부서코드 중복 시 에러 |
#### 3.1.3 추가 정보
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-030 | 기능 | 전화번호 입력 | 부서 대표 전화번호 |
| D-031 | 기능 | 팩스번호 입력 | 부서 팩스번호 |
| D-032 | 기능 | 위치 입력 | 부서 위치 (건물/층/호) |
| D-033 | 기능 | 비고 입력 | 추가 설명 (최대 500자) |
#### 3.1.4 저장 동작
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-040 | 기능 | 정상 저장 | 성공 메시지 + 목록 갱신 |
| D-041 | 기능 | 저장 후 계속 등록 | 저장 후 빈 폼으로 초기화 |
| D-042 | 기능 | 취소 버튼 | 모달 닫기 또는 목록 복귀 |
| D-043 | 비즈 | 조직도 실시간 반영 | 저장 후 조직도에 새 부서 표시 |
### 3.2 부서 수정 (mode=edit)
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-100 | 기본 | 모달/페이지 로딩 | 기존 데이터 채워진 폼 |
| D-101 | 기본 | 부서코드 읽기전용 | 코드 수정 불가 (설정에 따라) |
| D-102 | 기능 | 부서명 수정 | 부서명 변경 |
| D-103 | 기능 | 상위부서 변경 | 다른 상위부서로 이동 |
| D-104 | 기능 | 부서장 변경 | 다른 직원으로 부서장 변경 |
| D-105 | 기능 | 순서 변경 | 표시 순서 변경 |
| D-106 | 기능 | 비활성화 | 사용여부 OFF |
| D-107 | 비즈 | 자기 자신 하위로 이동 | 자기 자신 또는 하위를 상위로 불가 |
### 3.3 부서 삭제
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| D-110 | 기능 | 삭제 버튼 클릭 | 삭제 확인 다이얼로그 표시 |
| D-111 | 기능 | 삭제 확인 | 부서 삭제, 조직도 갱신 |
| D-112 | 기능 | 삭제 취소 | 아무 변경 없음 |
| D-113 | 비즈 | 하위부서 있는 경우 | 삭제 불가, 하위부서 먼저 삭제 안내 |
| D-114 | 비즈 | 소속 직원 있는 경우 | 삭제 불가, 직원 이동 먼저 안내 |
| D-115 | 비즈 | 결재선 참조 | 결재선에 사용 중이면 삭제 불가 |
---
## 4. 부서 상세 페이지
### 4.1 기본 정보 표시
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| V-001 | 기본 | 페이지 로딩 | 부서 상세 정보 표시 |
| V-002 | UI | 부서 정보 카드 | 부서명, 코드, 상위부서, 부서장, 위치 등 |
| V-003 | UI | 조직도 위치 | 현재 부서의 조직도 내 위치 표시 |
| V-004 | 기능 | 수정 버튼 | 수정 모드로 전환 |
| V-005 | 기능 | 목록 버튼 | 목록 페이지로 복귀 |
### 4.2 소속 직원 목록
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| V-010 | 기능 | 직원 목록 | 해당 부서 소속 직원 목록 표시 |
| V-011 | UI | 직원 정보 | 사원번호, 이름, 직급, 입사일 |
| V-012 | UI | 부서장 표시 | 부서장 뱃지 또는 아이콘 |
| V-013 | 기능 | 직원 클릭 | 직원 상세 페이지로 이동 |
| V-014 | 기능 | 직원 검색 | 부서 내 직원 검색 |
### 4.3 하위 부서 목록
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| V-020 | 기능 | 하위부서 목록 | 직속 하위 부서 목록 표시 |
| V-021 | 기능 | 하위부서 클릭 | 해당 부서 상세로 이동 |
| V-022 | 기능 | 하위부서 추가 | 현재 부서를 상위로 하는 부서 추가 |
---
## 5. 부서 이동
### 5.1 개별 이동
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| M-001 | 기능 | 이동 모달 | 상위부서 선택 모달 표시 |
| M-002 | 기능 | 상위부서 트리 | 이동 가능한 부서 트리 표시 |
| M-003 | 기능 | 부서 선택 | 새 상위부서 선택 |
| M-004 | 기능 | 이동 확인 | 부서 이동 + 조직도 갱신 |
| M-005 | 비즈 | 자기 하위로 이동 | 자기 자신 또는 하위를 상위로 불가 |
| M-006 | 비즈 | 순환 참조 방지 | 순환 참조 발생 시 에러 |
### 5.2 드래그앤드롭 이동
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| M-010 | 기능 | 부서 드래그 | 조직도에서 부서 드래그 시작 |
| M-011 | UI | 드롭 영역 표시 | 이동 가능한 영역 하이라이트 |
| M-012 | 기능 | 부서 드롭 | 새 위치에 드롭 시 이동 |
| M-013 | UI | 이동 취소 | ESC 또는 원위치 드롭 시 취소 |
| M-014 | 비즈 | 잘못된 위치 드롭 | 불가능한 위치에 드롭 시 복귀 |
### 5.3 순서 변경
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| M-020 | 기능 | 동일 레벨 내 순서 | 형제 부서 간 순서 변경 |
| M-021 | 기능 | 위로 이동 | "위로" 버튼 클릭 시 순서 올림 |
| M-022 | 기능 | 아래로 이동 | "아래로" 버튼 클릭 시 순서 내림 |
| M-023 | 기능 | 드래그 순서 변경 | 드래그앤드롭으로 순서 변경 |
---
## 6. 일괄 작업
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| B-001 | 기능 | 다중 선택 | 체크박스로 여러 부서 선택 |
| B-002 | 기능 | 일괄 비활성화 | 선택 부서 일괄 비활성화 |
| B-003 | 기능 | 일괄 활성화 | 선택 부서 일괄 활성화 |
| B-004 | 기능 | Excel 내보내기 | 부서 목록 Excel 다운로드 |
| B-005 | 기능 | Excel 가져오기 | Excel로 부서 일괄 등록 |
---
## 7. 모바일 반응형
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| MB-001 | UI | 조직도 모바일 | 세로 스크롤 조직도 |
| MB-002 | UI | 부서 카드 | 모바일에서 카드 형태 표시 |
| MB-003 | UI | 터치 네비게이션 | 터치로 펼치기/접기 |
| MB-004 | UI | 부서 등록 모바일 | 모바일 친화적 폼 |
| MB-005 | UI | 부서 검색 모바일 | 모바일 검색 UI |
---
## 8. API 응답 검증
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| API-001 | API | GET /departments 응답 | `{ success: true, data: [...] }` (트리 구조) |
| API-002 | API | GET /departments/{id} 응답 | 부서 상세 + 소속 직원 |
| API-003 | API | POST /departments 응답 | 신규 부서 ID 반환 |
| API-004 | API | PUT /departments/{id} 응답 | 수정 결과 |
| API-005 | API | PUT /departments/{id}/move 응답 | 이동 결과 |
| API-006 | API | DELETE /departments/{id} 응답 | 삭제 결과 |
| API-007 | API | 멀티테넌트 격리 | 다른 tenant 데이터 접근 불가 |
---
## 9. 데이터 정합성
| TC# | 구분 | 테스트 항목 | 기대 결과 |
|-----|------|------------|-----------|
| I-001 | 비즈 | 직원 수 일치 | 부서 직원 수 = 실제 소속 직원 수 |
| I-002 | 비즈 | 계층 구조 | 부모-자식 관계 무결성 |
| I-003 | 비즈 | 순환 참조 방지 | 자기 자신을 상위로 불가 |
| I-004 | 비즈 | 부서장 소속 | 부서장은 해당 부서 소속 직원 |
| I-005 | 비즈 | 삭제 후 연관 | 부서 삭제 시 직원 부서 null 또는 이동 |
| I-006 | 비즈 | 이동 후 계층 | 이동 후 계층 깊이 정확성 |
---
## TC 요약
| 카테고리 | 건수 |
|----------|------|
| 조직도 페이지 | 20건 |
| 부서 목록 | 16건 |
| 부서 등록/수정 | 25건 |
| 부서 상세 페이지 | 10건 |
| 부서 이동 | 14건 |
| 일괄 작업 | 5건 |
| 모바일 반응형 | 5건 |
| API 응답 검증 | 7건 |
| 데이터 정합성 | 6건 |
| **합계** | **108건** |
---
## 참고: 구분 체계
- **기본**: 페이지 로딩, 기본 표시
- **기능**: 사용자 인터랙션, CRUD 동작
- **UI**: 색상, 레이아웃, 아이콘 등 시각 요소
- **검증**: 입력값 유효성 검사
- **경계**: 경계값, 예외 케이스
- **비즈**: 비즈니스 로직 (계층 구조, 순환 참조 등)
- **API**: API 레벨 검증