SlideShare a Scribd company logo
TDDwith JUnit
Test
Driven
Development
Junyoung Lee
대개
 우리는
개발을
 하고
테스트를
 합니다.
잘
 돌아가나
?
개발 기간이 길어질 수록 개발자의 목표의식이 흐려진다
작업이 길어질 수록 확인이 어렵다
개발자의 집중력이 필요해진다
논리적인 오류를 찾기 어렵다
코드의 사용 방법과 변경 이력을
개발자의 기억에 의존하게 된다
귀차니즘의 증가로 테스트를 간소화 하게 된다
코드 수정 시 정상 동작을 보장하기 어렵다
테스트를 해보려면 변경 등의 선행 작업이 필요
회귀 테스트가 희귀 테스트가 되기 쉽다
개발자의 노동력을 필요로 하게 된다
- 테스트 주도 개발 TDD 실천법과 도구 중
TDD에서는
테스트를
 작성하고,
개발을
 합니다.
코드도
 없는데
 무슨
 테스트를
 먼저?
TDD
Need
무엇을 테스트 할 것인가?
Test
실패하는 테스트 작성
Code
테스트를 통과하는 코드 작성
Refactoring
코드의 중복 제거
TDD Flow
Simple Code
Ron jeffries said “Clean code that works”
예측 가능한 개발 방법이다
끊임없이 발생할 버그에 대해 걱정하지 않고
일이 언제 마무리 될 지 알 수 있다
코드가 가르쳐주는 모든 교훈을 학습할 기회를 갖게 된다
당신이 만든 소프트웨어는 사용자의 삶을 향상시켜 준다
동료들이 당신을 존경할 수 있게 해준다
당신 또한 동료들을 존경할 수 있게 된다
작성하는 동안 기분이 좋다
- 테스트 주도 개발 중
Getting
 started
 TDD
with
 JUnit
Eclipse를 사용할 겁니다.
JUnit 라이브러리를 받습니다.
프로젝트의 빌드 패스에 추가합니다.
시작해 봅시다.
환경 설정
이 정도는 스샷 없어도 되겠쪙?
두 날짜의 일 수 차이를 구하는
프로그램을 작성해 봅시다.
20140314 - 20140310 = 4
예제 출처 - https://wikidocs.net/224
테스트
 케이스
 작성
1. 두 날짜의 차이 일 수를 구한다.
2. 특정 일자의 총 일 수를 구한다.
3. 전년도까지의 총 일수를 구한다. 
4. 전달까지의 총 일수를 구한다.
5. 해당 일자까지의 총 일 수를 구한다.
테스트
 코드
 작성
public class SubDateTest extends TestCase{
	 public static void main(String[] args) {
	 	 junit.textui.TestRunner.run(SubDateTest.class);
	 }
	
	 public void testGetYearDay() {
	 	 assertEquals(0, SubDate.getYearDay(1));
	 	 assertEquals(365, SubDate.getYearDay(2));
	 }
}

More Related Content

What's hot (17)

PPTX
TDD
Henry Lee
 
PDF
파이썬 TDD 101
정주 김
 
PPTX
IoT 개발자를 위한 Embedded C에서 TDD를 해보자
Taeyeop Kim
 
PPTX
C++과 TDD
선협 이
 
PPTX
Test driven development
Jinho Song
 
PDF
TDD&Refactoring Day 03: TDD
Suwon Chae
 
PDF
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
SangIn Choung
 
PDF
TDD with JUnit 2
Junyoung Lee
 
PPTX
E1_Deview nhn애자일개발 tdd_질문답
NAVER D2
 
PDF
TDD&Refactoring Day 01: Refactoring
Suwon Chae
 
PPTX
단위테스트자동화지원도구 임성현 최종
guest7178884
 
PDF
C++ 코드 품질 관리 비법
선협 이
 
PDF
testing for agile?, agile for testing
SangIn Choung
 
PPTX
Tdd
savemyface
 
PDF
초보개발자의 TDD 체험기
Sehun Kim
 
PDF
Work With Engineer
Sungchul Park
 
PDF
짝 테스트(Pair Testing) 소개와 사례
SangIn Choung
 
파이썬 TDD 101
정주 김
 
IoT 개발자를 위한 Embedded C에서 TDD를 해보자
Taeyeop Kim
 
C++과 TDD
선협 이
 
Test driven development
Jinho Song
 
TDD&Refactoring Day 03: TDD
Suwon Chae
 
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
SangIn Choung
 
TDD with JUnit 2
Junyoung Lee
 
E1_Deview nhn애자일개발 tdd_질문답
NAVER D2
 
TDD&Refactoring Day 01: Refactoring
Suwon Chae
 
단위테스트자동화지원도구 임성현 최종
guest7178884
 
C++ 코드 품질 관리 비법
선협 이
 
testing for agile?, agile for testing
SangIn Choung
 
초보개발자의 TDD 체험기
Sehun Kim
 
Work With Engineer
Sungchul Park
 
짝 테스트(Pair Testing) 소개와 사례
SangIn Choung
 

Viewers also liked (20)

PPTX
JUnit 지원 라이브러리 소개
Hyunil Shin
 
PDF
Dropbox 꿀팁
Junyoung Lee
 
PDF
팀프로젝트 활짝 피우기
Junyoung Lee
 
PDF
강의 전 준비(GitHub가입, git 클라이언트 설치)
Junyoung Lee
 
PPT
Unit Test With J Unit
Kenu, GwangNam Heo
 
PDF
커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco
Daegwon Kim
 
PDF
Slideshare font test
Junyoung Lee
 
PDF
Git 더하기 GitHub 강의 전 준비
Junyoung Lee
 
