# QA Report - Redmine #3448 (dev)

- Generated: 2026-05-29T17:02:40+09:00
- Redmine: https://itsm.bix.bz/issues/3448
- QA Redmine: https://itsm.bix.bz/issues/3450
- Subject: 정산내역 엑셀 은행/계좌 정보 재검증
- Workflow Status: 종료
- Status: PASS
- Result JSON: artifacts/result-summary.json
- Roles: TA -> CO -> BO
- Route Candidates: not recorded

## Scope

비스킷 링크 개발계 TA/CO/BO 권한으로 #3448 이전 실패/확인불가 항목을 재확인합니다. TA/CO는 정산내역 화면 권한 범위와 TA 엑셀 버튼/컬럼을 확인하고, BO는 정산 이력이 없으면 데이터 값 검증 대신 정산내역 엑셀 헤더 노출을 확인합니다.

## Checklist

1. TA 계정에서 정산내역 화면의 목록/총 건수 요약이 권한 범위에 맞게 보이는지 확인
2. TA 계정에서 정산내역 엑셀 다운로드 버튼이 보이는지 확인
3. TA 계정으로 엑셀 다운로드 후 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인
4. CO 계정에서 정산내역 화면의 목록/총 건수 요약이 권한 범위에 맞게 보이는지 확인
5. BO 계정에서 정산내역 엑셀 헤더에 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인
6. 데이터 행이 있는 경우 은행/예금주/계좌번호 값이 부서에 저장된 값과 동일한지 확인

## Setup Steps

1. [required] 추가 권한 반영 및 정산 계좌 사전 데이터 확인 (admin/ADMIN / targets: TA, CO, BO / kind: manual-precondition) - 개발계 TA/CO/BO 계정에 추가 권한이 반영되어 있어야 합니다. 계좌번호 원문을 포함한 사전 데이터는 QA_3448_SETTLEMENT_ACCOUNT_FIXTURES_JSON 런타임 env로만 주입하고, 리포트와 커밋 산출물에는 마스킹된 값만 남깁니다.

## Source Text

주홍석님의 재 QA 요청입니다. 조지민 프로님 안녕하세요, 비스킷 링크 개발계 QA 요청드립니다. [1] QA 요청 배경 https://itsm.bix.bz/issues/3448. 이전 QA 결과 https://bix-qa.pages.dev/qa/issues/3448/dev/#qa-result-6. TA/CO 권한 범위 및 TA 정산내역 엑셀 버튼 노출 관련 권한을 추가했습니다. BO 권한은 정산 이력이 없는 경우 데이터 행 검증이 불가하므로, 이력이 없으면 헤더 노출 여부 중심으로 확인 부탁드립니다. [2] 사전 데이터 이전 QA 실패/확인불가 건 중심 재확인. [3] 사전 작업 추가된 권한 반영 후 TA/CO/BO 계정으로 로그인, 정산내역 화면 접근 및 엑셀 다운로드 버튼 노출 여부 확인. [4] 권한별 테스트 ta, co, bo. [5] 검증 대상 TA 정산내역 화면 접근 및 권한 범위 조회, TA 정산내역 엑셀 다운로드 버튼 및 엑셀 컬럼, CO 정산내역 화면 접근 및 권한 범위 조회, BO 정산내역 엑셀 다운로드 파일 헤더. [6] 체크리스트: TA 목록/총 건수 요약 권한 범위 노출, TA 엑셀 다운로드 버튼 노출, TA 엑셀 은행명/은행코드 예금주명 계좌번호 컬럼, CO 목록/총 건수 요약 권한 범위 노출, BO 엑셀 헤더 은행명/은행코드 예금주명 계좌번호 컬럼, 데이터 행이 있는 경우 은행/예금주/계좌번호 값 저장값 일치 확인. 계좌번호 원문은 런타임 env에서만 사용하고 커밋 산출물에는 마스킹합니다.

## Execution Summary

- Passed: 5
- Failed: 0
- Skipped: 0
- Blocked: 0
- Flaky: 0
- Duration: 39091ms


## 한눈에 보는 결과

