리팩터링을 제대로 하려면 불가피하게 저지르는 실수를 잡아주는 견고한 테스트 스위트 (test suite)가 뒷받침돼야 한다.
좋은 테스트 작성하는 일을 개발 효율은 높인다.
프로그래머들의 실제 코드작성 시간의 비중은 크지 않다.
→ 상황 파악 / 설계 고민 / 특히 디버깅에 큰 시간을 사용한다.
⇒ 버그 수정은 대체로 금방 끝나지만, 버그를 찾는 여정에 수많은 시간이 소요된다.
— 1992년 OOPSLA 컨퍼런스에서 클래스마다 테스트 코드를 갖춰야 한다는 내용이 등장 하였다. 출력하고자 하는 값이 예상값이 맞으면 ok 출력하는 식
모든 테스트를 자동화하고 검사까지 스스로 검사하게 만들어라.
장점