테스트 주도 개발 (test driven development)
DESCRIPTION
테스트 주도 개발 (Test Driven Development). 2011. 10. 17. 작성자 : 한 애 연 작성부서 : IT 연구소 전자메일 : [email protected]. 1. 목차. 테스트 주도 개발의 필요성 테스트 주도 개발 테스트 주도 개발 도구 - JUnit JUnit 사용법 Eclipse 와 JUnit 을 이용한 TDD 실습 테스트 주도 개발의 목표 자료출처. 테스트 주도 개발의 필요성. 개발자의 테스트 활동이 중요한 이유 - PowerPoint PPT PresentationTRANSCRIPT
테스트 주도 개발테스트 주도 개발(Test Driven Development)(Test Driven Development)
1
작성자 : 한 애 연작성부서 : IT 연구소전자메일 : [email protected]
2011. 10. 17.
2 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 목차
테스트 주도 개발의 필요성
테스트 주도 개발
테스트 주도 개발 도구 - JUnit
JUnit 사용법
Eclipse 와 JUnit 을 이용한 TDD 실습
테스트 주도 개발의 목표
자료출처
3 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 테스트 주도 개발의 필요성
개발 테스트 개발 테스트 개발 테스트
. . .
테스트는 문제가 없다는 것을 증명하는 것이 아니라 문제가 있다는 것을 증명하는 프로세스이다 .
개발자의 테스트 활동이 중요한 이유 초기 단계에서 발견된 결함은 수정이 용이하다 .
개발 후기 단계에서 발견된 결함들을 수정하기에는 비용과 시간이 많이 소비되고 , 프로젝트가 실패될 확률이 높아진다 .
개발 단계에서의 효율적인 테스팅은 전체 프로젝트 시간을 감소시킨다 .
4 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 테스트 주도 개발
글쎄요…확실하진 않지만 한 1 개월쯤 ?
아니 1 개월에 며칠 더 ..
지금 해결 못한 문제들이 많은데 ..
그게 다 해결되려면 .. 한…
음 .. 그것만 해결되면 말씀 드리겠습니다 .
현재 진행중인 테스트 10 개 중
7 개가 마무리되었고 ,
지금 같은 진행속도라면
일주일 내로 모든 것이 끝납니다 .
자네 ,
현재 진행중인 프로젝트
얼마나 진행되었지 ?
김 PM
5 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 테스트 주도 개발
Need
Simple code Bad smell?
통과
<Test Driven Development 의 흐름 >
Test
Refactoring
Code
N 번
실패하는
테스트 코드
작성
테스트를
통과하는
코드 작성
코드의
중복을
제거
6 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 테스트 주도 개발
Test 계산클래스
test 더하기메소드
test 빼기메소드
test 나누기메소드
test 곱하기메소드
+a…
계산클래스
더하기메소드
빼기메소드
나누기메소드
곱하기메소드
7 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 테스트 주도 개발 도구 - JUnit
xUnit - 각 언어별로 다양한 단위 테스트 도구가 존재
(JUnit, NUnit, CPPUnit, PyUnit, VBUnit, PearlUnit 등 )
JUnit
1997 년 에릭 감마와 켄트 백이 만든
자바를 위한 단위 테스트 프레임워크
8 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 JUnit 사용법
Eclipse 의 plugins 폴더에 JUnit 을 다운로드한다 . (http://www.junit.org/)
9 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 JUnit 사용법
Eclipse 의 Windows>Preferences>Java>Installed JREs 메뉴에서 사용하는 JRE 를 선택하고
[Edit] 를 클릭한다 .
10 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 JUnit 사용법
[Add External JARs] 를 클릭하여 JUnit 사이트에서 다운로드한 jar 파일을 선택한다 .
11 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 JUnit 사용법
Eclipse 의 Windows>Preferences>Java>JUnit 에서 JUnit 의 사용을 체크한 후 저장한다 .
12 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 JUnit 사용법
Eclipse 의 Windows>Show View>Other... 에서 JUnit 을 클릭한다 .
13 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 JUnit 사용법
클래스에서 마우스 오른쪽 버튼을 클릭하고 New>JUnit Test Case 를 클릭하면
해당 클래스의 테스트 케이스를 생성할 수 있다 .
실행은 Run>Run As>JUnit Test (Alt+Shift+X,T) 로 한다 .
14 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민
Eclipse 와 JUnit 을 이용한 TDD 실습
15 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 테스트 주도 개발의 목표
“Clean code that works!”TDD 의 목표
16 광주광역시 남구 진월동 314-7 전화 /팩스 : 062-653-2879 / 062-676-4869 홈페이지 : http://www.comin.com
정직한 기업 , 공부하는 사원 , 발전하는 가민 자료출처
•한국 eXtreme Programming 사용자 모임 http://xper.org/
•TDD 오픈 소스 스터디 http://www.javajigi.net/display/OSS/TDD
•월간 microSoftware 2007 년 05 월호 Cover story 2 기민한 테스트 코드의 결정판 「테스트 주도 개발 전략」
•「테스트 주도 개발 (Test-Driven Development by Example) 」 - Kent Beck
•「 Professional Enterprise.NET 」 - Jon Arking, Scott Millett