# QA Report - Redmine #3766 (dev)

- Generated: 2026-07-07T14:47:34+09:00
- Redmine: https://itsm.bix.bz/issues/3766
- QA Redmine: https://itsm.bix.bz/issues/3774
- Subject: [QA] 비스킷페이 서비스 정보 조회 실패 시 로그인/계정 복구 안내 검증
- Workflow Status: 완료
- Status: PASS
- Result JSON: artifacts/result-summary.json
- Roles: BO
- Route Candidates: not recorded

## Scope

dev 환경 비스킷페이(store) 로그인/계정 복구 공개 화면에서 서비스 정보 조회 API(/api/v1/store/data/tenants/login-before) 실패를 Playwright 요청 차단으로 재현하고, 정상 상태/차단 상태/차단 해제 후 다시 시도 복구 동작을 BO 계정 기준으로 검증한다.

## Checklist

1. 정상 상태에서 BO 계정으로 로그인 화면 진입 시 기존처럼 아이디/비밀번호 입력 및 로그인이 가능한지 확인
2. 서비스 정보 조회 요청을 차단한 상태에서 로그인 화면 하단에 서비스 정보 안내와 다시 시도 액션이 표시되는지 확인
3. 서비스 정보 조회 요청을 차단한 상태에서 로그인 버튼 클릭 시 다음 화면으로 진행되지 않고 오류 안내가 표시되는지 확인
4. 차단을 해제한 뒤 다시 시도 클릭 시 화면이 새로고침되고 정상 로그인 가능 상태로 복구되는지 확인
5. 정상 상태에서 계정 복구 화면 진입 시 기존처럼 아이디 입력부터 복구 플로우가 가능한지 확인
6. 서비스 정보 조회 요청을 차단한 상태에서 계정 복구 화면 진입 시 아이디 입력 단계로 진행되지 않고 안내 화면이 표시되는지 확인
7. 계정 복구 안내 화면에서 다시 시도 클릭 후 차단 해제 상태라면 정상 복구 화면으로 진입되는지 확인
8. 계정 복구 안내 화면에서 로그인 화면 클릭 시 로그인 화면으로 이동되는지 확인

## Setup Steps

1. [required] BO 테스트 계정 로그인 정보 준비 (store/BO / kind: manual-precondition) - transfer_bo_gj 계정의 비밀번호와 PIN은 BIX_STORE_DEV_TRANSFER_BO_GJ_USERNAME/PASSWORD/2FA 환경변수로만 주입하고 git 산출물에 남기지 않는다.
2. [required] 서비스 정보 조회 실패 재현 (store/BO / kind: state-verify) - Playwright page.route로 /api/v1/store/data/tenants/login-before 요청만 abort 처리해 Chrome 개발자도구 요청 차단과 동일한 실패 상태를 재현한다. 차단은 테스트 context 내부에서만 적용되고 context 종료로 해제된다.

## Source Text

김경주님의 QA 요청입니다. 조지민 프로님 안녕하세요, 비스킷 링크 개발계 QA 요청드립니다. [1] QA 요청 배경 https://itsm.bix.bz/issues/3766. [2] 사전 데이터 BO 계정: ID transfer_bo_gj / 인증정보는 로컬 환경변수로만 사용. [3] 사전 작업 PC Chrome에서 비스킷페이 개발계 접속 가능 여부 확인. 서비스 정보 조회 실패 상황을 재현할 수 있는 환경 준비: Chrome 개발자도구 요청 차단 기능 또는 동일하게 특정 요청 실패/복구를 재현할 수 있는 다른 테스트 환경 사용. 요청 차단 또는 실패 재현 설정을 사용한 경우, 테스트 종료 후 해당 설정이 해제되었는지 확인. [4] 권한별 테스트 bo. [5] 검증 대상 비스킷페이 로그인 화면, 비스킷페이 계정 복구 화면. [6] 체크리스트는 checklist 배열 참조.

## Execution Summary

- Passed: 2
- Failed: 0
- Skipped: 0
- Blocked: 0
- Flaky: 0
- Duration: 19883ms