PPTX
Git
Junyoung Lee
 
PDF
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Junyoung Lee
 
PPTX
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
Elad Elrom
 
PDF
Tdd retro agile_korea_게시용
Sangcheol Hwang
 
PPTX
행복한 개발을 위한_테스트_케이스
도형 임
 
PDF
Git 더하기 GitHub(구름IDE 환경)
Junyoung Lee
 
PDF
Python Recipes for django girls seoul
Joeun Park
 
PDF
[NDC16] Effective Git
Chanwoong Kim
 
PPTX
오픈소스 공헌을 위한 필수 지식
Matthew (정재화)
 
PDF
Tdd 왜 배우기 어려운가
Jaehoon Oh
 
PDF
테스트 가능한 소프트웨어 설계와 TDD작성 패턴 (Testable design and TDD)
Suwon Chae
 
PDF
웹 IDE 비교
Junyoung Lee
 
JUnit 지원 라이브러리 소개
Hyunil Shin
 
Dropbox 꿀팁
Junyoung Lee
 
팀프로젝트 활짝 피우기
Junyoung Lee
 
강의 전 준비(GitHub가입, git 클라이언트 설치)
Junyoung Lee
 
Unit Test With J Unit
Kenu, GwangNam Heo
 
커맨드 라인 도구 활용하기 - zsh + oh-my-zsh, tmux, peco
Daegwon Kim
 
Slideshare font test
Junyoung Lee
 
Git 더하기 GitHub 강의 전 준비
Junyoung Lee
 
Git 더하기 GitHub(Git클라이언트 활용) / Getting started with git+github
Junyoung Lee
 
Test Driven Development (TDD) with FlexUnit 4 - 360|Flex San Jose preso
Elad Elrom
 
Tdd retro agile_korea_게시용
Sangcheol Hwang
 
행복한 개발을 위한_테스트_케이스
도형 임
 
Git 더하기 GitHub(구름IDE 환경)
Junyoung Lee
 
Python Recipes for django girls seoul
Joeun Park
 
[NDC16] Effective Git
Chanwoong Kim
 
오픈소스 공헌을 위한 필수 지식
Matthew (정재화)
 
Tdd 왜 배우기 어려운가
Jaehoon Oh
 
테스트 가능한 소프트웨어 설계와 TDD작성 패턴 (Testable design and TDD)
Suwon Chae
 
웹 IDE 비교
Junyoung Lee
 
Ad

Similar to Tdd with JUnit 1 (20)

PPTX
TDD - Test Driven Development
ChangHyeon Bae
 
PDF
엔지니어의 학습, 그리고 테스트 코드
Mijeong Park
 
PDF
KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"
용근 권
 
PDF
테스터가 말하는 테스트코드 작성 팁과 사례
SangIn Choung
 
PPTX
[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기
OKKY
 
PDF
Devon 2011-b-5 효과적인 레거시 코드 다루기
Daum DNA
 
PDF
KGC2010 - 낡은 코드에 단위테스트 넣기
Ryan Park
 
PDF
전통적인 개발과 테스트 주도 개발, 그리고 애자일
Tap ToRestart
 
PDF
개발이 테스트를 만났을 때(Shift left testing)
SangIn Choung
 
PDF
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
beom kyun choi
 
PDF
『Effective Unit Testing』 - 맛보기
복연 이
 
PDF
Effective unit testing - 좋은테스트 요약
YongEun Choi
 
PDF
Istqb 2-소프트웨어수명주기와테스팅-2015
Jongwon Lee
 
PPTX
자동화된 Test Case의 효과
도형 임
 
PDF
테스트 기발 개발, TBD(Test based developement)
도형 임
 
PPTX
[H3 2012] 행복한 개발을 위한 테스트 케이스
KTH, 케이티하이텔
 
PDF
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
SangIn Choung
 
PDF
TDD - 테스트 주도로 개발하기
현승 배
 
PDF
Learning Unit Testing with Pair Programming
Jongchan Kim
 
PDF
공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824
AWSKRUG - AWS한국사용자모임
 
TDD - Test Driven Development
ChangHyeon Bae
 
엔지니어의 학습, 그리고 테스트 코드
Mijeong Park
 
KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"
용근 권
 
테스터가 말하는 테스트코드 작성 팁과 사례
SangIn Choung
 
[OKKYCON] 박재성 - 의식적인 연습으로 TDD, 리팩토링 연습하기
OKKY
 
Devon 2011-b-5 효과적인 레거시 코드 다루기
Daum DNA
 
KGC2010 - 낡은 코드에 단위테스트 넣기
Ryan Park
 
전통적인 개발과 테스트 주도 개발, 그리고 애자일
Tap ToRestart
 
개발이 테스트를 만났을 때(Shift left testing)
SangIn Choung
 
Okjsp 13주년 발표자료: 생존 프로그래밍 Test
beom kyun choi
 
『Effective Unit Testing』 - 맛보기
복연 이
 
Effective unit testing - 좋은테스트 요약
YongEun Choi
 
Istqb 2-소프트웨어수명주기와테스팅-2015
Jongwon Lee
 
자동화된 Test Case의 효과
도형 임
 
테스트 기발 개발, TBD(Test based developement)
도형 임
 
[H3 2012] 행복한 개발을 위한 테스트 케이스
KTH, 케이티하이텔
 
사용자 스토리 대상 테스트 설계 사례(테스트기본교육 3장 3절)
SangIn Choung
 
TDD - 테스트 주도로 개발하기
현승 배
 
Learning Unit Testing with Pair Programming
Jongchan Kim
 
공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824
AWSKRUG - AWS한국사용자모임
 
Ad

Tdd with JUnit 1