Redmine #4420 · 개발계

가맹점 휴일 이체 중복 항목 삭제·기존 설정 유지 QA

일부 항목에서 기대한 결과와 다른 부분이 발견되었습니다.

QA Redmine #4465 · 업무 상태 QA 실행 완료 · 모바일 버튼 잘림 1건

확인 항목 11 전체 시나리오
통과 10 기대 결과와 일치
실패 1 문제 발견
확인 불가 0 수동 확인 1건 포함

핵심 결론

ADMIN 계정의 A10 PC·모바일 너비 수정 모달 배치·개폐 검증에서 문제가 발견되었습니다.

A01 일반정보의 중복 휴일 이체 사용 여부 미표시, A02 정산정보 휴일 지갑 이체 1회 표시 검증은 통과했습니다.

가장 큰 문제

A10 PC·모바일 너비 수정 모달 배치·개폐

ADMIN 계정에서 같은 검증이 실패했습니다.

계정별 결과 비교

같은 확인 항목이 계정별로 어떻게 끝났는지 한눈에 봅니다.

ADMIN
검증 항목ADMIN
A01 일반정보의 중복 휴일 이체 사용 여부 미표시 통과
A02 정산정보 휴일 지갑 이체 1회 표시 통과
화면/버튼 진입 통과
A04 비고만 저장 후 휴일 지갑 이체 유지 통과
화면/버튼 진입 통과
화면/버튼 진입 통과
A07 생성 모달 중복 제거·휴일 선택 가능 통과
A08 김경주_법인 기존 휴일 항목·설정 유지 통과
A09 김경주_영업 기존 휴일 항목·설정 유지 통과
A10 PC·모바일 너비 수정 모달 배치·개폐 실패
목록 조회 범위 통과

진행률 100%

11/11개 항목 확인 완료

통과 10 실패 1 확인 불가 0 수동 확인 1

실제 실행 자료

QA 실행 결과에서 정리된 화면 캡처, 화면 재현 기록, 오류 내용을 이 페이지에서 바로 확인할 수 있습니다.

화면 캡처 12 화면 재현 기록 1 오류 내용 2 첨부 파일 11

QA 확인 내역

실패 항목을 먼저 배치했습니다. 각 항목을 열면 수행한 동작, 기대 결과, 실제 결과, 화면 캡처, 화면 재현 기록, 오류 내용을 확인할 수 있습니다.

실패10번째 확인 A10 PC·모바일 너비 수정 모달 배치·개폐 ADMIN · 가맹점 관리 · 화면 캡처 2 · 화면 재현 기록 1 · 오류 내용 2 · 첨부 파일 1 수행: 1440px·390px 너비에서 가맹점 수정 모달·입력·버튼 배치 및 취소 확인 결과: PC 1440px에서는 정상. 모바일 390px에서 수정 버튼 x=354px·폭64px·오른쪽 끝418px로 화면 밖28px 잘림 재현. 휴일 입력칸·취소·모달 개폐는 정상
계정
ADMIN
화면
가맹점 관리
수행 내용
1440px·390px 너비에서 가맹점 수정 모달·입력·버튼 배치 및 취소 확인
기대한 결과
휴일 입력칸과 취소·수정 버튼이 화면 안에 있고 겹침·잘림 없이 모달 개폐가 가능해야 함
실제 결과
PC 1440px에서는 정상. 모바일 390px에서 수정 버튼 x=354px·폭64px·오른쪽 끝418px로 화면 밖28px 잘림 재현. 휴일 입력칸·취소·모달 개폐는 정상
분류
기대 결과와 다름
문제 내용
Error: 390px 수정 right bound expect(received).toBeLessThanOrEqual(expected)

직접 재현이 필요한 항목

화면에서 확인한 값이 체크리스트의 기대 결과와 달랐습니다.

작업자에게 전달할 내용

김경주 / ADMIN / A10: 390px에서 수정 버튼 오른쪽28px 잘림. 공개 화면·측정 값·재현 기록 참조.

화면을 직접 열어 확인하는 명령 QA4420_AUTH_ROLE=QA4373_ADMIN npx tsx qa/issues/4420/dev/run.ts --grep A10 --headed
  1. ADMIN으로 가맹점 관리에서 BP100611 수정 모달 진입
  2. 브라우저 너비390px에서 하단 수정 버튼의 오른쪽 잘림 확인
  3. 1440px로 늘려 정상 표시와 비교
  4. 저장 없이 취소로 닫기

