7.3 KiB
7.3 KiB
E2E Test Report: 부서 추가 (계층 구조)
Test ID: department-add Executed: 2026-01-16 10:00:00 Duration: ~3분 Status: ✅ PASS
Summary
| Item | Result |
|---|---|
| Total Steps | 10 |
| Passed | 10 |
| Failed | 0 |
Test Environment
- URL: https://dev.codebridge-x.com/hr/department-management
- User: TestUser5 (홍킬동)
Test Objective
랜덤 데이터로 상위 부서(본부) 생성 후 하위 부서(팀)를 추가하고, 트리 구조로 계층이 표시되는지 검증
Step Results
| Step | Name | Status | Duration | Notes |
|---|---|---|---|---|
| 1 | 부서관리 페이지 진입 | ✅ PASS | 1s | URL: /hr/department-management |
| 2 | 초기 부서 개수 확인 | ✅ PASS | 1s | 13개 부서 존재 |
| 3 | 상위 부서 추가 모달 열기 | ✅ PASS | 1s | "부서 추가" 모달 표시 |
| 4 | 랜덤 상위 부서명 입력 | ✅ PASS | 1s | "테스트본부_20260116" 입력 |
| 5 | 상위 부서 등록 | ✅ PASS | 1s | 모달 닫힘, 부서 추가됨 |
| 6 | 상위 부서 등록 확인 | ✅ PASS | 1s | 14개로 증가, 1번 행에 표시 |
| 7 | 하위 부서 추가 버튼 클릭 | ✅ PASS | 1s | "상위 부서: 테스트본부_20260116" 표시 |
| 8 | 랜덤 하위 부서명 입력 | ✅ PASS | 1s | "개발팀_20260116" 입력 |
| 9 | 하위 부서 등록 | ✅ PASS | 1s | 모달 닫힘, 부서 추가됨 |
| 10 | 계층 구조 확인 | ✅ PASS | 1s | 트리 확장 시 하위 부서 표시 |
Detailed Test Data
랜덤 데이터 생성
상위 부서 (본부):
- Pattern:
{prefix}본부_{timestamp} - 생성값:
테스트본부_20260116 - prefix 옵션: 신규, 테스트, 개발, QA, 운영, 전략, 혁신, 글로벌
하위 부서 (팀):
- Pattern:
{prefix}팀_{timestamp} - 생성값:
개발팀_20260116 - prefix 옵션: 기획, 개발, 디자인, 마케팅, 영업, 지원, 품질, 연구
부서 개수 변화
| 시점 | 전체 부서 | 변화 |
|---|---|---|
| 초기 | 13개 | - |
| 상위 부서 등록 후 | 14개 | +1 |
| 하위 부서 등록 후 | 15개 | +1 |
최종: 15개 부서 (초기 13 + 상위 1 + 하위 1)
계층 구조 검증
테스트본부_20260116 (상위 부서)
└─ 개발팀_20260116 (하위 부서)
트리 동작:
- 확장 버튼 클릭: 하위 부서 표시
- 축소 버튼 클릭: 하위 부서 숨김
- 계층 관계 유지: ✅
모달 동작 검증
상위 부서 추가 모달
| 항목 | 예상 | 실제 | 결과 |
|---|---|---|---|
| 모달 제목 | "부서 추가" | "부서 추가" | ✅ |
| 부서명 필드 | Textbox | Textbox | ✅ |
| 등록 버튼 (입력 전) | Disabled | Disabled | ✅ |
| 등록 버튼 (입력 후) | Enabled | Enabled | ✅ |
| 취소 버튼 | Enabled | Enabled | ✅ |
하위 부서 추가 모달
| 항목 | 예상 | 실제 | 결과 |
|---|---|---|---|
| 모달 제목 | "부서 추가" | "부서 추가" | ✅ |
| 상위 부서 표시 | "상위 부서: 테스트본부_20260116" | "상위 부서: 테스트본부_20260116" | ✅ |
| 부서명 필드 | Textbox | Textbox | ✅ |
| 등록 버튼 (입력 전) | Disabled | Disabled | ✅ |
| 등록 버튼 (입력 후) | Enabled | Enabled | ✅ |
| 취소 버튼 | Enabled | Enabled | ✅ |
등록 동작 검증
상위 부서 등록
| 항목 | 예상 | 실제 | 결과 |
|---|---|---|---|
| 등록 버튼 클릭 | 정상 | 정상 | ✅ |
| 모달 닫힘 | Yes | Yes | ✅ |
| 부서 개수 증가 | 13 → 14 | 13 → 14 | ✅ |
| 목록 표시 | 1번 행 | 1번 행 | ✅ |
| 확장 버튼 존재 | Yes | Yes | ✅ |
하위 부서 등록
| 항목 | 예상 | 실제 | 결과 |
|---|---|---|---|
| 등록 버튼 클릭 | 정상 | 정상 | ✅ |
| 모달 닫힘 | Yes | Yes | ✅ |
| 부서 개수 증가 | 14 → 15 | 14 → 15 | ✅ |
| 목록 표시 | 2번 행 | 2번 행 | ✅ |
| 계층 관계 표시 | 트리 구조 | 트리 구조 | ✅ |
트리 구조 검증
| 동작 | 예상 | 실제 | 결과 |
|---|---|---|---|
| 확장 버튼 존재 | Yes | Yes | ✅ |
| 확장 시 하위 부서 표시 | Yes | Yes | ✅ |
| 축소 시 하위 부서 숨김 | Yes | Yes | ✅ |
| 하위 부서 들여쓰기 | Yes | Yes | ✅ |
| 상위-하위 관계 유지 | Yes | Yes | ✅ |
최종 판정: ✅ PASS (계층 구조 정상 동작)
기존 부서 데이터
테스트 전 이미 13개의 부서가 존재했습니다:
1. 혁신본부_1768385792 (확장 가능)
└─ 개발팀_1768385792
2. 경영본부 (확장 가능)
3. 기술본부 (확장 가능)
4. 영업본부 (확장 가능)
... (총 13개)
Console Logs
테스트 중 Console ERROR 없음.
WARNING 1건:
Warning: Missing `Description` or `aria-describedby={undefined}` for {DialogContent}.
→ 접근성 개선 권장 (기능에는 영향 없음)
Network Requests
부서 추가 시 예상 API 호출:
POST /api/hr/departments
Request Body: {
"name": "테스트본부_20260116",
"parentId": null
}
Response: 200 OK
POST /api/hr/departments
Request Body: {
"name": "개발팀_20260116",
"parentId": {상위부서ID}
}
Response: 200 OK
Issues Found
없음 - 모든 기능이 정상 동작함
Recommendations
개선 제안 (선택사항)
-
접근성 개선:
- Dialog에 aria-describedby 속성 추가
- 모달 제목과 설명 연결
-
UX 개선:
- 부서 등록 성공 시 토스트 메시지 표시 ("부서가 등록되었습니다")
- 하위 부서 추가 시 자동으로 상위 부서 확장
-
데이터 검증:
- 중복 부서명 검증 (현재는 timestamp로 중복 방지)
- 부서명 길이 제한 안내 (최대 N자)
-
트리 구조 개선:
- 확장/축소 아이콘을 더 명확하게 (+ / -)
- 하위 부서가 있는 경우 상위 부서 배경색 구분
Technical Details
페이지 URL
- 목록:
/hr/department-management
예상 API 엔드포인트
GET /api/hr/departments - 부서 목록 조회
POST /api/hr/departments - 부서 추가
PUT /api/hr/departments/{id} - 부서 수정
DELETE /api/hr/departments/{id} - 부서 삭제
데이터 상태
- 테스트 전: 13개 부서
- 테스트 후: 15개 부서 (테스트본부_20260116, 개발팀_20260116 추가)
UI 컴포넌트
- 추가 버튼: 최상위 부서 추가
- 하위 부서 추가 버튼: 각 행의 아이콘 버튼
- 확장/축소 버튼: 트리 구조 토글
- 모달: 부서명 입력 폼
Random Data Generation Test
이 시나리오는 랜덤 데이터 생성 기능을 성공적으로 테스트했습니다.
지원되는 랜덤 필드
상위 부서 (본부):
- ✅ Pattern:
{prefix}본부_{timestamp} - ✅ Prefix 옵션: 신규, 테스트, 개발, QA, 운영, 전략, 혁신, 글로벌
- ✅ Timestamp: YYYYMMDD 형식
하위 부서 (팀):
- ✅ Pattern:
{prefix}팀_{timestamp} - ✅ Prefix 옵션: 기획, 개발, 디자인, 마케팅, 영업, 지원, 품질, 연구
- ✅ Timestamp: YYYYMMDD 형식
실제 생성된 데이터
{
"parentDepartment": "테스트본부_20260116",
"childDepartment": "개발팀_20260116"
}
중복 방지: ✅ Timestamp 포함으로 중복 방지됨
Next Steps
✅ 부서 추가 및 계층 구조 기능 정상 동작 확인됨 - 추가 작업 불필요