: 사용하지 않는 것을 권장한다.
통합테스트는 개발자가 변경할 수 없는 부분(ex: 외부라이브러리)까지 묶어서 검증할 때 사용
이는 DB에 접근하거나 전체 코드와 다양한 환경이 제대로 작동하는지 확인하는데 필요한 모든 작업 수행
하지만 통합 테스트가 응용 프로그램이 완전하게 작동하는 것을 무조건 증명하지는 않는다.
: 도메인 테스트라고도 부른다
응용 프로그램에서 테스트 가능한 가장 작은 소프트웨어를 실행하여 예상대로 동작하는지 확인하는 테스트
단위 테스트에서 테스트 대상 단위의 크기는 엄격하게 정해져있지 않지만,
일반적으로 클래스 또는 메소드 수준으로 정해진다.
단위의 크기가 작을수록 단위의 복작성이 낮아지는데 테스트를 활용하여 동작을 표한하기 더 쉬워진다.
즉, 테스트 대상 단위의 크기를 작게 설정해서 단위 테스트를 최대한 간단하고 디버깅하기 쉽게 작성해야한다.
소프트웨어 내부 구조나 구현 방법을 고려하여 개발자 관점에서 테스트한다
그러므로 단위 테스트는 소프트웨어 내부 코드에 관련한 지식을 반드시 알고 있어야하는 화이트박스테스트이다.
단위 테스트는 TDD(테스트 주도 개발)와 함께 할 때 특히 더 강렬해진다.
: 비즈니스 쪽에 초점을 둔다.
사용자 스토리(시나리오)에 맞춰 수행하는 테스트
프로젝트에 참여한 사람들(ex. 기획자, 클라이언트 대표, 개발자 등)이 토의해서 시나리오를 만들며
소프트웨어 내부 코드에 관심을 가지지않는 블랙박스 테스트이다.