테스트 시나리오
- 제품이 갖춰야 할 기능을 검증하는 작은 단위입니다.
- 다양한 제품 요구사항 표현 방법 중 하나입니다.
- 대부분 클라이언트 관점에서 작성됩니다.
- 제품의 가치와 품질을 결정하는 주요 요소입니다.
- 모든 프로그래머는 의식적으로 또는 무의식적으로, 문서화하든 또는 머릿속에서만 정리하든, 명확하게 또는 희미하게 테스트 시나리오를 구성합니다.
- 이후부터 본 강의에서 '테스트 시나리오'는 명확하게 문서화한 테스트 시나리오를 의미합니다.
자동화된 테스트
- 테스트 시나리오의 구체적인 내용이 동작하는 코드의 문법으로 작성된 문서입니다.
- 저렴하게 테스트 시나리오를 검증합니다.
- 반복 실행하기 쉽습니다.
- 검증 결과의 신뢰도가 높습니다.
설계 관점의 테스트
- “단위 테스트는 운영 API의 첫 번째 클라이언트입니다” – Mark Seemann
- 클라이언트는 공개된 인터페이스 설계에만 의존하는 것이 원칙입니다.
- 클라이언트가 시스템 내부에 감춰진 구현 설계에 의존하게 되면 시스템은 다양한 위험에 노출됩니다.
- 구현 설계에 의존하지 않는 원칙은 클라이언트의 일종인 테스트에도 동일하게 적용됩니다.