화면 재현 기록

실패 당시 화면 흐름을 다시 볼 수 있는 자료입니다. 재현 보기를 열고 왼쪽 동작 목록에서 마지막 단계와 오류 지점을 확인합니다.

첨부 파일

통과1번째 확인 A01 일반정보의 중복 휴일 이체 사용 여부 미표시 ADMIN · 가맹점 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 가맹점 수정 일반정보에서 중복 항목 존재 여부 확인 결과: 일반정보에서 해당 항목 0개 확인
계정
ADMIN
화면
가맹점 관리
수행 내용
가맹점 수정 일반정보에서 중복 항목 존재 여부 확인
기대한 결과
일반정보의 휴일 이체 사용 여부가 없어야 함
실제 결과
일반정보에서 해당 항목 0개 확인
분류
문제 없음

화면 캡처

첨부 파일

통과2번째 확인 A02 정산정보 휴일 지갑 이체 1회 표시 ADMIN · 가맹점 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 정산정보의 휴일 지갑 이체 입력칸 수 확인 결과: 정산정보 선택칸·연결 입력값 각각 1개 확인
계정
ADMIN
화면
가맹점 관리
수행 내용
정산정보의 휴일 지갑 이체 입력칸 수 확인
기대한 결과
정산정보에 휴일 지갑 이체가 한 번만 있어야 함
실제 결과
정산정보 선택칸·연결 입력값 각각 1개 확인
분류
문제 없음

화면 캡처

첨부 파일

통과3번째 확인 A03 기존 설정·새로고침 재진입 유지 ADMIN · 가맹점 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 최초 상세 값과 화면을 대조한 뒤 새로고침·재진입 결과: 최초 값과 재진입 값 모두 미사용(false) 일치
계정
ADMIN
화면
가맹점 관리
수행 내용
최초 상세 값과 화면을 대조한 뒤 새로고침·재진입
기대한 결과
기존 미사용 값이 유지되어야 함
실제 결과
최초 값과 재진입 값 모두 미사용(false) 일치
분류
문제 없음

화면 캡처

첨부 파일

통과4번째 확인 A04 비고만 저장 후 휴일 지갑 이체 유지 ADMIN · 가맹점 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 휴일 설정을 건드리지 않고 비고만 임시 저장·새로고침·재진입 결과: 임시 비고 저장·재조회, 휴일 미사용과 다른 설정 유지 확인. finally 원복 확인
계정
ADMIN
화면
가맹점 관리
수행 내용
휴일 설정을 건드리지 않고 비고만 임시 저장·새로고침·재진입
기대한 결과
비고만 바뀌며 휴일 설정과 다른 설정은 유지
실제 결과
임시 비고 저장·재조회, 휴일 미사용과 다른 설정 유지 확인. finally 원복 확인
분류
문제 없음

화면 캡처

첨부 파일

통과5번째 확인 A05 사용→미사용 저장·새로고침 재진입 ADMIN · 가맹점 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 사용 상태로 준비한 뒤 미사용으로 변경·저장·새로고침·재진입 결과: 사용(true) 저장을 확인한 뒤 미사용(false) 저장·재진입 일치. finally 원복 확인
계정
ADMIN
화면
가맹점 관리
수행 내용
사용 상태로 준비한 뒤 미사용으로 변경·저장·새로고침·재진입
기대한 결과
사용→미사용 변경이 유지되어야 함
실제 결과
사용(true) 저장을 확인한 뒤 미사용(false) 저장·재진입 일치. finally 원복 확인
분류
문제 없음

화면 캡처

첨부 파일

통과6번째 확인 A06 미사용→사용 저장·새로고침 재진입 ADMIN · 가맹점 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 미사용에서 사용으로 변경·저장·새로고침·재진입 결과: 사용(true) 저장·재진입 값 일치. finally 원복 확인
계정
ADMIN
화면
가맹점 관리
수행 내용
미사용에서 사용으로 변경·저장·새로고침·재진입
기대한 결과
미사용→사용 변경이 유지되어야 함
실제 결과
사용(true) 저장·재진입 값 일치. finally 원복 확인
분류
문제 없음

화면 캡처

첨부 파일

