1. TDD (Test Driven Development)의 개요
1-1. TDD (Test Driven Development)의 정의
- 프로그램에 대한 Test Case를 먼저 개발하고 이 Test Case를 통과하는 실제코드를 나중에 개발하는 Agile 개발방법
- 테스트 작성으로 요구사항 검증 및 설계의 고도화, 짧은 주기에 Lifecycle을 반복하는 테스트-설계-피드백 중심의 개발 사고방식/방법론
1-2. TDD (Test Driven Development)의 특징
- Design for Testability : 소스코드의 의존성이 감소하고 독립적인 테스트가능
- 테스트 커버리지 확보 : 단위테스트를 통한 테스트 커버리지 유지, 디버깅감소
- Clean code that works : 작동하는 깔끔한 코드지향
2. TDD (Test Driven Development)의 개념도, 구성요소, 패턴
2-1. TDD (Test Driven Development)의 개념도
- Needs --> 해결방안모색 TODO List 작성 --> TODO List 세분화 --> Test 로 시작하는 method를 만듦 --> 테스트가 실패할 경우 실제코드를 작성 --> 가장빨리 테스트를 통과 --> 중복을 제거한 리팩토링--> 테스트코드로 밝히는 진실 --> 테스트 통과
2-2. TDD (Test Driven Development)의 구성요소
1) 사용자 요구사항 : 사용자, BA, 제품 개발자 등이 요구사항 Story작성, 유저스토리
2) Test Case : 사용자, Tester등 관련자들이 Test Case 작성, Test Case
3) Code 작성 : 테스트에 대해 실행 가능한 코드 작성. 임시코드
4) Refactoring : Bad Small을 제거하여 Refactoring 수행, 리펙토링
2-3. TDD (Test Driven Development)의 패턴
1) 빨강막대 패턴 : 테스트를 언제, 어디에 작성할 것인지, 언제 멈출 것인지 결정
2) 초록막대 패턴 : 코드가 테스트를 통과하도록 신속하게 작동하는 코드작성
3) 테스트 패턴 : 상세한 테스트를 작성, 자식/모의객체/Self-Shunt/메시지 호출
4) xUnit패턴 : 자동화된 단위테스트 지원 프레임 워크, jUnit, CppUnit, PyUnit
5) 디자인 패턴 : 검증된 해결책 설계, Template/Best Practice
'1. IT Story > Basic Studies' 카테고리의 다른 글
Daily Build (0) | 2019.06.22 |
---|---|
CI(Continuous Integration) (0) | 2019.06.21 |
ATDD(Acceptance Test Driven Development) (0) | 2019.06.20 |
SEM(Strategic Enterprise Management) (0) | 2019.06.19 |
XP (extreme Programming) (0) | 2019.06.17 |
Agile 개발방법론 (0) | 2019.06.16 |
CBD(Component Based Development)방법론 (0) | 2019.06.14 |
객체지향방법론 (0) | 2019.06.13 |