TDD

Lys·2023년 9월 4일

개발상식

목록 보기
2/15

👍 TDD(Test-Driven-Development)란?

TDD란 테스트 주도 개발이다.
테스트 주도 개발이란 테스트 코드를 먼저 만들고, 실제 프로덕션 코드를 나중에 만드는 개발 방법을 말한다.
불확실성이 높을 때 사용하는 것이 좋다.

일반 적인 개발의 경우 코드 개발을 한 후 테스트를 진행하지만
TDD의 경우 [그림2]와 같이 테스트 코드를 먼저 작성한다.
-- TDD 테스트를 먼저 만든 후 이를 통과하기 위한 코드를 만드는 것을 반복하며 진행한다.

👍 TDD의 3단계

Red 단계 : 실패하는 테스트 코드 작성

  • 구체적인 하나의 요구사항을 검증하는 테스트 추가
  • 테스트가 실패하는지 확인
  • 실패하는 것이 확인 되어야 테스트가 검증력을 가진다고 신뢰할 수 있다.

Green 단계 : 테스트 코드를 성공시키기 위한 코드 작성

  • 테스트의 성공은 모든 요구사항을 만족했음을 의미한다
  • 테스트 성공을 위한 최소한의 코드 변경만 진행

Blue : 중복 코드를 제거하는 등의 리팩토링 수행

  • 가독성, 적용성, 성능을 고려하여 코드 개선

    👍TDD의 장점

    • 코드의 안정성이 높다
    • 재설계 시간의 단축
    • 디버깅 시간의 단축

    😅TDD의 단점

    • 생성성 저하
      -- 개발 코드를 반복하여 진행하다보면 일반적인 개발 속도 보다는 시간이 걸린다.(단순 개발의 경우에는 사용하지 않는 게 좋다.)

0개의 댓글