• 통합 테스트(integration test): 다른 시스템과 통합하기 위한 테스트다. 통합 테스트의 목적은 분리된 두 부분이 제대로 통합되었는지 검사하는 것이다. 예를 들어 애플리케이션과 데이터베이스, 또는 애플리케이션과 외부 서비스 등이 서로 잘 통합되었는지 검사할 수 있다. 시스템 각 부분 간의 상호작용을 검증할 때도 통합 테스트를 사용할 수 있다. 통합 테스트는 단위 테스트보다 느리게 실행되는 경향이 있다.
• 인수 테스트(acceptance test): 스토리의 인수 조건을 잡아내는 테스트다. 인수 테스트는 다른 테스트보다 훨씬 더 포괄적이고 높은 수준을 테스트한다. 전체 애플리케이션을 처음부터 끝까지 완전히 테스트해서 어떤 스토리나 시나리오가 예상대로 작동하는지 검증한다. 인수 테스트는 보통 시스템과 사용자의 상호작용을 시뮬레이션하면서 시스템의 반응을 감지해서 시스템이 여전히 올바른 상태인지를 검증한다. 인수 테스트는 느리게 실행되지만, 가장 중요한 테스트다.
이 세 가지 자동 테스트 외에도 애플리케이션의 어느 한 측면에 초점을 맞춘 다른 테스트들이 존재한다. 예를 들어 보안 테스트, 회복력 테스트, 부하 테스트 등이다.
인수 테스트를 작성할 수 있는 새로운 방법을 나중에 3장의 도메인으로부터 테스트 구동하기에서 살펴볼 것이다.