통과7번째 확인 A07 생성 모달 중복 제거·휴일 선택 가능 ADMIN · 가맹점 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 생성 모달에서 항목 수·사용/미사용 선택 후 취소 결과: 중복 항목 0개·정산 선택칸 1개와 양방향 선택 확인. 저장·신규 생성 없이 취소
계정
ADMIN
화면
가맹점 관리
수행 내용
생성 모달에서 항목 수·사용/미사용 선택 후 취소
기대한 결과
일반정보 중복 없음·정산정보 1개, 선택 가능
실제 결과
중복 항목 0개·정산 선택칸 1개와 양방향 선택 확인. 저장·신규 생성 없이 취소
분류
문제 없음

화면 캡처

첨부 파일

통과8번째 확인 A08 김경주_법인 기존 휴일 항목·설정 유지 ADMIN · 법인 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 김경주_법인 수정 화면·휴일 항목·새로고침 재진입 비교 결과: 항목 표시 유지, 최초·재진입 미사용(false) 일치. 법인 저장 없음
계정
ADMIN
화면
법인 관리
수행 내용
김경주_법인 수정 화면·휴일 항목·새로고침 재진입 비교
기대한 결과
기존 법인 휴일 지갑 이체와 설정값 유지
실제 결과
항목 표시 유지, 최초·재진입 미사용(false) 일치. 법인 저장 없음
분류
문제 없음

화면 캡처

첨부 파일

통과9번째 확인 A09 김경주_영업 기존 휴일 항목·설정 유지 ADMIN · 영업점 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 김경주_영업 수정 화면·휴일 항목·새로고침 재진입 비교 결과: 항목 표시 유지, 최초·재진입 미사용(false) 일치. 영업점 저장 없음
계정
ADMIN
화면
영업점 관리
수행 내용
김경주_영업 수정 화면·휴일 항목·새로고침 재진입 비교
기대한 결과
기존 영업점 휴일 이체 사용 여부와 설정값 유지
실제 결과
항목 표시 유지, 최초·재진입 미사용(false) 일치. 영업점 저장 없음
분류
문제 없음

화면 캡처

첨부 파일

통과11번째 확인 A11 최종 원본 설정·비고 복구·재조회 ADMIN · 가맹점 관리 · 화면 캡처 1 · 첨부 파일 1 수행: 최종 상세 재조회·화면과 최초 전체 설정 대조 결과: 휴일 미사용(false)·빈 비고(null)와 다른 설정을 최초 상태와 대조해 복구 일치. 지갑 잔고·수정 시각은 비교 제외
계정
ADMIN
화면
가맹점 관리
수행 내용
최종 상세 재조회·화면과 최초 전체 설정 대조
기대한 결과
휴일 값·비고·다른 설정 모두 원래 값 복구
실제 결과
휴일 미사용(false)·빈 비고(null)와 다른 설정을 최초 상태와 대조해 복구 일치. 지갑 잔고·수정 시각은 비교 제외
분류
문제 없음

화면 캡처

첨부 파일

상세 보고서 원문

QA Report - Redmine #4420 (dev)

  • Generated: 2026-10-30T16:33:36.998441+09:00
  • Redmine: https://itsm.bix.bz/issues/4420
  • QA Redmine: https://itsm.bix.bz/issues/4465
  • Subject: 가맹점 휴일 이체 중복 항목 삭제·기존 설정 유지
  • Workflow Status: 실제 개발계 UI 검증 완료 · 원복 확인
  • Status: FAIL
  • Result JSON: artifacts/result-summary.json
  • Roles: ADMIN
  • Checklist Total: 11
  • Checklist Passed: 10
  • Checklist Failed: 1
  • Checklist Blocked: 0
  • Checklist Skipped: 0

결과

10건 통과·실패 1건, 확인불가·제외 0건. 모바일 390px에서 수정 버튼 오른쪽28px 잘림을 A10 실패로 기록했습니다. 중복 제거·설정 저장·원복 등 나머지10건은 통과했습니다. 개발계 실제 Chrome에서 TypeScript .spec.ts + Playwright로 실행했습니다. 가맹점 일반정보의 중복 항목은 없고, 정산정보의 휴일 지갑 이체는 한 번 표시됩니다. 비고만 저장해도 기존 값이 유지되며, 휴일 설정 양방향 저장·새로고침·재진입이 통과했습니다.

요청자·QA 담당·완료 알림 수신자는 모두 김경주입니다. ADMIN 단독으로 실행했으며 김경주_법인·김경주_영업·가맹점은 대상 데이터입니다. 역할별 별도 로그인 QA는 수행 범위에 포함하지 않았습니다.

대상과 원복

