Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

TDD: Test Driven Development 첫번째 이야기

1,640 views

Published on

사내요청으로 진행하는 TDD 이야기
- 간단하게 이론적인 부분 짚고 넘어가면서,
- 코드로 이야기를 해보자.

Published in: Technology
  • Be the first to comment

TDD: Test Driven Development 첫번째 이야기

  1. 1. TDD: Test Driven Development 실패하는 테스트 코드부터 작성한다. TCS/InnoQuartz Team 김지헌(jiheon.kim@innotree.com)
  2. 2. 목차 테스트 이야기 TDD란 무엇인가? JUnit 소개 TDD를 잘 하려면?? TDD 흉내내기
  3. 3. 테스트 이야기
  4. 4. 테스트 이야기 애플리케이션은 계속 변하고 복잡해져간다.
  5. 5. 테스트 이야기 단위 테스트는 코드가 바뀌지 않는다면 매번 실행할 때마다 테스트 결과가 동일 하다.
  6. 6. 테스트 이야기 만들어진 테스트 코드를 통해서 변경 사 항을 확인하고 빠르게 조치할 수 있다.
  7. 7. TDD란 무엇인가? 테스트 주도 개발 Test Driven Development
  8. 8. TDD란 무엇인가? TDD != 단위 테스트
  9. 9. TDD란 무엇인가? 만들고자 하는 기능 의 내용을 담고 있 으면서 만들어진 코드를 검 증해줄 수 있도록 테스트 코드를 먼저 만들고!
  10. 10. TDD란 무엇인가? 테스트를 성공하게 해주는 코드를 작성하는 방식의 개발 방법
  11. 11. TDD란 무엇인가? 최대한 빨리 실패하기!!
  12. 12. TDD의 장점 개발의 방향을 잃지 않게 유지해 준다. 클래스 이름은 Account 기능은 세 가지 잔고balance 조회 입금deposit 출금withdraw
  13. 13. TDD의 장점 품질 좋은 소프트웨어 모듈 보유 자동화된 단위 테스트 케이스를 갖게 된다. 사용 설명서 & 의사소통의 수단 설계 개선 보다 자주 성공한다. 테스트를 거친 '품질이 검증된 부품'을 갖게 됨 필요한 시점에 언제든지 수행하고 확인 가능 테스트 코드 남음(문서보다 코드!) 다양한 설계 요소 고민(이름, 인자, 접근 제어자)! 테스트 주기를 짧게 하여 녹색 막대를 보며, 성취 감을!!
  14. 14. TDD의 최종목적: '잘 동작하는 깔끔한 코 드' 작성
  15. 15. 테스트 유의사항 l테스트 케이스는 이름이 중요하다. l코드형식 보다는 테스트를 설명하는 형식으로 l한글로 작성해도 자바니까 OK~ 이왕이면 UTF-8 인코딩 l메소드명을 통해서 테스트 의도 확인
  16. 16. 테스트 이야기 더 이상 동작하지 않는 테스트 케이스는 제거한다.
  17. 17. 테스트 이야기 TDD는 자동화된 테스트를 만드는 것이 최종 목표가 아니다.
  18. 18. 테스트 이야기 모든 상황에 대한 테스트 케이스를 만들 필요는 없다.
  19. 19. 테스트 이야기 여러 개의 실패하는 테스트 케이스를 한번에 만들지 않는다.
  20. 20. JUnit: 테스트 자동화 프레임워크
  21. 21. JUnit 개념 ●테스트 픽스처Test fixture ●테스트 케이스Test case와 테스트 메소드Test method ●JUnit3 vs JUnit4
  22. 22. JUnit 을 사용한 클래스 기본구조 @Before: 테스트에 필요한 변수나 환경설정 @Test: 실제 테스트가 진행됨 // Given: 테스트와 관련된 조건식 // When: 테스트 실행(행위, behavior) // Then: 테스트 실행결과 확인 @After: 테스트에 사용된 뒷정리
  23. 23. TDD를 잘하려면?
  24. 24. TDD를 잘 하려면?? IDE(tool)를 잘 써야 한다.
  25. 25. TDD를 잘 하려면?? 많이 연습해야 한다.
  26. 26. TDD를 잘 하려면?? 테스트하기 편한 환경을 조성한다.
  27. 27. TDD를 잘 하려면?? 잘 쪼개야 한다.
  28. 28. TDD를 잘 하려면?? 아래에서 위로(Bottom-up) 보다는 위에서 아래로(Top-down) 방식이 좋다.
  29. 29. 감사합니다 :) 궁금하신 사항이 있으시다면 , jiheon.kim@innotree.com http://innotree.slack.com

×