17
TDD, 뭐뭐 뭐뭐뭐 뭐뭐뭐

TDD, 뭐시 중헌디

Embed Size (px)

Citation preview

Page 1: TDD, 뭐시 중헌디

TDD, 뭐시 중헌디이승운

Page 2: TDD, 뭐시 중헌디

TDD

• Test Driven Development• Clean code that works• Test - Code - Refactoring

Page 3: TDD, 뭐시 중헌디

Pros Cons• Pros

• 재설계 시간 감소• 수정 시 기존 기능 동작여부 확인가능 -> 디버깅 시간 감소

• 소스 품질• 테스트 코드 자체가 문서로서의 의미를 지님

• Cons• 진입장벽 및 습관형성이 쉽지않음• 개발시간 증가

• 15~35% 개발시간 증가 , 결함율 40~90% 감소• http://research.microsoft.com/en-us/groups/ese/nagappan_tdd.pdf

Page 4: TDD, 뭐시 중헌디

Process

• Red - Green - Refactor• 페어프로그래밍을 할 때 좋음 - Ping-pong

Page 5: TDD, 뭐시 중헌디

중한 것• 문제를 작게 나누는 시각• 개발 시 부담을 줄이기• 새로운 문제 , 큰 문제는 상단에 배치하고 , 그 로직으로 작은 문제들을 해결할 수 있도록 생각하기

Page 6: TDD, 뭐시 중헌디

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 • …

Page 7: TDD, 뭐시 중헌디

Write a Test

• BDD Style : Behavior Driven Development• describe : Test Suite• it : Unit Test

Page 8: TDD, 뭐시 중헌디

Codeexport default function findPrime(value) {

return [2]}

Page 9: TDD, 뭐시 중헌디

Test

Page 10: TDD, 뭐시 중헌디

Code

Page 11: TDD, 뭐시 중헌디

Write a Test

Page 12: TDD, 뭐시 중헌디

Code

Page 13: TDD, 뭐시 중헌디

Refactor

Page 14: TDD, 뭐시 중헌디
Page 15: TDD, 뭐시 중헌디

Refactor - 규칙찾기

Page 16: TDD, 뭐시 중헌디

Refactor

Page 17: TDD, 뭐시 중헌디

끝으로• TDD Practice : http://www.cyber-dojo.org• Concurrency/ GUI 는 힘들다 .

• React: https://github.com/airbnb/enzyme• 개발실력향상에 도움