# QA Report - Redmine #4207 (dev)

- Generated: 2026-10-06T16:23:22+09:00
- Redmine: https://itsm.bix.bz/issues/4207
- QA Redmine: not created
- Subject: QA checklist for #4207
- Workflow Status: 준비
- Status: PASS
- Result JSON: artifacts/result-summary.json
- Roles: ADMIN -> TA -> CO -> BO
- Route Candidates: not recorded

## Scope

개발계 영업점·법인 관리 목록·엑셀 단말기 대수(#4207)와 가맹점 번호 검색(#4203) QA (#4203과 같은 실행)

## Checklist

1. 가맹점 관리(ADMIN·TA·CO·BO): 상세검색에 사업자등록번호·주민등록번호·연락처 필터 노출
2. 각 필터에 조회 범위 가맹점의 노출 숫자(사업자등록번호 앞 5자리를 하이픈 표기로, 주민등록번호 앞 6자리, 연락처 뒤 4자리를 하이픈 붙여) 입력 → 검색 요청에 조건 전달, 기준 가맹점 포함
3. 검증: 마스킹 값의 노출 숫자로 확실히 일치하는 가맹점은 모두 결과에 포함, 결과 가맹점의 마스킹 값은 검색어와 모순 없음, 없는 번호 검색 시 0건
4. 영업점 관리(ADMIN·TA·CO·BO)·법인 관리(ADMIN·TA·CO): 목록에 '단말기 대수' 컬럼, 화면 값 = 목록 API 값, 수정 화면 단말기 대수 입력값과 일치(저장 안 함)
5. 영업점·법인 엑셀(데이터 포함): '단말기 대수' 열 추가, 행 수와 영업점/법인별 단말기 대수가 목록과 일치
6. BO 영업점 엑셀은 권한이 없어 403이 정상(요청자 확인) → BO는 목록 단말기 대수와 엑셀 403만 확인
7. BO는 법인관리 메뉴 권한이 없어 법인관리 확인에서 제외(요청자 확정)
8. #4203 QA와 같은 실행 결과(2026-10-06 16:2x)를 #4207 기준으로 정리

## Setup Steps

- 없음

## Source Text

요청자: 송인준
[1] QA 요청 배경
* https://itsm.bix.bz/issues/4203
* https://itsm.bix.bz/issues/4207
[2] 사전 데이터
* 비스킷링크 ADMIN,TA,CO,BO 계정
[3] 사전 작업
* 비스킷링크 ADMIN,TA,CO,BO 계정 로그인
[4] 권한별 테스트
* ADMIN,TA,CO,BO 계정 로그인
[5] 검증 대상
* 업체관리 > 가맹점관리 > 가맹점관리 페이지
* 업체관리 > 영업점관리 > 영업점관리 페이지
* 업체관리 > 법인관리 > 법인관리 페이지
[6] 체크리스트
* 가맹점 관리 페이지에서 사업자등록번호, 주민등록번호, 연락처 검색 필터 추가 및 동작 확인
* 영업점관리, 법인관리에 페이지 목록, 엑셀 다운로드 에서 단말기 대수 컬럼 추가 확인 및 동작 확인

## Execution Summary

- Passed: 11
- Failed: 0
- Skipped: 0
- Blocked: 0
- Flaky: 0
- Duration: 204081ms


## 한눈에 보는 결과

| 확인한 항목 | 계정 | 화면 | 수행한 동작 | 결과 | 증거 자료 |
|---|---|---|---|---|---|
| 사업자등록번호·주민등록번호·연락처 검색 | ADMIN - 가맹점 관리 | [ADMIN] 가맹점 관리 | ADMIN - 가맹점 관리 계정으로 [ADMIN] 가맹점 관리 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/01-ADMIN-vendor-search.png)<br>[실행 기록 1](artifacts/logs/01-ADMIN-vendor-search.md) |
| 사업자등록번호·주민등록번호·연락처 검색 | TA - 가맹점 관리 | [TA] 가맹점 관리 | TA - 가맹점 관리 계정으로 [TA] 가맹점 관리 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/02-TA-vendor-search.png)<br>[실행 기록 1](artifacts/logs/02-TA-vendor-search.md) |
| 사업자등록번호·주민등록번호·연락처 검색 | CO - 가맹점 관리 | [CO] 가맹점 관리 | CO - 가맹점 관리 계정으로 [CO] 가맹점 관리 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/03-CO-vendor-search.png)<br>[실행 기록 1](artifacts/logs/03-CO-vendor-search.md) |
| 사업자등록번호·주민등록번호·연락처 검색 | BO - 가맹점 관리 | [BO] 가맹점 관리 | BO - 가맹점 관리 계정으로 [BO] 가맹점 관리 항목을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/04-BO-vendor-search.png)<br>[실행 기록 1](artifacts/logs/04-BO-vendor-search.md) |
| 단말기 대수 목록·엑셀 | ADMIN - 영업점 관리 | [ADMIN] 영업점 관리 | ADMIN - 영업점 관리 계정으로 [ADMIN] 영업점 관리 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/05-ADMIN-branch-edit.png)<br>[스크린샷 2](artifacts/screenshots/06-ADMIN-branch-list.png)<br>[실행 기록 1](artifacts/logs/05-ADMIN-branch-terminal.md) |
| 단말기 대수 목록·엑셀 | TA - 영업점 관리 | [TA] 영업점 관리 | TA - 영업점 관리 계정으로 [TA] 영업점 관리 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/07-TA-branch-edit.png)<br>[스크린샷 2](artifacts/screenshots/08-TA-branch-list.png)<br>[실행 기록 1](artifacts/logs/06-TA-branch-terminal.md) |
| 단말기 대수 목록·엑셀 | CO - 영업점 관리 | [CO] 영업점 관리 | CO - 영업점 관리 계정으로 [CO] 영업점 관리 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/09-CO-branch-list.png)<br>[실행 기록 1](artifacts/logs/07-CO-branch-terminal.md) |
| 단말기 대수 목록·엑셀 권한 차단 | BO - 영업점 관리 | [BO] 영업점 관리 | BO - 영업점 관리 계정으로 [BO] 영업점 관리 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/10-BO-branch-list.png)<br>[스크린샷 2](artifacts/screenshots/11-BO-branch-excel-denied.png)<br>[실행 기록 1](artifacts/logs/08-BO-branch-terminal.md) |
| 단말기 대수 목록·엑셀 | ADMIN - 법인 관리 | [ADMIN] 법인 관리 | ADMIN - 법인 관리 계정으로 [ADMIN] 법인 관리 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/12-ADMIN-corporation-edit.png)<br>[스크린샷 2](artifacts/screenshots/13-ADMIN-corporation-list.png)<br>[실행 기록 1](artifacts/logs/09-ADMIN-corporation-terminal.md) |
| 단말기 대수 목록·엑셀 | TA - 법인 관리 | [TA] 법인 관리 | TA - 법인 관리 계정으로 [TA] 법인 관리 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/14-TA-corporation-edit.png)<br>[스크린샷 2](artifacts/screenshots/15-TA-corporation-list.png)<br>[실행 기록 1](artifacts/logs/10-TA-corporation-terminal.md) |
| 단말기 대수 목록·엑셀 | CO - 법인 관리 | [CO] 법인 관리 | CO - 법인 관리 계정으로 [CO] 법인 관리 엑셀 다운로드를 시도하고 화면 범위와 파일 범위를 비교 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/16-CO-corporation-list.png)<br>[실행 기록 1](artifacts/logs/11-CO-corporation-terminal.md) |

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

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

