TDD란?
- TDD = TFD(Test First Development) + 리팩토링
- TDD란 프로그래밍 의사결정과 피드백 사이의 간극을 의식하고 이를 제어하는 기술이다. - 켄트벡, Test Driven Development by Example 중
- TDD의 아이러니 중 하나는 테스트 기술이 아니라는 점이다. TDD는 분석 기술이며, 설계 기술이기도 하다. - 켄트벡, Test Driven Development by Example 중
TDD를 하는 이유
- 디버깅 시간을 줄여준다.
- 동작하는 문서 역할을 한다.
- 변화에 대한 두려움을 줄여준다.
TDD 사이클
- 실패하는 테스트를 구현한다.
- 테스트가 성공하도록 프로덕션 코드를 구현한다.
- 프로덕션 코드와 테스트 코드를 리팩토링한다.
TDD 원칙
- 원칙 1 - 실패하는 단위 테스트를 작성할 때까지 프로덕션 코드(production code)를 작성하지 않는다.
- 원칙 2 - 컴파일은 실패하지 않으면서 실행이 실패하는 정도로만 단위 테스트를 작성한다.
- 원칙 3 - 현재 실패하는 테스트를 통과할 정도로만 실제 코드를 작성한다.
반응형
'BackEnd > Java' 카테고리의 다른 글
우테코 프리코스 1주차 미션 회고 및 정리 - 1 (0) | 2024.10.21 |
---|---|
[Java] 스트림이란? 스트림의 사용이유와 컬렉션과 비교 예제 (0) | 2024.10.20 |
[Java] synchronized - 동기화 (0) | 2024.08.19 |
[Java] 메모리 가시성 - volatile (0) | 2024.08.19 |
[Java] 프로세스와 스레드 - 1 (0) | 2024.08.05 |