Files
MH-DashBoard-organization/docs/REGRESSION_CHECKLIST.md
2026-03-31 17:47:39 +09:00

5.9 KiB

회귀 검증 체크리스트

목적

  • 새 기능을 추가하거나 기존 기능을 수정할 때, 이전에 되던 핵심 기능이 깨졌는지 빠르게 확인한다.
  • 8081 작업용에서 검증한 결과를 신뢰할 수 있도록 환경, 데이터, 핵심 시나리오를 고정한다.
  • 완료 판단을 감이 아니라 반복 가능한 체크 절차로 바꾼다.

적용 원칙

  • 코드 수정은 먼저 8081에서 수행한다.
  • 데이터 기준은 항상 8080 공개용 DB를 따른다.
  • 검증 전에는 작업 범위에 맞는 DB 동기화를 먼저 수행한다.
  • 기능 수정 후에는 관련 화면만 보지 말고, 이 문서의 핵심 시나리오를 함께 확인한다.

관련 문서:

작업 시작 전

1. 서버 상태 확인

  • 8081 작업용 접속 확인
  • 8080 공개용 접속 확인
  • docker compose ps에서 backend, frontend, proxy, db가 정상인지 확인
  • 8081은 기본적으로 ./scripts/start_8081.sh 또는 ./scripts/prepare_dev_worktree.sh.dev-worktree-8081 에서 docker compose -p mh-dashboard-organization-dev --env-file .env -f docker-compose.8081.yml up -d --build 로 기동
  • 8081 기동 후 docker inspect mh-dashboard-organization-dev-backend-1에서 마운트 경로가 .dev-worktree-8081/...인지 확인

2. 데이터 동기화 범위 결정

  • 조직도, 관리자모드, 자리배치도 작업 전:
    • ./scripts/sync_prod_db_to_dev.sh minimal
  • 프로젝트별 분석, 팀/개인별 분석 작업 전:
    • ./scripts/sync_prod_db_to_dev.sh analysis
  • 공개용 기준 전체 데이터 재검증이 필요한 경우만:
    • ./scripts/sync_prod_db_to_dev.sh full

3. 기준 고정

  • 어느 서버에서 재현했는지 기록
  • 어떤 데이터 동기화 범위로 검증했는지 기록
  • 브라우저 캐시 영향을 피하려면 강력 새로고침 후 확인

공통 회귀 시나리오

기능 수정 후 아래 항목을 최소한 확인한다.

A. 허브 및 공통 진입

  • 메인 허브가 정상 렌더링된다.
  • 상단 탭 이동이 정상 동작한다.
  • 로그인 상태가 비정상적으로 풀리지 않는다.

B. 조직현황

  • 조직도 트리가 정상 표시된다.
  • 관리자모드 진입이 가능하다.
  • 대상인원 클릭 시 기본정보 모달이 열린다.
  • + 신규 구성원 추가 모달이 열린다.
  • 기본정보 저장이 정상 동작한다.

C. 자리배치도

  • 기술개발센터, 한맥빌딩 6층, 한맥빌딩 7층 도면이 모두 열린다.
  • 미배치 인원 목록이 정상 표시된다.
  • 미배치 인원을 chair에 드래그앤드롭할 수 있다.
  • 드롭 후:
    • 미배치 목록에서 사라진다.
    • chair에 배치 상태가 표시된다.
    • 이름/직급 표기가 보인다.
  • 배치된 좌석 클릭 후 해제 또는 수정 흐름이 정상 동작한다.

D. 조직도와 자리배치 연동

  • 조직도에서 인원 클릭 시 상세 정보가 열린다.
  • 재석위치 미리보기가 표시된다.
  • 좌석이 배정된 인원은 해당 자리로 줌인된다.

E. 프로젝트별 분석

  • 월 선택이 정상 동작한다.
  • 프로젝트 목록과 합계가 비어 있지 않다.
  • 1월, 2월 데이터가 현재 기준값과 일치한다.

현재 기준 검증값:

  • 2026-01
    • 시간 37,342.39
    • 인건비 1,391,966,625
  • 2026-02
    • 시간 29,060.59
    • 인건비 1,078,337,651

F. 팀/개인별 분석

  • 전체, GPD, TDC 버튼이 순서대로 보인다.
  • 전체에서 모든 팀이 노출된다.
  • GPD, TDC 선택 시 각 소속 범위만 버튼 기준으로 보인다.
  • 검색은 버튼 상태와 무관하게 전체 데이터를 검색한다.

작업 유형별 필수 추가 확인

조직도 / 관리자모드 수정 시

  • 대상인원 수정 모달 레이아웃이 깨지지 않는지 확인
  • 신규 구성원 추가 모달도 같은 레이아웃으로 보이는지 확인
  • 저장 후 목록 반영이 정상인지 확인

자리배치도 수정 시

  • viewer iframe 로드 여부 확인
  • 드래그앤드롭 이후 배치 상태가 즉시 반영되는지 확인
  • 조직도 상세 재석위치 preview까지 같이 확인

분석 로직 수정 시

  • 작업 전에 반드시 analysis 또는 full 동기화 수행
  • 월별 합계 검증값 재확인
  • 원본 기준과 차이가 있으면 반올림, 제외 인원, 가공시간 규칙부터 점검

완료 처리 기준

수정 사항을 완료로 판단하려면 아래를 모두 만족해야 한다.

  • 수정한 기능이 의도대로 동작한다.
  • 관련 공통 회귀 시나리오가 깨지지 않는다.
  • 필요한 경우 8081에서 검증 결과를 숫자 또는 화면 기준으로 기록한다.
  • 이후에만 8080 공개용 반영 여부를 판단한다.

장애 원인 분류 기준

문제가 생기면 먼저 아래 셋 중 어디인지 분리한다.

  • 코드 차이
    • 8080, 8081의 정적 파일 또는 백엔드 로직이 다름
  • DB 차이
    • members, seat_maps, integration_* 등 기준 데이터가 다름
  • 캐시 또는 런타임 상태
    • 정적 파일 캐시, 컨테이너 재시작 미반영, 브라우저 세션 상태 문제

이 분류를 먼저 해야 원인을 잘못 짚지 않는다.

권장 기록 방식

작업 종료 시 아래 형식으로 남긴다.

작업 범위:
- 예: 조직현황 관리자모드 기본정보 모달 레이아웃 변경

검증 환경:
- 서버: 8081
- DB 동기화: minimal / analysis / full 중 무엇을 사용했는지

검증 결과:
- 조직도: 정상
- 관리자모드 모달: 정상
- 자리배치도 연동: 정상 또는 미검증
- 프로젝트별 분석: 정상 또는 미검증