Testability = 테스트 가능성은 소프트웨어의 그 부분이 테스트를 수행하기에 얼마나 적합한지를 나타내는 지표이다.
코드의 분리
독립적으로 테스트 가능한 작은 부분으로 코드를 분리한다.
단일 책임 원칙
한 모듈은 하나의 책임만 가져야 한다.
이렇게 하면 특정 기능의 변경이 다른 부분에 미치는 영향을 최소화할 수 있다.
명확한 명세
시스템의 기능에 대한 명확한 명세가 있어야 한다.
이렇게 하면 무엇을 테스트해야 하는지 확실하게 알 수 있다.
Acceptance Criteria
각 기능에 대한 수용 기준을 정의하여 테스트 케이스를 개발할 때 참조할 수 있게 한다.