| 확인한 항목 | 계정 | 화면 | 수행한 동작 | 결과 | 증거 자료 |
|---|---|---|---|---|---|
| TA 계정에서 정산내역 화면의 목록/총 건수 요약이 권한 범위에 맞게 보이는지 확인 | TA | 정산내역 | TA 계정으로 정산내역 화면에 접근해 권한 범위 기준 목록과 요약 건수를 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/01-정산내역-TA-screen-scope.png)<br>[실행 기록 1](artifacts/logs/01-정산내역-TA-screen-scope.txt) |
| TA 계정에서 정산내역 엑셀 다운로드 버튼이 보이는지 확인 | TA | 정산내역 | TA 계정으로 정산내역 화면에서 엑셀 다운로드 버튼이 노출되는지 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/02-정산내역-TA-excel-button.png)<br>[실행 기록 1](artifacts/logs/02-정산내역-TA-excel-button.txt) |
| TA 계정으로 엑셀 다운로드 후 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인 | TA | 정산내역 | TA 계정으로 정산내역 엑셀을 요청하고 문서보관함 생성 파일의 은행/계좌 컬럼과 기존 금액/상태/비고 컬럼을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/03-정산내역-TA-excel-source-screen.png)<br>[스크린샷 2](artifacts/screenshots/04-정산내역-TA-document-history.png)<br>[실행 기록 1](artifacts/logs/03-정산내역-TA-document-url.txt)<br>[실행 기록 2](artifacts/logs/04-정산내역-TA-excel-validation.txt) |
| CO 계정에서 정산내역 화면의 목록/총 건수 요약이 권한 범위에 맞게 보이는지 확인 | CO | 정산내역 | CO 계정으로 정산내역 화면에 접근해 권한 범위 기준 목록과 요약 건수를 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/05-정산내역-CO-screen-scope.png)<br>[실행 기록 1](artifacts/logs/05-정산내역-CO-screen-scope.txt) |
| BO 계정에서 정산내역 엑셀 헤더에 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인 | BO | 정산내역 | BO 계정으로 정산내역 엑셀을 요청하고 문서보관함 생성 파일의 은행/계좌 컬럼과 기존 금액/상태/비고 컬럼을 확인 | 기대한 동작과 일치했습니다. | [스크린샷 1](artifacts/screenshots/06-정산내역-BO-excel-source-screen.png)<br>[스크린샷 2](artifacts/screenshots/07-정산내역-BO-document-history.png)<br>[실행 기록 1](artifacts/logs/06-정산내역-BO-document-url.txt)<br>[실행 기록 2](artifacts/logs/07-정산내역-BO-excel-validation.txt) |

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

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

## 수동 재현 필요

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

## 스크린샷

- TA / 정산내역 / TA 계정에서 정산내역 화면의 목록/총 건수 요약이 권한 범위에 맞게 보이는지 확인: [스크린샷 1](artifacts/screenshots/01-정산내역-TA-screen-scope.png)
- TA / 정산내역 / TA 계정에서 정산내역 엑셀 다운로드 버튼이 보이는지 확인: [스크린샷 1](artifacts/screenshots/02-정산내역-TA-excel-button.png)
- TA / 정산내역 / TA 계정으로 엑셀 다운로드 후 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인: [스크린샷 1](artifacts/screenshots/03-정산내역-TA-excel-source-screen.png)
- TA / 정산내역 / TA 계정으로 엑셀 다운로드 후 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인: [스크린샷 2](artifacts/screenshots/04-정산내역-TA-document-history.png)
- CO / 정산내역 / CO 계정에서 정산내역 화면의 목록/총 건수 요약이 권한 범위에 맞게 보이는지 확인: [스크린샷 1](artifacts/screenshots/05-정산내역-CO-screen-scope.png)
- BO / 정산내역 / BO 계정에서 정산내역 엑셀 헤더에 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인: [스크린샷 1](artifacts/screenshots/06-정산내역-BO-excel-source-screen.png)
- BO / 정산내역 / BO 계정에서 정산내역 엑셀 헤더에 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인: [스크린샷 2](artifacts/screenshots/07-정산내역-BO-document-history.png)

## 화면 재현 기록

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

## 실행 기록

