테스트 주도 개발은 일종의 개발 방식 또는 개발 패턴을 말한다. 무언가를 개발할 때 바로 개발부터 하는 것이 아니라 개발하려는 항목에 대한 점검 사항을 테스트 코드로 만들고 그 테스트를 통과 시키는 방식으로 개발을 진행하는 방법이다.
왜 테스트 주도 개발을 적용할까?
지금까지 어떤 방식으로 웹 사이트를 개발했는지 정리해보자.
단순한 웹 사이트를 만들 때는 이런 방식이 효율적일 수 있다. 그러나 모델의 구조가 복잡하고, 기능이 다양하고, 페이지도 많은 웹 사이트를 만들 때는 이런 방식이 더 이상 효율적이지 않을 수 있다. 개발을 할때 한 단계씩 진행할 때마다 정석대로 테스트 하는 것이 좋다.이럴 때 사용하는 방법이 테스트 주도 개발이다.
테스트 코드 작성
- 만들고 싶은 기능을 점검할 코드 작성
- 아직 기능을 구현하지 않았으므로 테스트 결과는 당연히 실패
기능 구현
- 테스트 코드를 만족 시킬 수 있게 기능을 구현
- 테스트 통과를 최우선으로 생각하고 작업
리팩토링
- 기능의 성능을 향상시키거나, 재사용성이 좋거나, 가동성이 좋은 코드로 개선
- 테스트 코드로 다시 기능을 점검
결론
개발한 코드가 테스트를 만족하는지 자동으로 확인하면서 개발을 진행하므로 매번 직접 테스트하느라 지치지도 않고, 사고가 발생할 확률도 훨씬 줄어든다.