9. 시나리오 테스트
검증 결과와 구현 근거에서 백테스트·검색 평가의 조건과 한계를, 품질 관리 및 테스트에서 검수 기준을 확인합니다.
테스트 범위
| 구분 | 확인 대상 | 근거 |
|---|---|---|
| 단위 | 판정 경계·대안 순위·신호·자금 산식 | backend/tests의 verdict·finance 테스트 |
| 화면 | 제외 업종·요약/판정 독립 상태·입력 변경 | frontend/src의 *.test.tsx |
| 통합 | 라우터·DB·스트리밍 계약 | 백엔드 API 테스트와 실행 환경 |
| 통계 | 과거 판정과 폐업 대조 | docs/verdict-backtest.md |
| 검색 | 관련 공고·뉴스를 찾는지 | data/eval/results의 결과 JSON |
개발 아키텍처
포트·어댑터 구조에서 외부 DB·임베딩·LLM을 테스트 대역으로 교체합니다. 대역을 쓴 코드 테스트, 실제 서버 시연, 검색 평가, 판정 백테스트는 서로 대신할 수 없습니다.
사전 준비사항
테스트 DB와 개발 DB를 격리하고 실행 기준 커밋·환경·원천 시점을 기록합니다. 실제 LLM·임베딩 호출을 사용하는 검사는 비용·외부 연결과 실행 시간을 따로 기록합니다. 기존 서버를 재기동하거나 운영 데이터를 변경하는 검사는 이번 문서 정비에 포함하지 않았습니다.
시나리오 개요
관문 → 경고 지도 → 근거·대안 → 리포트 → 지원 → 계획을 기본 경로로 두고 아래 예외를 함께 확인합니다. 시연 순서는 출품 시나리오에 있습니다.
시나리오 상세
| ID | 입력·상태 | 기대 결과 |
|---|---|---|
| V01 | 평가 가능한 판정 신호 1개 / 2개 | 보류 경계가 먼저 적용됨 |
| V02 | 강한 판정 신호 2개, 표본 통과 | 비추천; 참고 신호는 등급 개수에서 제외 |
| V03 | clear | 경고 없음 안내, 대안 조회 없음, 추천 표현 없음 |
| V04 | 편의점·부동산중개업 | 판정 제외 사유 표시, 경고 등급을 지어내지 않음 |
| V05 | red·orange·보류이나 더 나은 후보 없음 | 대안 항목 없음 |
| V06 | 요약 실패·판정 성공 또는 반대 | 실패한 조회만 설명하고 성공 영역은 유지 |
| R01 | 일부 facts 실패 | 해당 자료 없음 표시, 다른 사실 유지 |
| R02 | 섹션 마커가 토큰 중간에서 분할 | 알맞은 절로 이어 붙임 |
| R03 | 리포트 완료 전 / 후, 지역 facts 유무 | 완료되고 지역 facts가 있을 때만 지원·지도 복귀 CTA |
| F01 | 지원 화면 동 또는 업종 없음 | 자금 계획 CTA 숨김 |
| F02 | 비용 입력 뒤 계산·입력 변경 | 지난 결과 안내, 재계산 전 상담 준비 차단 |
| F03 | /plan 재방문 | 지난 계산 복원 없이 빈 초안 |
| F04 | 공고 없음·조회 실패 | 상담 창구 유지, 자격을 확정하지 않음 |
성능 — TPS 구현 방안 (구간 단위 테스트)
측정할 구간은 판정 조회, 검색 왕복, LLM 첫 토큰·완료 시간입니다. 동시 요청 수·질문 집합·캐시·모델·하드웨어·시간대와 함께 p50/p95·실패율·TPS를 기록해야 합니다. 이 페이지는 현행 브랜치의 부하시험을 실행한 결과가 아니며 TPS 수치를 확정하지 않습니다.
검색 품질과 판정 검증
검색은 confirmed 180건의 Hit@5·MRR 기록, 판정은 2022-06-30 기준 진입 코호트 결과를 따로 제시합니다. 초기 Recall@5 91.5%·Latency −40% 목표와 혼합하지 않습니다. 검증 결과와 원문 근거
이번 문서 정비의 검증 범위
Jekyll 빌드, 링크·앵커·검색·이미지·ERD·반응형 표시를 검사합니다. 애플리케이션 전체 테스트·부하시험·백테스트를 재실행했다고 보고하지 않습니다. 과거 테스트 통과 수는 해당 날짜·커밋에서의 기록입니다.