TDD는 Test-Driven Development의 약자로 짧은 개발 사이클의 반복에 의존하는 소프트웨어 개발 프로세스이다. 개발자는 요구되는 새로운 기능에 대한 자동화된 테스트케이스를 작성하고 해당 테스트를 통과하는 가장 간단한 코드를 작성한다. 테스트를 통과하는 코드를 작성하고 상황에 맞게 리팩토링하는 과정을 거치는 것이다. 테스트가 코드 작성을 주도하는 개발방식인 것이다.
테스트를 작성하기 위해서, 개발자는 요구사항과 명세를 분명히 이해하고 있어야 한다. 이는 개발자가 보다 요구사항에 집중할 수 있도록 도와준다.
한번에 좋은 코드를 작성하기는 쉽지 않기에 계속해서 리팩토링을 해줘야한다. 이 때 TDD를 해왔다면 간단한 테스트를 통해 리팩토링을 신뢰성있게 진행할 수 있다. 결국 리팩토링의 속도와 코드의 퀄리티가 상승되는 효과를 가진다.
코드 퀄리티보다는 빠른 생산성이 요구되는 시점에서 TDD는 걸림돌이 될 수 있다.
'Computer Science > 개발상식' 카테고리의 다른 글
NTP란 무엇인가? (0) | 2021.11.05 |
---|---|
객체 지향 프로그래밍이란 무엇인가 (0) | 2021.10.12 |
MVC패턴이란 무엇인가? (0) | 2021.09.29 |
RESTful한 API란 무엇인가 (0) | 2021.09.28 |
좋은 코드란 무엇인가? (0) | 2021.09.24 |