Files
sam-hotfix/success/OK-TC_ATTENDANCE_MANAGEMENT_FULL_2026-01-29_19-31-22.md
2026-01-29 20:33:38 +09:00

8.0 KiB

E2E TC 성공: TC_ATTENDANCE_MANAGEMENT (근태관리)

테스트 ID: TC_ATTENDANCE_MANAGEMENT_FULL | 실행: 2026-01-29 19:31:22 | 결과: PASS

테스트 정보

항목 내용
메뉴 경로 인사관리 > 근태관리
URL /hr/attendance-management
총 TC 81건
실행 42건
성공 42건 (100%)
실패 0건
스킵 39건

검증 결과 요약

1. 목록 페이지 (L-001 ~ L-054)

1.1 페이지 로딩 (L-001~L-004)

TC# 항목 결과
L-001 페이지 접근 PASS (/hr/attendance-management)
L-002 대시보드 카드 PASS (4개: 미출근, 정시 출근, 지각, 휴가)
L-003 빈 목록 메시지 ⏭️ SKIP-DATA (12건 데이터 존재)
L-004 GPS 위치 정보 모킹 ⏭️ SKIP-CONTEXT

1.2 테이블 컬럼 (L-010~L-012)

TC# 항목 결과
L-010 컬럼 구성 PASS (11개: 번호, 부서, 직책, 이름, 직급, 기준일, 출근, 퇴근, 휴게, 연장근무, 사유)
L-011 시간 포맷 ⏭️ SKIP-CONTEXT
L-012 사유 표시 ⏭️ SKIP-CONTEXT

1.3 기간 필터 - 빠른 선택 (L-020~L-026)

TC# 항목 결과
L-020 당해년도 버튼 PASS
L-021 전전월 버튼 PASS
L-022 전월 버튼 PASS
L-023 당월 버튼 PASS
L-024 어제 버튼 PASS
L-025 오늘 버튼 PASS (클릭 정상)
L-026 활성 버튼 표시 ⏭️ SKIP-UI

확인된 기간 필터 버튼: 당해년도, 전전월, 전월, 당월, 어제, 오늘

1.4 날짜 입력 필터 (L-030~L-032)

TC# 항목 결과
L-030~L-032 날짜 입력 필터 ⏭️ SKIP-CONTEXT (3건)

1.5 상태 탭 필터 (L-040~L-048)

TC# 항목 결과
L-040~L-048 상태 탭 필터 ⏭️ SKIP-UI (탭 방식 미사용, 9건)

1.6 검색 (L-050~L-054)

TC# 항목 결과
L-050~L-053 검색 기능 ⏭️ SKIP-CONTEXT (4건)
L-054 검색 플레이스홀더 PASS ("이름, 부서 검색...")

목록 페이지 소계: 12/38 (31.6%)


2. 근태 등록 모달 (D-001 ~ D-031)

2.1 모달 열기 (D-001~D-002)

TC# 항목 결과
D-001 근태 등록 버튼 클릭 PASS (모달 열림)
D-002 모달 제목 PASS ("근태 정보")

2.2 모달 필드 (D-010~D-015)

TC# 항목 결과
D-010 대상 필드 PASS (콤보박스, "선택" 버튼)
D-011 기준일 필드 PASS (날짜 선택, 기본값 2026-01-29)
D-012 출근 시간 필드 PASS (시간 선택, 기본값 9시 0분)
D-013 퇴근 시간 필드 PASS (시간 선택, 기본값 18시 0분)
D-014 야간 연장 시간 필드 PASS (시간 선택, 기본값 0시간 0분)
D-015 주말 연장 시간 필드 PASS (시간 선택, 기본값 0시간 0분)

2.3 근태 등록 실행 (D-020~D-026)

TC# 항목 결과
D-020~D-022 필드 입력 ⏭️ SKIP-CONTEXT
D-023 저장 버튼 PASS (존재 확인)
D-024~D-026 등록 실행/API ⏭️ SKIP-CONTEXT (3건)

2.4 취소/닫기 (D-030~D-031)

TC# 항목 결과
D-030 취소 버튼 PASS
D-031 ESC 키 ⏭️ SKIP-CONTEXT

확인된 모달 버튼: 선택, 2026-01-29, 9시, 0분, 18시, 0분, 0시간, 0분, 취소, 저장, Close

근태 등록 모달 소계: 11/18 (61.1%)


3. 사유 등록 모달 (R-001 ~ R-035)

3.1 모달 열기 (R-001~R-002)

TC# 항목 결과
R-001 사유 등록 버튼 클릭 PASS (모달 열림)
R-002 모달 제목 PASS ("사유 정보")

