TDD
안녕하세요. 오늘은 TDD, 즉 테스트 주도 개발이란 말을 듣기만 했던 제가 이 기회에 자세히 알아보고자 블로그에 한번 정리해보았습니다.
정의
- 테스트 주도 개발 : 소프트웨어 개발 방식중 하나로써, 반복 테스트를 통해 소프트웨어를 개발하는 방법을 말합니다.
구현
- 세가지 색으로 나눕니다.
-
빨강 - 테스트를 실패하는 코드
-
초록 - 테스트를 통과하는 코드
-
리펙토링 - 코드 정리
과정
아래와 같은 과정을 반복하게 됩니다.
실패하는 테스트 코드 작성 -> 작동하는 코드 작성 -> 코드 정리
자동화된 테스트가 실패하는 경우만 새로운 코드를 작성한다는 원칙도 있다고 합니다.
장점
-
중복적인 코드를 제거할 수 있습니다.
-
불필요한 기능을 제거하기 쉽습니다.
단점
-
코드 변경시 마다 유닛테스트 변경해야 합니다.
-
코드가 많으면 테스트이 작성하기 힘듭니다.
즉, 관리해야될 코드가 길어진다는 단점이 있습니다.
Written on January 12, 2018