Upload
seung-woon-lee
View
197
Download
4
Embed Size (px)
Citation preview
TDD, 뭐시 중헌디이승운
TDD
• Test Driven Development• Clean code that works• Test - Code - Refactoring
Pros Cons• Pros
• 재설계 시간 감소• 수정 시 기존 기능 동작여부 확인가능 -> 디버깅 시간 감소
• 소스 품질• 테스트 코드 자체가 문서로서의 의미를 지님
• Cons• 진입장벽 및 습관형성이 쉽지않음• 개발시간 증가
• 15~35% 개발시간 증가 , 결함율 40~90% 감소• http://research.microsoft.com/en-us/groups/ese/nagappan_tdd.pdf
Process
• Red - Green - Refactor• 페어프로그래밍을 할 때 좋음 - Ping-pong
중한 것• 문제를 작게 나누는 시각• 개발 시 부담을 줄이기• 새로운 문제 , 큰 문제는 상단에 배치하고 , 그 로직으로 작은 문제들을 해결할 수 있도록 생각하기
Example• Prime Factor (
https://github.com/mazicky/tdd-prime-factor/tree/retry)• 2 => 2• 3 => 3• 4 => 2, 2• 6 => 2, 3• 8 => 2,2,2• 9 => 3,3 • …
Write a Test
• BDD Style : Behavior Driven Development• describe : Test Suite• it : Unit Test
Codeexport default function findPrime(value) {
return [2]}
Test
Code
Write a Test
Code
Refactor
Refactor - 규칙찾기
Refactor
끝으로• TDD Practice : http://www.cyber-dojo.org• Concurrency/ GUI 는 힘들다 .
• React: https://github.com/airbnb/enzyme• 개발실력향상에 도움