Flower Metric Cross-check
Flower 지표가 있는 모든 화면(Analytics만이 아님)에서 같은 기간·같은 필터로 UI ↔ 탭/테이블 ↔ API(↔ CSV) 수치가 일치하는지 검증한다. 기대 공식은 기획/test-plan 정본만 사용한다. 추측 금지.
전체 메뉴 목록: flower-menu-smoke/references/menu-map.md
관련: breakdown-test · qa-tc-writer
적용 화면 (메뉴 전수 기준)
| 영역 | 화면 | Path |
|---|---|---|
| Analytics | Inventory | /analytics/inventory |
| Analytics | Performance Reports | /analytics/performance-reports |
| Analytics | Custom Report | /analytics/custom-report |
| Analytics | Ad Request | /ad-requests |
| Analytics | Cue History | /analytics/cue |
| Analytics | Monetization | /analytics/monetization |
| Analytics | Revenue | /analytics/revenue |
| Programmatic | Demand performance | /programmatic/demand-performance |
| Root | Dashboard | /dashboard (카드 수치 스팟) |
| Direct/Prog | Monitoring | /direct/monitoring, /programmatic/monitoring (forecast — 에러 시 Fail/Blocked) |
티켓이 Ad requests만이어도, 회귀 시 위 표에서 인접 지표 화면 1개 이상 스팟을 권장.
입력 패턴
지표 검증 / 수치 교차
화면: Ad requests (또는 Inventory …)
플랫폼 / 기간 / 필터 (없으면 아래 QA 시드 사용)
공식 정본: test-plan 또는 ClickUp (없으면 확인 필요로 남김)
QA 시드 (Ad requests — 2026-07 탐색 기준)
| 항목 | 값 |
|---|---|
| URL | https://flower-qa-campaign-web.anypoint.tv/ad-requests |
| Platform | 1QA_Platform (platformId=11141) |
| Date range | 2026-07-01 ~ 2026-07-21 |
| 비고 | 이 플랫폼·기간 외에는 Ad Request 데이터가 없을 수 있음. 다른 플랫폼(SKB, QA 등) empty/placement 없음은 데이터 부재로 구분 |
계정·비밀번호는 스킬에 넣지 않는다. 사용자/티켓 환경정보에서 받는다.
Workflow
정본 확보
- Fill / Show / Match / Response / Utilization 공식을 test-plan·설계에서 확인
- Overview vs Time series 문서가 충돌하면 확인 필요로 표시하고 Overview(또는 부모가 명시한 정본)만 임시 사용
- 공식이 없으면 교차는 동일성(UI↔API↔탭) 만 하고 Pass/Fail 단정 금지
필터 고정
- Platform / Content Provider / Ad Placement / Date Range / Timezone을 한 세트로 고정
- URL 쿼리(
platformId,tab,startDate,endDate, …)를 기록 - View 클릭 후 로드 완료 대기 (empty / timeout Alert면 그 상태로 기록하고 중단 여부 판단)
Overview 캡처
- Summary 카드: Requests, Response rate, Match rate, Impressions, Fill rate, Show rate + 증감 뱃지·비교기간
- Response analysis: Successful / Fatigue / No ads / Errors (% + count)
- Inventory: Generated / Occupied / Avails / Utilization (+ What-if 적용 시 가정값만 변하는지)
형제 탭 Total 교차 (같은 필터)
- Time series → Data table Total 행 vs Overview
- Placement / Geography / Custom: 동일 지표가 있으면 Total·합계 교차
- 불일치 시 탭명·지표명·양쪽 값을 표로 남김
API 교차 (Playwright network)
- 대표 엔드포인트 (QA):
GET /qa-api/v1/analytics/ad-requests/overview/summary?...GET /qa-api/v1/analytics/ad-requests/time-series/{DAILY|WEEKLY|...}?...
- 응답 필드와 UI 표시값 비교 (약식 K/M/B·소수점 자리·
%표기 허용 오차는 설계 기준, 없으면 표시 문자열 기준) - 동일 요청 중복 호출·4xx/5xx도 기록
- 대표 엔드포인트 (QA):
Export 스팟 (선택)
- Time series / Placement Export CSV의 Total·기간 합이 Overview와 맞는지 샘플 확인
결과 판정
| 판정 | 조건 |
|---|---|
| Pass | 정본 공식 만족 + Overview↔탭 Total↔API 일치 |
| Fail | 동일 필터에서 불일치, 또는 명백한 공식 위배 |
| Blocked | 데이터 없음 / 공식 미확정 / 배포 미반영 |
- 채팅에 필터 세트 + 교차표 + 스크린샷 요약. 버그면 bug-report로 이관.
교차표 템플릿
| 지표 | Overview UI | Time series Total | API | 기대(공식) | 결과 |
|------|-------------|-------------------|-----|------------|------|
| Requests | | | | | |
| Response rate | | | | | |
| Fill rate | | | | | |
| Show rate | | | | | |
| Utilization | | | | | |
탐색에서 본 함정
- Match / Fill / Show rate가 100%를 크게 넘는 값이 나올 수 있음 → 버그 후보. 공식·원천 대조 전 “정상” 단정 금지
- Overview
9.6Kvs 테이블9,579처럼 약식 표기와 정수는 반올림 규칙을 문서에서 확인 - Custom 탭이 Custom2/Custom3·임의 라벨로 늘어날 수 있음 → root key별 null metric 제외 규칙은 설계 따름
- Device 탭은 HOLD면 미노출이 정상
하지 말 것
- 시드 기간 밖에서 empty를 Fail로 처리
- 기획에 없는 공식을 임의로 만들어 Pass 처리
- 비밀번호·토큰을 스킬/코멘트/레포에 저장