TDD

Mr.Sir·2022년 8월 2일
0

Develop

목록 보기
3/3

TDD 란?

Test Driven Development 테스트 주도 개발.

반복 테스트를 사용한 소프트웨어 개발 방법론으로, 작은 단위의 테스트 케이스를 작성하고

이를 확인하여 코드를 추가하는 단계를 반복, 구현한다.

1. 일반 개발 프로세스

요구사항 분석 - 설계 - 개발 - 테스트 - 배포

단점

  • 처음부터 완벽한 설계 불가 (고객 요구사항이 처음부터 명확하지 않을 수 있음)
  • 자체 버그 검출 능력 저하, 소스코드 품질 저하
  • 테스트 비용 증가

2. TDD

단위 테스트(하나의 클래스 혹은 도메인) 코드를 작성 후 실제 코드 작성

설계시 해당 영역의 개발 목적을 미리 정의하고 무엇을 테스트 할지도 정의한다.

테스트 코드를 작성하는 도중에 발생하는 버그나 수정사항들은 테스트케이스에 추가하고 설계를 개선한다.

이 후 테스트가 통과된 코드만 개발에 반영한다.

장점

  • 보다 튼튼한 객체 지향적인 코드 작성
  • 재설계 시간 단축
  • 디버깅 시간 단축
  • 테스트 문서의 대체 가능
  • 추가 구현 용이

테스트 코드를 작성함에 있어서 필자가 겪은 가장 큰 이점으로는 신뢰성을 확보할 수 있었다는 점이다.

작고 단순한 부분이라도 전체적으로 영향을 미치는 코드들에 대한 결과에 검증이 다 되었기 때문에 다음 프로세스로 진행하기에 보다 유리하다.

profile
Deepveloper

0개의 댓글