Files
sam-hotfix/testcase/TC_ATTENDANCE_MANAGEMENT.md
김보곤 413ea86fc0 test: E2E 전체 테스트 결과 추가 (2026-01-31)
- 57개 시나리오 테스트 완료 (56 PASS, 1 FAIL)
- 성공 리포트: success/
- 실패 리포트: Fail-account-info (마이페이지 미구현)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 21:19:12 +09:00

9.4 KiB

TC - 근태관리 (Attendance Management)

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


⚠️ 테스트 환경 안내

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

테스트 실행 지침

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

  2. 데이터 생성 테스트: 근태 등록(D-020D-026), 사유 등록(R-030R-035) 테스트 시 실제 데이터를 생성하여 기능 검증을 수행합니다.

  3. 테스트 데이터 정리: 테스트 완료 후 생성된 테스트 데이터는 정리하여 환경을 유지합니다.


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/attendance-management 정상 로딩, 테이블 표시
L-002 기본 대시보드 카드 표시 "미출근", "정시 출근", "지각", "휴가" 4개 카드
L-003 기본 빈 목록 데이터 없을 때 빈 상태 메시지 표시
L-004 기본 GPS 위치 정보 모킹 Geolocation API 모킹 성공

1.2 테이블 컬럼

TC# 구분 테스트 항목 기대 결과
L-010 기본 컬럼 구성 번호, 부서, 직책, 이름, 직급, 기준일, 출근, 퇴근, 휴게, 연장근무, 사유
L-011 UI 시간 포맷 HH:MM 형식 표시
L-012 UI 사유 표시 출장/휴가/외근/연장근무 텍스트 표시

1.3 기간 필터 (빠른 선택)

TC# 구분 테스트 항목 기대 결과
L-020 기능 당해년도 버튼 해당 년도 데이터 필터링
L-021 기능 전전월 버튼 전전월 데이터 필터링
L-022 기능 전월 버튼 전월 데이터 필터링
L-023 기능 당월 버튼 당월 데이터 필터링
L-024 기능 어제 버튼 어제 데이터 필터링
L-025 기능 오늘 버튼 오늘 데이터 필터링
L-026 UI 활성 버튼 표시 선택된 버튼 강조 표시

1.4 날짜 입력 필터

TC# 구분 테스트 항목 기대 결과
L-030 기능 시작일 입력 날짜 선택 가능
L-031 기능 종료일 입력 날짜 선택 가능
L-032 기능 날짜 필터 적용 선택한 기간 내 데이터만 필터링

1.5 상태 탭 필터

TC# 구분 테스트 항목 기대 결과
L-040 기능 전체 탭 모든 근태 데이터 표시
L-041 기능 미출근 탭 미출근 상태만 필터링
L-042 기능 정시 출근 탭 정시 출근 상태만 필터링
L-043 기능 지각 탭 지각 상태만 필터링
L-044 기능 결근 탭 결근 상태만 필터링
L-045 기능 휴가 탭 휴가 상태만 필터링
L-046 기능 출장 탭 출장 상태만 필터링
L-047 기능 외근 탭 외근 상태만 필터링
L-048 기능 연장근무 탭 연장근무 상태만 필터링

1.6 검색

TC# 구분 테스트 항목 기대 결과
L-050 기능 이름 검색 이름 입력 시 해당 직원만 필터링
L-051 기능 부서 검색 부서명 입력 시 해당 부서만 필터링
L-052 기능 검색어 지우기 검색어 삭제 시 전체 목록 복원
L-053 경계 존재하지 않는 검색어 빈 결과 메시지 표시
L-054 UI 검색 플레이스홀더 "이름, 부서 검색..." 표시

2. 근태 등록 모달

2.1 모달 열기

TC# 구분 테스트 항목 기대 결과
D-001 기능 근태 등록 버튼 클릭 "근태 정보" 모달 열림
D-002 기본 모달 제목 "근태 정보" 표시

