X

TDD (Test Driven Development)

I. 테스트 기준 개발 방법, TDD

가. TDD(Test Driven Development)의 개념

  • 테스트 설계를 선수행하여, 테스트 통과 위해 프로그램 코드 리팩토링 과정 반복 개발방법론

나. TDD의 특징

특징 설명
Design of Testablility – 소스코드 의존성 감소, 독립테스트
테스트 커버리지 확보 – 단위 테스트 커버리지, 디버깅용이
견고성 보장 – 발생 가능 오류 조기 탐지 가능
Clean Code – 동작하는 코드를 지향

 

II. TDD의 진행절차 및 사용 패턴

가. TDD의 진행 절차

  • TDD는 테스트 코드 작성, 테스트 실패 확인, 구현 코드 작성, 테스트 통과 확인, 리팩토링 5단계의 짧은 주기로 반복
단계 목표 설명
테스트 작성 테스트 생성 – 동작 요구 기능 기반 I/F 개발
코드 작성 테스트 통과 – 테스트 실행 코드 빠른 개발
(임시코드/자료삽입, 선 구현)
리팩토링 Clean Code – 중복코드/임시코드 제거
– 모듈화, 디자인 패턴 적용
체크인 피드백 – 모든 테스트가 동작
– 요구기능 고도화, 테스트 발전

나. TDD 사용 패턴

단계 역할 설명
빨간막대 내부 검증 – 미실행 내용 검증, 작은 테스트
초록막대 코드 동작 – 신속 구현, 테스트 통과 기준
테스팅 적합성 검증 – 테스트-모듈 간 적합성 검증
xUnit 프레임워크 – 테스트 프레임워크 활용 방법
디자인패턴 Best Practice – 유사 도메인 문제 해결
  • TDD는 Clean Code 지향, 코드의 견고성을 보장하지만 단계적 적용이 필요하며, 완벽한 임시 코드 제거가 필요

 

III. 효과적 TDD 적용 방안/고려사항

적용 방안 고려사항
① 단위 모듈, 일부 선적용
② 적합성 판단 단계적 확대
③ 전체 개발팀 유기적 수행
– 임시 모듈 완벽 처리 필요
– 코드 추적성 확보 방안
– Pair-Programming 고효율화

 

도리: