Computer Science 호기심
테스트 주도 개발 - TDD(Test Driven Development)이란?
ash silver
2023. 4. 16. 00:44
http://www.incodom.kr/%ED%85%8C%EC%8A%A4%ED%8A%B8_%EC%A3%BC%EB%8F%84_%EA%B0%9C%EB%B0%9C
생물정보 전문위키, 인코덤
Wikipedia for Bioinformatics
www.incodom.kr
테스트 주도 개발 : 선 테스트 후 개발 방식 프로그래밍 방법
TDD 개발 방법
1. 테스트 케이스 작성
2. 테스트 케이스 통과 코드 작성
3. 리팩토링
TDD 장점
1. 객체 지향 코드 개발 -> 객체 지향 프로그래밍의 특징 발생!
(객체지향프로그래밍 특징 -> 추상화, 캡슐화, 상속성, 다형성)
2. 수정 시간 단축
-> 테스트 케이스 관련 코드로 어디서 오류가 발생했는지, 어떤 오류가 발생했는지 알 수 있기 때문
3. 리팩토링/유지보수 용이
TDD 단점
1. 사전 준비 기간 ↑
-> 수정 시간이 단축되는 만큼 사전 준비 기간이 오래 걸림
2. 생산성 저하
-> 눈으로 보이는 케이스도 코드로 작성해야 함
TDD가 필요할 때
1. 나에 대한 불확실성
-> 내가 해당 코드에 대한 경험을 처음 해보는 경우!
2. 고객 요구 조건 바뀔 가능성 ↑
-> 변경사항이 많을 것 같을 때
3. 내가 퇴사할 때!
-> 내가 작성한 코드를 누가 유지보수할지 모를 때