4. TDD

TDD 란

TDD란 소프트웨어가 완전히 개발되기 전에 소프트웨어 요구 사항을 테스트 케이스로 변환하고, 모든 테스트 케이스에 대해 소프트웨어를 반복적으로 테스트해 개발을 추적하는 소프트웨어 개발 프로세스이다.

개발 순서는 다음과 같다.

  1. 테스트를 추가한다.

    • 기능을 추가하기 전에 유스케이스에 대한 분석을 통해 테스트 코드를 먼저 작성하면 개발자가 코드를 작성하기 전에 요구사항에 집중할 수 있다.

  2. 모든 테스트를 실행하고 실패해야 한다.

    • 해당 기능을 위해 새로운 코드가 필요하고 테스트 하네스가 잘 작동하고 있음을 확인한다.

  3. 테스트를 통과하는 가장 단순한 코드를 짠다

    • 어떤 코드든 통과만 하면 된다.

  4. 모든 테스트를 통과해야 한다

  5. 필요에 따라 리팩토링 후 테스트를 통해 기능이 유지되는지 확인한다.

    • 유지보수와 가독성을 고려해 리팩토링되어야 한다.

TDD Cycle

  1. Red -> 실패하는 테스트 코드를 작성

  2. Green -> 최대한 빨리 테스트를 통과시킴

  3. Refactor -> 리팩터링

Last updated