TDD heuristics
TDD heuristics
- 여러분이 작성하고 싶은 코드를 작성하도록 만드는 테스트를 작성하라.
- 실패시켜라. 통과시켜라. 그리고 정리하라.
- 최상의 결과를 추구하지 말라.
- 실패하는 가장 간단하고, 가장 구체적이며, 가장 퇴화한 테스트를 작성하라.
- 가능하면 일반화하라.
- 코드가 틀렸다고 느껴지면 잠시 멈춰서 설계를 고쳐라.
- 더 복잡한 다음 경우로 넘어가기 전, 지금 다루고 있는 더 단순한 경우를 모조리 테스트하라.
- 현재 테스트를 통과시키기 위해 너무 많은 구현을 해야 한다면, 테스트를 지우고 더 쉽게 통과할 수 있는 더 단순한 테스트를 작성하라.
- 테스트 공간(test space)을 전부 포괄하는 신중하고 점진적인 패턴을 따르라.
- 필요 없는 것을 여러분의 테스트에 넣지 말라.
- 테스트에 실제 서비스 데이터를 사용하지 말라.
- 테스트 구조를 제품 코드 구조로부터 분리하라.
- 테스트가 구체적(specific)이 될수록 코드는 일반적(generic)이 된다.
- 변환을 적용한 결과 최적이 아닌 해답에 도달했다면 다른 변환을 시도해보라.
- 디버거 사용을 피하라
참고 자료
소프트웨어 장인 정신 이야기, 로버트 C. 마틴 p.44 ~ p.209