# 11. Acceptance Criteria And QA

## 1. 출시 가능 조건

서비스는 다음 조건을 만족해야 출시할 수 있다.

- P0 기능이 모두 동작한다.
- 기부 플로우가 주소지/한도/e음 연동 실패를 안전하게 처리한다.
- 답례품 30% 한도 검증이 자동화되어 있다.
- 2026년 세액공제 계산 케이스가 통과한다.
- 모바일 390px에서 핵심 화면이 깨지지 않는다.
- 관리자 승인/반려/게시 이력이 남는다.
- 주요 레거시 URL이 신규 URL로 이동한다.
- 장애 공지와 CS 대응 플로우가 준비되어 있다.

## 2. 핵심 시나리오 테스트

### S1. 비로그인 답례품 탐색

1. 비로그인 사용자가 답례품 PLP에 진입한다.
2. 지역/품목/기부금액 필터를 적용한다.
3. 답례품 상세로 이동한다.
4. 필요 기부금액, 예상 세액공제, 답례품 가치가 보인다.

통과 기준:

- 로그인 없이 탐색 가능.
- 필터 URL 공유 가능.
- "가격" 대신 "기부금액" 언어를 사용.

### S2. 20만원 기부 계산

1. 사용자가 200,000원을 입력한다.
2. 일반 지자체 기준 예상 세액공제가 표시된다.
3. 답례품 최대 한도가 표시된다.

통과 기준:

- 예상 세액공제: 144,000원.
- 답례품 최대 한도: 60,000원.
- 이월공제 미적용 안내 표시.

### S3. 주소지 기부 차단

1. 검증된 주소지가 수원시인 사용자가 경기도 또는 수원시에 기부를 시도한다.
2. 시스템이 기부 불가를 안내한다.
3. 대체 지역을 추천한다.

통과 기준:

- 광역/기초 주소지 제한이 모두 적용된다.
- 기부 접수 요청이 생성되지 않는다.

### S4. 지정기부 참여

1. 사용자가 지정기부 목록에서 분야를 필터링한다.
2. 캠페인 상세로 이동한다.
3. 목표금액, 모금액, 모금률, 사용처를 확인한다.
4. 기부를 완료한다.

통과 기준:

- 필수 캠페인 필드가 모두 표시된다.
- 완료 후 캠페인 모금액이 갱신된다.
- 결과보고 알림 구독 제안이 표시된다.

### S5. e음 연동 실패

1. 사용자가 기부 접수를 시도한다.
2. e음 연동이 일시 실패한다.
3. 사용자는 실패/대기 상태를 확인한다.
4. 운영자는 관리자에서 재시도한다.

통과 기준:

- 중복 기부/중복 납부가 발생하지 않는다.
- idempotency key가 유지된다.
- 관리자 재시도 로그가 남는다.

### S6. 여행 상세 교차 전환

1. 사용자가 체험 상세에 진입한다.
2. 같은 지역 답례품과 지정기부 CTA를 본다.
3. 답례품 또는 지정기부 상세로 이동한다.

통과 기준:

- 같은 `local_gov_id` 기준으로 추천된다.
- 지역 맥락이 유지된다.

## 3. 세액공제 계산 테스트 케이스

| 기부금액 | 일반 지자체 예상 공제 | 답례품 최대 한도 |
|---:|---:|---:|
| 50,000 | 50,000 | 15,000 |
| 100,000 | 100,000 | 30,000 |
| 150,000 | 122,000 | 45,000 |
| 200,000 | 144,000 | 60,000 |
| 300,000 | 160,500 | 90,000 |
| 1,000,000 | 276,000 | 300,000 |

특별재난지역 케이스는 별도 플래그로 20만원 초과분 33%를 적용한다.

## 4. 모바일 QA

대상 폭:

- 390x844
- 360x740
- 768x1024
- 1440x900

검사:

- CTA 텍스트 overflow 없음.
- 금액/공제/포인트 영역 줄바꿈 정상.
- 필터 drawer 조작 가능.
- sticky CTA가 본문을 가리지 않음.
- 이미지 비율 유지.
- 테이블은 모바일에서 가로 스크롤 또는 카드형으로 읽힘.

## 5. 접근성 QA

- 모든 버튼은 키보드 포커스 가능.
- 상태 색상은 텍스트와 함께 제공.
- 이미지 alt 제공.
- 폼 오류는 필드와 연결.
- 계산 결과는 screen reader가 읽을 수 있는 텍스트 제공.
- 모달은 focus trap 적용.

## 6. 관리자 QA

- 권한 없는 사용자는 관리자 메뉴 접근 불가.
- 승인/반려 사유 필수.
- 변경 이력 기록.
- CSV 다운로드 권한 제한.
- e음 재시도는 권한 있는 운영자만 가능.
- 법령 검수 필요 콘텐츠는 검수 전 게시 불가.

## 7. 출시 체크리스트

제품:

- MVP 범위 완료.
- 핵심 카피 승인.
- 법령/세액공제 문구 검수.
- FAQ 준비.

기술:

- 배포 환경 구성.
- 모니터링/알림.
- 백업/복구.
- 리다이렉트 적용.
- 성능 측정.

운영:

- CS 매뉴얼.
- 장애 공지 템플릿.
- 운영자 교육.
- 지자체/공급자 안내.
- 롤백 담당자 지정.