## 수동 재현 필요

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

## 스크린샷

- ADMIN - 가맹점 관리 / [ADMIN] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색: [스크린샷 1](artifacts/screenshots/01-ADMIN-vendor-search.png)
- TA - 가맹점 관리 / [TA] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색: [스크린샷 1](artifacts/screenshots/02-TA-vendor-search.png)
- CO - 가맹점 관리 / [CO] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색: [스크린샷 1](artifacts/screenshots/03-CO-vendor-search.png)
- BO - 가맹점 관리 / [BO] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색: [스크린샷 1](artifacts/screenshots/04-BO-vendor-search.png)
- ADMIN - 영업점 관리 / [ADMIN] 영업점 관리 / 단말기 대수 목록·엑셀: [스크린샷 1](artifacts/screenshots/05-ADMIN-branch-edit.png)
- ADMIN - 영업점 관리 / [ADMIN] 영업점 관리 / 단말기 대수 목록·엑셀: [스크린샷 2](artifacts/screenshots/06-ADMIN-branch-list.png)
- TA - 영업점 관리 / [TA] 영업점 관리 / 단말기 대수 목록·엑셀: [스크린샷 1](artifacts/screenshots/07-TA-branch-edit.png)
- TA - 영업점 관리 / [TA] 영업점 관리 / 단말기 대수 목록·엑셀: [스크린샷 2](artifacts/screenshots/08-TA-branch-list.png)
- CO - 영업점 관리 / [CO] 영업점 관리 / 단말기 대수 목록·엑셀: [스크린샷 1](artifacts/screenshots/09-CO-branch-list.png)
- BO - 영업점 관리 / [BO] 영업점 관리 / 단말기 대수 목록·엑셀 권한 차단: [스크린샷 1](artifacts/screenshots/10-BO-branch-list.png)
- BO - 영업점 관리 / [BO] 영업점 관리 / 단말기 대수 목록·엑셀 권한 차단: [스크린샷 2](artifacts/screenshots/11-BO-branch-excel-denied.png)
- ADMIN - 법인 관리 / [ADMIN] 법인 관리 / 단말기 대수 목록·엑셀: [스크린샷 1](artifacts/screenshots/12-ADMIN-corporation-edit.png)
- ADMIN - 법인 관리 / [ADMIN] 법인 관리 / 단말기 대수 목록·엑셀: [스크린샷 2](artifacts/screenshots/13-ADMIN-corporation-list.png)
- TA - 법인 관리 / [TA] 법인 관리 / 단말기 대수 목록·엑셀: [스크린샷 1](artifacts/screenshots/14-TA-corporation-edit.png)
- TA - 법인 관리 / [TA] 법인 관리 / 단말기 대수 목록·엑셀: [스크린샷 2](artifacts/screenshots/15-TA-corporation-list.png)
- CO - 법인 관리 / [CO] 법인 관리 / 단말기 대수 목록·엑셀: [스크린샷 1](artifacts/screenshots/16-CO-corporation-list.png)