정확히 김경주_가맹인 레코드는 없었습니다. 접두어 검색 43개 중 사용자가 선택한 김경주_가맹_D+1(1일 후), BP100611만 임시 수정했습니다. 최초 휴일 설정은 미사용(false), 비고는 비어 있음(null)이었습니다.

비고 단독 저장, 사용→미사용, 미사용→사용을 각각 확인한 뒤 finally에서 최초 값으로 복구했습니다. 마지막에 새로고침·재진입해 휴일 값과 비고, 다른 설정까지 최초 상세 데이터와 대조했습니다. 지갑 잔고와 수정 시각은 설정 원복 비교에서 제외했습니다. 원본 상세와 저장 요청은 비공개로 보관하며 공개 자료에는 개인·인증 정보를 담지 않았습니다.

김경주_법인(BP100559)과 김경주_영업(BP100564)은 기존 휴일 항목과 미사용 값이 새로고침 뒤에도 유지됐습니다. 두 데이터는 저장하지 않았습니다. 신규 가맹점 생성, 권한·공유 프리셋 변경, 실제 금융 실행은 하지 않았습니다.

배포 근거와 실행 범위

인계된 수정 커밋은 70d6224592b4d27f8a8f6a808f161fae0d0e1251, 성공 배포 커밋은 c07eed78be4aaa864c5a74ddd7bd366a0ebf37c1입니다. 제품 배포 파이프라인 6278은 인계 시 확인된 근거이며, 본 판정은 실제 개발계 화면·저장·재조회 결과를 기준으로 했습니다. 제품 코드는 수정하지 않았습니다.

PC 너비 1440px와 모바일 너비 390px에서 수정 모달의 휴일 입력칸 좌우 경계와 취소·수정 버튼의 비중첩, 모달 개폐를 확인했습니다. 모바일 수정 버튼의 오른쪽 경계는418px로 390px 화면을 벗어났습니다. 공통 모달 하단 버튼 배치 영역의 문제이며 이번 변경으로 새로 발생한 회귀인지는 확인하지 않았습니다. 실제 휴대폰 OS나 다른 브라우저 검증을 뜻하지 않습니다.

실행 및 재현

```sh

QA4420_AUTH_ROLE=QA4373_ADMIN QA4420_ALLOW_VENDOR_MUTATION=1 npx tsx qa/issues/4420/dev/run.ts

```

QA4420_AUTH_ROLE은 저장된 ADMIN 인증 설정의 별칭입니다. 실행 전용 환경에서만 ADMIN으로 연결하며 전역 기본 계정은 덮어쓰지 않습니다. 하네스 qa:run이 실행 직전 재로그인하고, 테스트는 실제 인증 역할 ADMIN도 확인합니다. 기본 계정을 사용할 때는 해당 변수를 생략합니다.

목록 최초 로딩·검색 완료 대기와 선택칸 접근 이름을 보완한 뒤 전체11개 실행 후 캡처 검토에서 모바일 버튼 잘림을 발견했습니다. 버튼 화면 경계 검사를 추가한 실제 UI 재실행으로 A10 실패를 재현하고 기존 A10 판정을 대체했습니다. 최종 결과는 나머지10개 통과와 이 A10 재현을 합친11개입니다. 이전 자동화 진단의 실패를 제품 실패나 최종 결과에 합산하지 않았습니다. 응답 모의 처리 없이 실제 UI 클릭으로 저장했고, 승인 대상 외 변경 요청은 차단했습니다.

Execution Summary

  • Passed: 10
  • Failed: 1
  • Skipped: 0
  • Blocked: 0
  • Flaky: 0
  • Duration: 216627ms

항목별 결과와 증거