- TA / 정산내역 / TA 계정에서 정산내역 화면의 목록/총 건수 요약이 권한 범위에 맞게 보이는지 확인: [실행 기록 1](artifacts/logs/01-정산내역-TA-screen-scope.txt)
- TA / 정산내역 / TA 계정에서 정산내역 엑셀 다운로드 버튼이 보이는지 확인: [실행 기록 1](artifacts/logs/02-정산내역-TA-excel-button.txt)
- TA / 정산내역 / TA 계정으로 엑셀 다운로드 후 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인: [실행 기록 1](artifacts/logs/03-정산내역-TA-document-url.txt)
- TA / 정산내역 / TA 계정으로 엑셀 다운로드 후 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인: [실행 기록 2](artifacts/logs/04-정산내역-TA-excel-validation.txt)
- CO / 정산내역 / CO 계정에서 정산내역 화면의 목록/총 건수 요약이 권한 범위에 맞게 보이는지 확인: [실행 기록 1](artifacts/logs/05-정산내역-CO-screen-scope.txt)
- BO / 정산내역 / BO 계정에서 정산내역 엑셀 헤더에 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인: [실행 기록 1](artifacts/logs/06-정산내역-BO-document-url.txt)
- BO / 정산내역 / BO 계정에서 정산내역 엑셀 헤더에 '은행명 / 은행코드', '예금주명', '계좌번호' 컬럼이 보이는지 확인: [실행 기록 2](artifacts/logs/07-정산내역-BO-excel-validation.txt)

## 자동화 원본 결과

| Scenario | Status | Duration | Screenshot | 화면 재현 기록 | Log | Error |
|---|---:|---:|---|---|---|---|
| 3448/dev/settlement-bank-account-excel.spec.ts / [3448][dev] 정산내역 엑셀 은행/계좌 정보 재검증 / [TA] role / 정산내역 / 정산내역 화면 접근 및 권한 범위 조회 확인 | PASS | 3783ms | [스크린샷 1](artifacts/screenshots/01-정산내역-TA-screen-scope.png) |  | [로그 1](artifacts/logs/01-정산내역-TA-screen-scope.txt) |  |
| 3448/dev/settlement-bank-account-excel.spec.ts / [3448][dev] 정산내역 엑셀 은행/계좌 정보 재검증 / [TA] role / 정산내역 / 정산내역 엑셀 버튼 노출 확인 | PASS | 3593ms | [스크린샷 1](artifacts/screenshots/02-정산내역-TA-excel-button.png) |  | [로그 1](artifacts/logs/02-정산내역-TA-excel-button.txt) |  |
| 3448/dev/settlement-bank-account-excel.spec.ts / [3448][dev] 정산내역 엑셀 은행/계좌 정보 재검증 / [TA] role / 정산내역 / 정산내역 엑셀 은행/계좌 컬럼과 값 정합성 확인 | PASS | 14001ms | [스크린샷 1](artifacts/screenshots/03-정산내역-TA-excel-source-screen.png)<br>[스크린샷 2](artifacts/screenshots/04-정산내역-TA-document-history.png) |  | [로그 1](artifacts/logs/03-정산내역-TA-document-url.txt)<br>[로그 2](artifacts/logs/04-정산내역-TA-excel-validation.txt) |  |
| 3448/dev/settlement-bank-account-excel.spec.ts / [3448][dev] 정산내역 엑셀 은행/계좌 정보 재검증 / [CO] role / 정산내역 / 정산내역 화면 접근 및 권한 범위 조회 확인 | PASS | 3519ms | [스크린샷 1](artifacts/screenshots/05-정산내역-CO-screen-scope.png) |  | [로그 1](artifacts/logs/05-정산내역-CO-screen-scope.txt) |  |
| 3448/dev/settlement-bank-account-excel.spec.ts / [3448][dev] 정산내역 엑셀 은행/계좌 정보 재검증 / [BO] role / 정산내역 / 정산내역 엑셀 은행/계좌 컬럼과 값 정합성 확인 | PASS | 13636ms | [스크린샷 1](artifacts/screenshots/06-정산내역-BO-excel-source-screen.png)<br>[스크린샷 2](artifacts/screenshots/07-정산내역-BO-document-history.png) |  | [로그 1](artifacts/logs/06-정산내역-BO-document-url.txt)<br>[로그 2](artifacts/logs/07-정산내역-BO-excel-validation.txt) |  |

## Notes

- Playwright 실행 결과를 기준으로 작성되었습니다.
- QA PR merge, 공개 보고서 확인, QA subissue 종료 상태 갱신이 반영되었습니다.
