What is TDD?

테스트 주도 개발

테스트 주도 개발(Test-driven development TDD)[1]은 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한다. 그런 후에, 그 테스트 케이스를 통과하기 위한 최소한의 코드를 생성한다. 마지막으로 작성한 코드를 표준에 맞도록 리팩토링한다. 이 기법을 개발했거나 '재발견' 한 것으로 인정되는 Kent Beck은 2003년에 TDD가 단순한 설계를 장려하고 자신감을 불어넣어준다고 말하였다.

SUT ( System Under Test )

DOC ( Depended On Component ) - 우리가 테스트하려는 코드가 의존하는 코드

대역과 가정

DOC 준비 비용이 큰경우

DOC가 SUT에 제공하는 계약(인터페이스) 을 준수하는 대역 코드를 사용

대역 코드가 계약을 DOC와 동일하게 준수할 것이라고 가정 (assume)

References

LINE에서 테스트를 최적화하는 방법 - LINE ENGINEERING