TDD란 Test Driven Development의 약자로 ‘테스트 주도 개발’이라고 한다.
•일반적으로 개발 절차는 먼저 어떻게 개발할지 디자인하고 디자인을 바탕으로 실제 코드를 작성하고 최종적으로 테스트를 작동시켜보면서 해보는 과정이었다.
•RED : 실패하는 테스트를 만들기.
•GREEN : 테스트에 통과할 만한 작은 코드를 작성하기.
•REFACTOR : 반복되는 코드, 긴 메소드, 큰 클래스, 긴 매개변수 목록 등등 코드를 좀 더 효율적으로 바꾸기.
1.객체지향적인 코드 개발
테스트코드를 먼저 작성한다면 좀 더명확한 기능과 구조를 설계할수있다. 각각의 함수를 정의할때 각각의 기능들에 대해서 철저히 구조화 시켜 코드를 작성할수있게된다.
2.설계 수정 시간의 단축
테스트 코드를 먼저 작성하기 때문에 최소 설계안을 만족시키며 입출력 구조와 기능의 정의를 명확히 하게 되므로 설계의 구조적 문제를 바로 찾아내게 됩나다.
3.유지 보수의 용이성
TDD 개발로 인해 항상 그 테스트 요소들이 사용자 관점으로 정의되고 진행되기 떄문에 입력과 출력의 흐름이 명확해지고 추후 구조의 변경 및 소스 수정시 구조를 쉽게 파악하고 빠르게 수정이 가능하다.
TDD는 많은 장점을 가지고 있으며 개별적인 개발시 테스트를 고려한 코드 작성으로 개발시간이 늦어지는 단점이 보일수 있으나 이후 코드 수정 및 구조추가의 용이성을 보면 TDD를 적용한 방법이 도움이 될것같습니다.
참조
https://nesoy.github.io/articles/2017-01/TDD
https://m.blog.naver.com/suresofttech/221569611618