2.2 모달 필드

TC# 구분 테스트 항목 기대 결과
D-010 기본 대상 필드 콤보박스, 사원 목록 표시
D-011 기본 기준일 필드 날짜 선택, 기본값 오늘
D-012 기본 출근 시간 필드 시간 선택, 기본값 9:00
D-013 기본 퇴근 시간 필드 시간 선택, 기본값 18:00
D-014 기본 야간 연장 시간 필드 시간 선택, 기본값 0:00
D-015 기본 주말 연장 시간 필드 시간 선택, 기본값 0:00

2.3 근태 등록 실행

TC# 구분 테스트 항목 기대 결과
D-020 기능 대상 선택 사원 선택 가능
D-021 기능 출근 시간 변경 시간 입력/선택 가능
D-022 기능 퇴근 시간 변경 시간 입력/선택 가능
D-023 기능 저장 버튼 클릭 근태 등록 처리
D-024 비즈 ⚠️ 등록 성공 성공 토스트 + 모달 닫힘
D-025 비즈 ⚠️ 데이터 반영 목록에서 등록된 근태 확인
D-026 API POST /api/v1/attendances 근태 등록 API 호출

2.4 취소/닫기

TC# 구분 테스트 항목 기대 결과
D-030 기능 취소 버튼 클릭 모달 닫힘, 데이터 미저장
D-031 기능 ESC 키 모달 닫힘

3. 사유 등록 모달

3.1 모달 열기

TC# 구분 테스트 항목 기대 결과
R-001 기능 사유 등록 버튼 클릭 "사유 정보" 모달 열림
R-002 기본 모달 제목 "사유 정보" 표시

3.2 모달 필드

TC# 구분 테스트 항목 기대 결과
R-010 기본 대상 필드 콤보박스, 사원 목록 표시
R-011 기본 기준일 필드 날짜 선택
R-012 기본 유형 필드 드롭다운, 사유 유형 목록

3.3 사유 유형 옵션

TC# 구분 테스트 항목 기대 결과
R-020 기능 유형 드롭다운 열기 옵션 목록 표시
R-021 기능 출장신청서 선택 출장신청서 선택 가능
R-022 기능 휴가신청서 선택 휴가신청서 선택 가능
R-023 기능 외근신청서 선택 외근신청서 선택 가능
R-024 기능 연장근무신청서 선택 연장근무신청서 선택 가능

3.4 사유 등록 실행

TC# 구분 테스트 항목 기대 결과
R-030 기능 대상 선택 사원 선택 가능
R-031 기능 유형 선택 사유 유형 선택 가능
R-032 기능 등록 버튼 클릭 사유 등록 처리
R-033 비즈 ⚠️ 등록 성공 성공 토스트 + 모달 닫힘
R-034 비즈 ⚠️ 데이터 반영 목록 사유 컬럼에 등록된 사유 표시
R-035 API POST /api/v1/attendance-reasons 사유 등록 API 호출

4. 엑셀 다운로드

TC# 구분 테스트 항목 기대 결과
E-001 기능 엑셀 다운로드 버튼 존재 버튼 표시 확인
E-002 기능 다운로드 실행 Network API 호출 + 실제 파일 다운로드
E-003 API GET /api/v1/attendances/export 엑셀 다운로드 API 호출

5. API 응답 검증

TC# 구분 테스트 항목 기대 결과
A-001 API GET /api/v1/attendances 응답 페이지네이션 포함 목록 반환
A-002 API POST /api/v1/attendances 응답 근태 등록 성공 응답
A-003 API POST /api/v1/attendance-reasons 응답 사유 등록 성공 응답
A-004 API GET /api/v1/attendances/export 응답 엑셀 파일 다운로드

TC 요약

카테고리 건수
목록 페이지 38건
근태 등록 모달 18건
사유 등록 모달 18건
엑셀 다운로드 3건
API 응답 검증 4건
합계 81건