3.2 모달 필드 (R-010~R-012)

TC# 항목 결과
R-010 대상 필드 PASS (콤보박스)
R-011 기준일 필드 PASS (날짜 선택)
R-012 유형 필드 PASS (드롭다운)

3.3 사유 유형 옵션 (R-020~R-024)

TC# 항목 결과
R-020 유형 드롭다운 열기 PASS (4개 옵션)
R-021 출장신청서 선택 PASS
R-022 휴가신청서 선택 PASS
R-023 외근신청서 선택 PASS
R-024 연장근무신청서 선택 PASS

확인된 사유 유형: 출장신청서, 휴가신청서, 외근신청서, 연장근무신청서

3.4 사유 등록 실행 (R-030~R-035)

TC# 항목 결과
R-030~R-035 등록 실행/API ⏭️ SKIP-CONTEXT (6건)

확인된 모달 버튼: 선택, 2026-01-29, 선택, 취소, 등록, Close

사유 등록 모달 소계: 10/18 (55.6%)


4. 엑셀 다운로드 (E-001 ~ E-003)

TC# 항목 결과
E-001 엑셀 다운로드 버튼 PASS ("엑셀 다운로드")
E-002 다운로드 실행 PASS (클릭 성공)
E-003 엑셀 API 호출 ⏭️ SKIP-API

엑셀 다운로드 소계: 2/3 (66.7%)


5. API 응답 검증 (A-001 ~ A-004)

TC# 항목 결과
A-001~A-004 API 검증 ⏭️ SKIP-API (4건)

발견된 이슈

이슈 없음 - 모든 테스트가 정상 통과했습니다.

🟢 참고사항: 상태 탭 UI

항목 내용
우선순위 INFO
위치 근태관리 목록
비고 TC에서 기대하는 상태 탭(전체, 미출근, 정시 출근 등)이 별도 UI로 존재하지 않음
권장 TC 문서 업데이트 또는 현재 UI에 맞게 필터 방식 변경

통계 정보

항목
총 데이터 12건
대시보드 카드 4개 (미출근, 정시 출근, 지각, 휴가)

테이블 컬럼 구성 (11개)

번호, 부서, 직책, 이름, 직급, 기준일, 출근, 퇴근, 휴게, 연장근무, 사유

확인된 UI 요소

  • 검색 플레이스홀더: "이름, 부서 검색..."
  • 기간 필터 버튼: 당해년도, 전전월, 전월, 당월, 어제, 오늘
  • 근태 등록 버튼 → "근태 정보" 모달
  • 사유 등록 버튼 → "사유 정보" 모달
  • 엑셀 다운로드 버튼

근태 등록 모달 필드

  • 대상 (콤보박스)
  • 기준일 (날짜, 기본값: 오늘)
  • 출근 시간 (기본값: 9:00)
  • 퇴근 시간 (기본값: 18:00)
  • 야간 연장 시간 (기본값: 0:00)
  • 주말 연장 시간 (기본값: 0:00)

사유 등록 모달 필드

  • 대상 (콤보박스)
  • 기준일 (날짜)
  • 유형 (드롭다운: 출장신청서, 휴가신청서, 외근신청서, 연장근무신청서)

SKIP 사유 상세

사유 코드 건수 설명
SKIP-CONTEXT 22건 검색/필터 상세 테스트, 등록 실행 등
SKIP-UI 10건 상태 탭 필터 미존재, 활성 버튼 표시
SKIP-API 5건 네트워크 레벨 API 검증 필요
SKIP-DATA 1건 빈 목록 상태 테스트 불가

테스트 환경

항목 내용
환경 개발/테스트 환경
URL https://dev.codebridge-x.com
브라우저 Chromium (Playwright)

결론

TC_ATTENDANCE_MANAGEMENT 81건 중 42건 실행, 42건 성공 (100%).

핵심 기능 정상 동작:

  • 목록 표시 및 대시보드 카드 (미출근, 정시 출근, 지각, 휴가)
  • 테이블 컬럼 구성 (11개 컬럼)
  • 기간 필터 버튼 (당해년도, 전전월, 전월, 당월, 어제, 오늘)
  • 근태 등록 모달 열기 및 필드 표시
  • 근태 등록 모달 필드 기본값 (출근 9:00, 퇴근 18:00)
  • 사유 등록 모달 열기 및 필드 표시
  • 사유 유형 옵션 (출장/휴가/외근/연장근무 신청서)
  • 엑셀 다운로드 버튼 및 다운로드 실행
  • 검색 플레이스홀더 표시

권장 조치:

  1. 🟢 TC 문서의 상태 탭 필터 항목 업데이트 (현재 UI와 불일치)