본문으로 건너뛰기

TDD heuristics

TDD heuristics

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

참고 자료

소프트웨어 장인 정신 이야기, 로버트 C. 마틴 p.44 ~ p.209