## 한눈에 보는 결과

| 확인한 항목 | 계정 | 화면 | 수행한 동작 | 결과 | 증거 자료 |
|---|---|---|---|---|---|
| QA 시작 전 대상 계정 로그인 | BO | [BO] role | BO 계정으로 [BO] role 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/01-비스킷페이-로그인-화면-BO-normal-login-ready.png)<br>[스크린샷 2](artifacts/screenshots/02-비스킷페이-로그인-화면-BO-normal-login-success.png)<br>[스크린샷 3](artifacts/screenshots/03-비스킷페이-로그인-화면-BO-blocked-login-notice.png)<br>[스크린샷 4](artifacts/screenshots/04-비스킷페이-로그인-화면-BO-blocked-login-submit-error.png)<br>[스크린샷 5](artifacts/screenshots/05-비스킷페이-로그인-화면-BO-retry-login-restored.png)<br>[스크린샷 6](artifacts/screenshots/06-비스킷페이-로그인-화면-BO-retry-login-success.png)<br>[실행 기록 1](artifacts/logs/01-비스킷페이-로그인-화면-BO-login-service-info.md) |
| 정상 상태에서 계정 복구 화면 진입 시 기존처럼 아이디 입력부터 복구 플로우가 가능한지 확인 | BO | [BO] role | BO 기준으로 비스킷페이 계정 복구 화면에서 대상 사용자 상태와 복구 흐름을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/07-비스킷페이-계정-복구-화면-BO-normal-restore-ready.png)<br>[스크린샷 2](artifacts/screenshots/08-비스킷페이-계정-복구-화면-BO-blocked-restore-notice.png)<br>[스크린샷 3](artifacts/screenshots/09-비스킷페이-계정-복구-화면-BO-blocked-restore-login-link.png)<br>[스크린샷 4](artifacts/screenshots/10-비스킷페이-계정-복구-화면-BO-retry-restore-ready.png)<br>[실행 기록 1](artifacts/logs/02-비스킷페이-계정-복구-화면-BO-restore-service-info.md) |

## 실패 또는 확인 불가 상세

- 실패 또는 확인 불가 항목이 없습니다.

## 수동 재현 필요

- 수동 재현이 필요한 항목이 없습니다.

## 스크린샷

- BO / [BO] role / QA 시작 전 대상 계정 로그인: [스크린샷 1](artifacts/screenshots/01-비스킷페이-로그인-화면-BO-normal-login-ready.png)
- BO / [BO] role / QA 시작 전 대상 계정 로그인: [스크린샷 2](artifacts/screenshots/02-비스킷페이-로그인-화면-BO-normal-login-success.png)
- BO / [BO] role / QA 시작 전 대상 계정 로그인: [스크린샷 3](artifacts/screenshots/03-비스킷페이-로그인-화면-BO-blocked-login-notice.png)
- BO / [BO] role / QA 시작 전 대상 계정 로그인: [스크린샷 4](artifacts/screenshots/04-비스킷페이-로그인-화면-BO-blocked-login-submit-error.png)
- BO / [BO] role / QA 시작 전 대상 계정 로그인: [스크린샷 5](artifacts/screenshots/05-비스킷페이-로그인-화면-BO-retry-login-restored.png)
- BO / [BO] role / QA 시작 전 대상 계정 로그인: [스크린샷 6](artifacts/screenshots/06-비스킷페이-로그인-화면-BO-retry-login-success.png)
- BO / [BO] role / 정상 상태에서 계정 복구 화면 진입 시 기존처럼 아이디 입력부터 복구 플로우가 가능한지 확인: [스크린샷 1](artifacts/screenshots/07-비스킷페이-계정-복구-화면-BO-normal-restore-ready.png)
- BO / [BO] role / 정상 상태에서 계정 복구 화면 진입 시 기존처럼 아이디 입력부터 복구 플로우가 가능한지 확인: [스크린샷 2](artifacts/screenshots/08-비스킷페이-계정-복구-화면-BO-blocked-restore-notice.png)
- BO / [BO] role / 정상 상태에서 계정 복구 화면 진입 시 기존처럼 아이디 입력부터 복구 플로우가 가능한지 확인: [스크린샷 3](artifacts/screenshots/09-비스킷페이-계정-복구-화면-BO-blocked-restore-login-link.png)
- BO / [BO] role / 정상 상태에서 계정 복구 화면 진입 시 기존처럼 아이디 입력부터 복구 플로우가 가능한지 확인: [스크린샷 4](artifacts/screenshots/10-비스킷페이-계정-복구-화면-BO-retry-restore-ready.png)