## 화면 재현 기록

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

## 실행 기록

- ADMIN - 가맹점 관리 / [ADMIN] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색: [실행 기록 1](artifacts/logs/01-ADMIN-vendor-search.md)
- TA - 가맹점 관리 / [TA] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색: [실행 기록 1](artifacts/logs/02-TA-vendor-search.md)
- CO - 가맹점 관리 / [CO] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색: [실행 기록 1](artifacts/logs/03-CO-vendor-search.md)
- BO - 가맹점 관리 / [BO] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색: [실행 기록 1](artifacts/logs/04-BO-vendor-search.md)
- ADMIN - 영업점 관리 / [ADMIN] 영업점 관리 / 단말기 대수 목록·엑셀: [실행 기록 1](artifacts/logs/05-ADMIN-branch-terminal.md)
- TA - 영업점 관리 / [TA] 영업점 관리 / 단말기 대수 목록·엑셀: [실행 기록 1](artifacts/logs/06-TA-branch-terminal.md)
- CO - 영업점 관리 / [CO] 영업점 관리 / 단말기 대수 목록·엑셀: [실행 기록 1](artifacts/logs/07-CO-branch-terminal.md)
- BO - 영업점 관리 / [BO] 영업점 관리 / 단말기 대수 목록·엑셀 권한 차단: [실행 기록 1](artifacts/logs/08-BO-branch-terminal.md)
- ADMIN - 법인 관리 / [ADMIN] 법인 관리 / 단말기 대수 목록·엑셀: [실행 기록 1](artifacts/logs/09-ADMIN-corporation-terminal.md)
- TA - 법인 관리 / [TA] 법인 관리 / 단말기 대수 목록·엑셀: [실행 기록 1](artifacts/logs/10-TA-corporation-terminal.md)
- CO - 법인 관리 / [CO] 법인 관리 / 단말기 대수 목록·엑셀: [실행 기록 1](artifacts/logs/11-CO-corporation-terminal.md)