항목역할결과수행·기대 결과실제 결과증거
A01ADMINPASS가맹점 수정 일반정보에서 중복 항목 존재 여부 확인. 일반정보의 휴일 이체 사용 여부가 없어야 함일반정보에서 해당 항목 0개 확인화면 1 / 검증 값
A02ADMINPASS정산정보의 휴일 지갑 이체 입력칸 수 확인. 정산정보에 휴일 지갑 이체가 한 번만 있어야 함정산정보 선택칸·연결 입력값 각각 1개 확인화면 1 / 검증 값
A03ADMINPASS최초 상세 값과 화면을 대조한 뒤 새로고침·재진입. 기존 미사용 값이 유지되어야 함최초 값과 재진입 값 모두 미사용(false) 일치화면 1 / 검증 값
A04ADMINPASS휴일 설정을 건드리지 않고 비고만 임시 저장·새로고침·재진입. 비고만 바뀌며 휴일 설정과 다른 설정은 유지임시 비고 저장·재조회, 휴일 미사용과 다른 설정 유지 확인. finally 원복 확인화면 1 / 검증 값
A05ADMINPASS사용 상태로 준비한 뒤 미사용으로 변경·저장·새로고침·재진입. 사용→미사용 변경이 유지되어야 함사용(true) 저장을 확인한 뒤 미사용(false) 저장·재진입 일치. finally 원복 확인화면 1 / 검증 값
A06ADMINPASS미사용에서 사용으로 변경·저장·새로고침·재진입. 미사용→사용 변경이 유지되어야 함사용(true) 저장·재진입 값 일치. finally 원복 확인화면 1 / 검증 값
A07ADMINPASS생성 모달에서 항목 수·사용/미사용 선택 후 취소. 일반정보 중복 없음·정산정보 1개, 선택 가능중복 항목 0개·정산 선택칸 1개와 양방향 선택 확인. 저장·신규 생성 없이 취소화면 1 / 검증 값
A08ADMINPASS김경주_법인 수정 화면·휴일 항목·새로고침 재진입 비교. 기존 법인 휴일 지갑 이체와 설정값 유지항목 표시 유지, 최초·재진입 미사용(false) 일치. 법인 저장 없음화면 1 / 검증 값
A09ADMINPASS김경주_영업 수정 화면·휴일 항목·새로고침 재진입 비교. 기존 영업점 휴일 이체 사용 여부와 설정값 유지항목 표시 유지, 최초·재진입 미사용(false) 일치. 영업점 저장 없음화면 1 / 검증 값
A10ADMINFAIL1440px·390px 너비에서 가맹점 수정 모달·입력·버튼 배치 및 취소 확인. 휴일 입력칸·취소·수정 버튼이 화면 안에 있고 겹침·잘림 없이 모달 개폐 정상PC 1440px에서는 정상. 모바일 390px에서 수정 버튼 x=354px·폭64px·오른쪽 끝418px로 화면 밖28px 잘림 재현. 휴일 입력칸·취소·모달 개폐는 정상화면 1 / 화면 2 / 검증 값 / 화면 재현 기록
A11ADMINPASS최종 상세 재조회·화면과 최초 전체 설정 대조. 휴일 값·비고·다른 설정 모두 원래 값 복구휴일 미사용(false)·빈 비고(null)와 다른 설정을 최초 상태와 대조해 복구 일치. 지갑 잔고·수정 시각은 비교 제외화면 1 / 검증 값

모바일 문제 재현

  1. ADMIN으로 가맹점 관리에서 BP100611을 검색해 수정 모달을 엽니다.
  2. 브라우저 너비를390px로 설정합니다.
  3. 하단 수정 버튼이 오른쪽 밖으로 잘리는지 확인합니다. 실제 측정: x=354px, 폭64px, 오른쪽418px.
  4. PC1440px에서는 정상입니다. 저장 없이 취소로 닫을 수 있습니다.

기능 변경 요청10건은 통과했지만 요청된 모바일 배치 검사1건이 실패했습니다. 제품 코드는 수정하지 않았습니다.

요청 체크리스트

  1. A01 가맹점 수정 일반정보의 휴일 이체 사용 여부 미표시
  2. A02 정산정보 휴일 지갑 이체 정확히 한 번 표시
  3. A03 기존 설정값·새로고침 재진입 유지
  4. A04 비고만 저장해도 휴일 지갑 이체 유지
  5. A05 사용→미사용 저장·재진입 유지
  6. A06 미사용→사용 저장·재진입 유지
  7. A07 생성 모달 중복 제거·정산 선택 가능(신규 생성 없음)
  8. A08 김경주_법인 휴일 지갑 이체 기존 설정 유지
  9. A09 김경주_영업 휴일 이체 사용 여부 기존 설정 유지
  10. A10 PC·모바일 너비 수정 모달 배치·개폐
  11. A11 가맹점 설정·비고 원복·새로고침 재진입 확인

완료 절차

검증 명령·PR·공개 배포를 확인하고 QA 하위 이슈를 종료합니다. 원본 #4420은 임의 완료하지 않습니다. 기존 개발계 QA방에 김경주만 멘션하여 짧은 최종 결과와 공개 보고서 링크를 전송합니다.

전체 증거 자료