• 작업 단위(unit of work)는 진입점을 호출하여 시작한 후 하나 이상의 종료점으로 상태 값 변화 등 눈에 띄는 결과가 나타날 때까지 일련의 모든 동작을 포함한다. 작업 단위는 하나의 함수에서 여러 모듈까지 다양한 범위를 포함할 수 있다.
• 통합 테스트는 실제 실행에 영향을 주는 여러 의존성을 사용하며 이러한 의존성 집합은 현재 실행 환경 외부에 있는 테스트를 의미한다. 반면 단위 테스트는 통합 테스트와 유사하지만, 모든 의존성을 메모리 내에서 처리하며 그 동작을 테스트 코드에서 완전히 제어할 수 있는 테스트를 의미한다. 예를 들어 단위 테스트에서는 모의 객체나 스텁을 사용하여 의존성을 흉내 내고 제어할 수 있다.
• 모든 테스트에서 가장 중요한 속성은 가독성, 유지 보수성, 신뢰성이다. 가독성은 테스트를 읽고 이해하기 얼마나 쉬운지 나타내고, 유지 보수성은 테스트 코드를 유지 관리하는 것이 얼마나 힘든지 의미한다. 신뢰성이 없으면 코드에서 마음 놓고 리팩터링 같은 중요한 작업을 하기가 어려워 점점 스파게티 코드처럼 변해 버릴 수 있다.
• TDD는 실제 환경에서 사용할 코드를 작성하기 전에 테스트부터 작성하는 테스트 방법론이다. 이 방식은 테스트 우선 접근법(test-first approach)이라고도 한다. 반대로 코드 우선 접근법(code-first approach)도 있다.