## 자동화 원본 결과

| Scenario | Status | Duration | Screenshot | 화면 재현 기록 | Log | Error |
|---|---:|---:|---|---|---|---|
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [ADMIN] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색 | PASS | 15284ms | [스크린샷 1](artifacts/screenshots/01-ADMIN-vendor-search.png) |  | [로그 1](artifacts/logs/01-ADMIN-vendor-search.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [TA] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색 | PASS | 19953ms | [스크린샷 1](artifacts/screenshots/02-TA-vendor-search.png) |  | [로그 1](artifacts/logs/02-TA-vendor-search.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [CO] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색 | PASS | 14771ms | [스크린샷 1](artifacts/screenshots/03-CO-vendor-search.png) |  | [로그 1](artifacts/logs/03-CO-vendor-search.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [BO] 가맹점 관리 / 사업자등록번호·주민등록번호·연락처 검색 | PASS | 16017ms | [스크린샷 1](artifacts/screenshots/04-BO-vendor-search.png) |  | [로그 1](artifacts/logs/04-BO-vendor-search.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [ADMIN] 영업점 관리 / 단말기 대수 목록·엑셀 | PASS | 22154ms | [스크린샷 1](artifacts/screenshots/05-ADMIN-branch-edit.png)<br>[스크린샷 2](artifacts/screenshots/06-ADMIN-branch-list.png) |  | [로그 1](artifacts/logs/05-ADMIN-branch-terminal.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [TA] 영업점 관리 / 단말기 대수 목록·엑셀 | PASS | 19914ms | [스크린샷 1](artifacts/screenshots/07-TA-branch-edit.png)<br>[스크린샷 2](artifacts/screenshots/08-TA-branch-list.png) |  | [로그 1](artifacts/logs/06-TA-branch-terminal.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [CO] 영업점 관리 / 단말기 대수 목록·엑셀 | PASS | 18203ms | [스크린샷 1](artifacts/screenshots/09-CO-branch-list.png) |  | [로그 1](artifacts/logs/07-CO-branch-terminal.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [BO] 영업점 관리 / 단말기 대수 목록·엑셀 권한 차단 | PASS | 12521ms | [스크린샷 1](artifacts/screenshots/10-BO-branch-list.png)<br>[스크린샷 2](artifacts/screenshots/11-BO-branch-excel-denied.png) |  | [로그 1](artifacts/logs/08-BO-branch-terminal.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [ADMIN] 법인 관리 / 단말기 대수 목록·엑셀 | PASS | 23752ms | [스크린샷 1](artifacts/screenshots/12-ADMIN-corporation-edit.png)<br>[스크린샷 2](artifacts/screenshots/13-ADMIN-corporation-list.png) |  | [로그 1](artifacts/logs/09-ADMIN-corporation-terminal.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [TA] 법인 관리 / 단말기 대수 목록·엑셀 | PASS | 21844ms | [스크린샷 1](artifacts/screenshots/14-TA-corporation-edit.png)<br>[스크린샷 2](artifacts/screenshots/15-TA-corporation-list.png) |  | [로그 1](artifacts/logs/10-TA-corporation-terminal.md) |  |
| 4203/dev/vendor-search-terminal-count.spec.ts / [4203][dev] QA checklist for #4203 / [CO] 법인 관리 / 단말기 대수 목록·엑셀 | PASS | 18898ms | [스크린샷 1](artifacts/screenshots/16-CO-corporation-list.png) |  | [로그 1](artifacts/logs/11-CO-corporation-terminal.md) |  |

## Notes

- Playwright 실행 결과를 기준으로 작성되었습니다.
- 검토 후 `qa:redmine:update`로 report/evidence를 업로드하고 QA subissue 상태를 갱신합니다.
