테스팅 전략은 프로젝트가 품질을 어떻게 보장하는지 정의합니다 — 무엇을, 어느 레벨에서, 얼마나, 어떤 도구와 프로세스로 테스트할지. 좋은 전략은 철저함과 비용의 균형을 맞추며, 가장 가치 있는 곳에 테스팅 노력을 집중합니다.
테스팅 전략의 요소
✓ 무엇을 테스트 → 중요 기능, 위험/복잡 영역, 핵심 비즈니스 로직
(위험과 가치로 우선순위 — 모든 것을 테스트할 수 없음)
✓ 레벨 → 테스트 피라미드: 많은 unit, 일부 integration, 소수 E2E (커버리지/비용 균형)
✓ 유형 → 필요에 따라 기능 + 비기능 (성능, 보안)
✓ 도구/프레임워크 → 스택에 적합; CI 통합
✓ 프로세스 → 테스트 실행 시점(매 변경 시 CI), 커버리지 기대치, 테스트 소유자
✓ 자동화 vs 수동 → 회귀/반복은 자동화; 탐색/사용성은 수동
위험 기반 우선순위
모든 것을 철저히 테스트할 수 없다 → 가장 중요한 곳에 집중:
→ 고위험 영역(결제, 인증, 데이터 무결성, 복잡 로직) → 철저히 테스트
→ 변경 잦은 영역 → 좋은 테스트 (잦은 변경의 안전망)
→ 저위험/안정/사소함 → 가벼운 테스트
→ 테스팅 노력을 위험과 가치에 비례하여 투자 (균일한 커버리지가 아님).