## 화면 재현 기록

- 화면 재현 기록 자료가 없습니다.
- 화면 재현 기록은 기본적으로 실패/확인불가 항목에 한해 포함합니다. PASS 항목 trace까지 필요하면 `QA_PUBLISH_TRACE=1 npm run qa:report -- --issue <id> --env <env>`로 내부 제출용 산출물을 생성합니다.

## 실행 기록

- BO / [BO] role / QA 시작 전 대상 계정 로그인: [실행 기록 1](artifacts/logs/01-비스킷페이-로그인-화면-BO-login-service-info.md)
- BO / [BO] role / 정상 상태에서 계정 복구 화면 진입 시 기존처럼 아이디 입력부터 복구 플로우가 가능한지 확인: [실행 기록 1](artifacts/logs/02-비스킷페이-계정-복구-화면-BO-restore-service-info.md)

## 자동화 원본 결과

| Scenario | Status | Duration | Screenshot | 화면 재현 기록 | Log | Error |
|---|---:|---:|---|---|---|---|
| 3766/dev/store-service-info-fallback.spec.ts / [3766][dev] [QA] 비스킷페이 서비스 정보 조회 실패 시 로그인/계정 복구 안내 검증 / [BO] role / 로그인 화면 서비스 정보 정상/실패/복구 동작 확인 | PASS | 12691ms | [스크린샷 1](artifacts/screenshots/01-비스킷페이-로그인-화면-BO-normal-login-ready.png)<br>[스크린샷 2](artifacts/screenshots/02-비스킷페이-로그인-화면-BO-normal-login-success.png)<br>[스크린샷 3](artifacts/screenshots/03-비스킷페이-로그인-화면-BO-blocked-login-notice.png)<br>[스크린샷 4](artifacts/screenshots/04-비스킷페이-로그인-화면-BO-blocked-login-submit-error.png)<br>[스크린샷 5](artifacts/screenshots/05-비스킷페이-로그인-화면-BO-retry-login-restored.png)<br>[스크린샷 6](artifacts/screenshots/06-비스킷페이-로그인-화면-BO-retry-login-success.png) |  | [로그 1](artifacts/logs/01-비스킷페이-로그인-화면-BO-login-service-info.md) |  |
| 3766/dev/store-service-info-fallback.spec.ts / [3766][dev] [QA] 비스킷페이 서비스 정보 조회 실패 시 로그인/계정 복구 안내 검증 / [BO] role / 계정 복구 화면 서비스 정보 실패/복구 및 로그인 화면 이동 확인 | PASS | 6613ms | [스크린샷 1](artifacts/screenshots/07-비스킷페이-계정-복구-화면-BO-normal-restore-ready.png)<br>[스크린샷 2](artifacts/screenshots/08-비스킷페이-계정-복구-화면-BO-blocked-restore-notice.png)<br>[스크린샷 3](artifacts/screenshots/09-비스킷페이-계정-복구-화면-BO-blocked-restore-login-link.png)<br>[스크린샷 4](artifacts/screenshots/10-비스킷페이-계정-복구-화면-BO-retry-restore-ready.png) |  | [로그 1](artifacts/logs/02-비스킷페이-계정-복구-화면-BO-restore-service-info.md) |  |

## Notes

- Playwright 실행 결과를 기준으로 작성되었습니다.
- QA subissue에 report/evidence 업로드와 완료 상태 갱신이 반영되었습니다.
