SlideShare a Scribd company logo
1 of 6
자바 프로그래밍
Agile Java
1장 시작하기
애자일(agile)은 무엇인가?
• Agile은 소프트웨어 개발 방법론을 지칭하는 새로운 단어
• 프로세스 의 종류
워터폴 프로젝트 진행중 수정할수 없는 부분이 많음 무거운 프로세스에 속함
RUP 무거운 프로세스와 가벼운 프로세스를 골라서사용함 정해지지않음
XP 문서나, 고정된것에 큰 의미를 두지않음
변화를 고려하여 디자인되었음
가벼운 프로세스에 속함
Agile프로세스의 특징
◈변화를 고려하여 디자인이 되었기 때문에
고정된것에 큰 의미를 두지 않는다.
◈XP프로세스는 가장 잘 알려진 애자일 프로
세스의 종류
◈ 테스트 위주 개발 혹은 TDD에 집중
왜 테스트 위주 개발인가?
• TDD란?
테스트로 시스템을 명시하는 기법
TDD는 반복되는 간단하고 짧은 사이클의 구조
각 사이클은 다음 단계로 구성된다.
◈단위 테스트의 형식으로 코드로 명세를 작성
◈ 테스트가 실패하는것을 확인
◈ 명세를 만족하는 코드를 작성
◈ 테스트가 성공하는 것을 확인
◈ 시스템의 깨끗한 상태유지를위해 코드 재구성
간단한 테스트
• 테스트 케이스 역할을 할 클래스를 작성
ex)public class StudentTest extends
junit.framework.TestCase{
}
◈Junit이 클래스를 이용하기 위해서
클래스는 public으로 선언되야함
메소드 추가하기
• StudentTest 클래스 안에 메소드를 정의
ex)public class StudentTest extends
junit.framework.TestCase{
public void testCreate(){
}
}
테스트 방법을 나타내는 메소드의 조건
◈메소드는 public으로 선언 되야함
◈메소드는 값을 반환하지않음(void)
◈메소드의 이름은 소문자 test로 시작해야함
◈인수를 받지 않음()

More Related Content

What's hot

E1_Deview nhn애자일개발 tdd_질문답
E1_Deview nhn애자일개발 tdd_질문답E1_Deview nhn애자일개발 tdd_질문답
E1_Deview nhn애자일개발 tdd_질문답NAVER D2
 
클린코드 9, 10장
클린코드 9, 10장클린코드 9, 10장
클린코드 9, 10장진화 손
 
필요해서 하는 개발 자동화
필요해서 하는 개발 자동화필요해서 하는 개발 자동화
필요해서 하는 개발 자동화none
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)KH Park (박경훈)
 
신림프로그래머모임_개발프로세스개선기
신림프로그래머모임_개발프로세스개선기신림프로그래머모임_개발프로세스개선기
신림프로그래머모임_개발프로세스개선기none
 
Test driven development
Test driven developmentTest driven development
Test driven developmentJinho Song
 
OKKY_송년회_발표자료
OKKY_송년회_발표자료OKKY_송년회_발표자료
OKKY_송년회_발표자료Dexter Jung
 
플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in Flitto플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in FlittoYongjun Kim
 
Bdd 개요 및 Karma 도입 예
Bdd 개요 및 Karma 도입 예Bdd 개요 및 Karma 도입 예
Bdd 개요 및 Karma 도입 예Seulgi Choi
 
자바_웹_개발자를_위한_c#_핵심_기능
자바_웹_개발자를_위한_c#_핵심_기능자바_웹_개발자를_위한_c#_핵심_기능
자바_웹_개발자를_위한_c#_핵심_기능Dexter Jung
 
[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스철민 신
 
테스트 케이스와 SW 품질
테스트 케이스와 SW 품질테스트 케이스와 SW 품질
테스트 케이스와 SW 품질도형 임
 
Testing & refactoring
Testing & refactoringTesting & refactoring
Testing & refactoringLim Hosung
 
프로젝트 Xxx에 적용하고 싶은 개발방법
프로젝트 Xxx에 적용하고 싶은 개발방법프로젝트 Xxx에 적용하고 싶은 개발방법
프로젝트 Xxx에 적용하고 싶은 개발방법도형 임
 
Deview nhn애자일개발 ci
Deview nhn애자일개발 ciDeview nhn애자일개발 ci
Deview nhn애자일개발 ciNAVER D2
 
Rapid Development
Rapid DevelopmentRapid Development
Rapid Development기룡 남
 

What's hot (18)

Tdd ver.2
Tdd ver.2Tdd ver.2
Tdd ver.2
 
E1_Deview nhn애자일개발 tdd_질문답
E1_Deview nhn애자일개발 tdd_질문답E1_Deview nhn애자일개발 tdd_질문답
E1_Deview nhn애자일개발 tdd_질문답
 
클린코드 9, 10장
클린코드 9, 10장클린코드 9, 10장
클린코드 9, 10장
 
필요해서 하는 개발 자동화
필요해서 하는 개발 자동화필요해서 하는 개발 자동화
필요해서 하는 개발 자동화
 
테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)테스트 자동화와 TDD(테스트 주도 개발방법론)
테스트 자동화와 TDD(테스트 주도 개발방법론)
 
신림프로그래머모임_개발프로세스개선기
신림프로그래머모임_개발프로세스개선기신림프로그래머모임_개발프로세스개선기
신림프로그래머모임_개발프로세스개선기
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
TDD, 뭐시 중헌디
TDD, 뭐시 중헌디TDD, 뭐시 중헌디
TDD, 뭐시 중헌디
 
OKKY_송년회_발표자료
OKKY_송년회_발표자료OKKY_송년회_발표자료
OKKY_송년회_발표자료
 
플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in Flitto플리토 코드리뷰 - Code Review in Flitto
플리토 코드리뷰 - Code Review in Flitto
 
Bdd 개요 및 Karma 도입 예
Bdd 개요 및 Karma 도입 예Bdd 개요 및 Karma 도입 예
Bdd 개요 및 Karma 도입 예
 
자바_웹_개발자를_위한_c#_핵심_기능
자바_웹_개발자를_위한_c#_핵심_기능자바_웹_개발자를_위한_c#_핵심_기능
자바_웹_개발자를_위한_c#_핵심_기능
 
[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스[AUG]개발자와 QA가 상생하는 테스트 프로세스
[AUG]개발자와 QA가 상생하는 테스트 프로세스
 
테스트 케이스와 SW 품질
테스트 케이스와 SW 품질테스트 케이스와 SW 품질
테스트 케이스와 SW 품질
 
Testing & refactoring
Testing & refactoringTesting & refactoring
Testing & refactoring
 
프로젝트 Xxx에 적용하고 싶은 개발방법
프로젝트 Xxx에 적용하고 싶은 개발방법프로젝트 Xxx에 적용하고 싶은 개발방법
프로젝트 Xxx에 적용하고 싶은 개발방법
 
Deview nhn애자일개발 ci
Deview nhn애자일개발 ciDeview nhn애자일개발 ci
Deview nhn애자일개발 ci
 
Rapid Development
Rapid DevelopmentRapid Development
Rapid Development
 

Viewers also liked

자바 프로그래밍 Agile(2장 자바의 기초)
자바 프로그래밍 Agile(2장 자바의 기초)자바 프로그래밍 Agile(2장 자바의 기초)
자바 프로그래밍 Agile(2장 자바의 기초)brain816
 
TDD & Agile in Vingle
TDD & Agile in VingleTDD & Agile in Vingle
TDD & Agile in VingleVingle Inc.
 
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)DK Lee
 
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)DK Lee
 
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
DK Lee
 
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)DK Lee
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현noerror
 
구글 앱 엔진의 활용(Google App Engine) 2부
구글 앱 엔진의 활용(Google App Engine) 2부구글 앱 엔진의 활용(Google App Engine) 2부
구글 앱 엔진의 활용(Google App Engine) 2부mosaicnet
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신현욱 김
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)DK Lee
 
Scrum and kanban with jira
Scrum and kanban with jira Scrum and kanban with jira
Scrum and kanban with jira 호정 이
 
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉iFunFactory Inc.
 
스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들Hyunjik Bae
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발혁 권
 
애자일 코치
애자일 코치애자일 코치
애자일 코치영기 김
 
Tableau : Leader of Agile BI
Tableau : Leader of Agile BITableau : Leader of Agile BI
Tableau : Leader of Agile BIPlanit-partners
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수Yeon Soo Kim
 
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)DK Lee
 
자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)DK Lee
 

Viewers also liked (20)

자바 프로그래밍 Agile(2장 자바의 기초)
자바 프로그래밍 Agile(2장 자바의 기초)자바 프로그래밍 Agile(2장 자바의 기초)
자바 프로그래밍 Agile(2장 자바의 기초)
 
TDD & Agile in Vingle
TDD & Agile in VingleTDD & Agile in Vingle
TDD & Agile in Vingle
 
Database design
Database designDatabase design
Database design
 
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
자바 웹 개발 시작하기 (6주차 : 커뮤니티를 만들어보자!)
 
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
자바 웹 개발 시작하기 (7주차 : 국제화, 확인검증, 예외처리)
 
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

 
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
자바 웹 개발 시작하기 (8주차 : 명세서, 단위테스트, 통합)
 
NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현NDC12_Lockless게임서버설계와구현
NDC12_Lockless게임서버설계와구현
 
구글 앱 엔진의 활용(Google App Engine) 2부
구글 앱 엔진의 활용(Google App Engine) 2부구글 앱 엔진의 활용(Google App Engine) 2부
구글 앱 엔진의 활용(Google App Engine) 2부
 
유니티3D 그리고 웹통신
유니티3D 그리고 웹통신유니티3D 그리고 웹통신
유니티3D 그리고 웹통신
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
 
Scrum and kanban with jira
Scrum and kanban with jira Scrum and kanban with jira
Scrum and kanban with jira
 
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
NDC14 범용 게임 서버 프레임워크 디자인 및 테크닉
 
스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들스마트폰 온라인 게임에서 고려해야 할 것들
스마트폰 온라인 게임에서 고려해야 할 것들
 
Agile SW 개발
Agile SW 개발Agile SW 개발
Agile SW 개발
 
애자일 코치
애자일 코치애자일 코치
애자일 코치
 
Tableau : Leader of Agile BI
Tableau : Leader of Agile BITableau : Leader of Agile BI
Tableau : Leader of Agile BI
 
파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수파이썬을 배워야하는 이유 발표자료 - 김연수
파이썬을 배워야하는 이유 발표자료 - 김연수
 
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
자바 웹 개발 시작하기 (9주차 : 프로젝트 구현 – 추가적인 뷰)
 
자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)
 

Similar to 자바 프로그래밍 Agile(1장 시작하기)

애자일 하라
애자일 하라애자일 하라
애자일 하라진수 허
 
Tdd live spring camp 2013
Tdd live spring camp 2013Tdd live spring camp 2013
Tdd live spring camp 2013beom kyun choi
 
테스트자동화와 TDD
테스트자동화와 TDD테스트자동화와 TDD
테스트자동화와 TDDSunghyouk Bae
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)SangIn Choung
 
ALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsTaeyoung Kim
 
제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발Terry Cho
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스Hee Jae Lee
 
개발 생산성 향상 기법 V1.2
개발 생산성 향상 기법 V1.2개발 생산성 향상 기법 V1.2
개발 생산성 향상 기법 V1.2Daniel Lim
 
프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들Lee Geonhee
 
소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선Jung Dohyun
 
성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기DomainDriven DomainDriven
 
공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824
공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824
공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824AWSKRUG - AWS한국사용자모임
 
Learning Unit Testing with Pair Programming
Learning Unit Testing with Pair ProgrammingLearning Unit Testing with Pair Programming
Learning Unit Testing with Pair ProgrammingJongchan Kim
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스한 경만
 
Specification By Example
Specification By ExampleSpecification By Example
Specification By ExampleJonghwa Lee
 

Similar to 자바 프로그래밍 Agile(1장 시작하기) (20)

애자일 하라
애자일 하라애자일 하라
애자일 하라
 
Tdd live spring camp 2013
Tdd live spring camp 2013Tdd live spring camp 2013
Tdd live spring camp 2013
 
Tdd
TddTdd
Tdd
 
테스트자동화와 TDD
테스트자동화와 TDD테스트자동화와 TDD
테스트자동화와 TDD
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
 
ALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOpsALM과 DevOps 그리고 Azure DevOps
ALM과 DevOps 그리고 Azure DevOps
 
Tdd with JUnit 1
Tdd with JUnit 1Tdd with JUnit 1
Tdd with JUnit 1
 
제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발제13회컨퍼런스 조대협 서버사이드개발
제13회컨퍼런스 조대협 서버사이드개발
 
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
[오픈소스컨설팅]Session 6. scrum과 jira 기반의 소프트웨어 개발 프로세스
 
개발 생산성 향상 기법 V1.2
개발 생산성 향상 기법 V1.2개발 생산성 향상 기법 V1.2
개발 생산성 향상 기법 V1.2
 
C++과 TDD
C++과 TDDC++과 TDD
C++과 TDD
 
프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들프로젝트 관리 및 지켜야 할 사항들
프로젝트 관리 및 지켜야 할 사항들
 
소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선소프트웨어 개발 프로세스 개선
소프트웨어 개발 프로세스 개선
 
Android QA Process
Android QA ProcessAndroid QA Process
Android QA Process
 
성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기성장하는 스타트업의 프로세스 개척기
성장하는 스타트업의 프로세스 개척기
 
공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824
공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824
공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824
 
Learning Unit Testing with Pair Programming
Learning Unit Testing with Pair ProgrammingLearning Unit Testing with Pair Programming
Learning Unit Testing with Pair Programming
 
애자일 프랙티스
애자일 프랙티스애자일 프랙티스
애자일 프랙티스
 
TDD
TDDTDD
TDD
 
Specification By Example
Specification By ExampleSpecification By Example
Specification By Example
 

자바 프로그래밍 Agile(1장 시작하기)

  • 2. 애자일(agile)은 무엇인가? • Agile은 소프트웨어 개발 방법론을 지칭하는 새로운 단어 • 프로세스 의 종류 워터폴 프로젝트 진행중 수정할수 없는 부분이 많음 무거운 프로세스에 속함 RUP 무거운 프로세스와 가벼운 프로세스를 골라서사용함 정해지지않음 XP 문서나, 고정된것에 큰 의미를 두지않음 변화를 고려하여 디자인되었음 가벼운 프로세스에 속함
  • 3. Agile프로세스의 특징 ◈변화를 고려하여 디자인이 되었기 때문에 고정된것에 큰 의미를 두지 않는다. ◈XP프로세스는 가장 잘 알려진 애자일 프로 세스의 종류 ◈ 테스트 위주 개발 혹은 TDD에 집중
  • 4. 왜 테스트 위주 개발인가? • TDD란? 테스트로 시스템을 명시하는 기법 TDD는 반복되는 간단하고 짧은 사이클의 구조 각 사이클은 다음 단계로 구성된다. ◈단위 테스트의 형식으로 코드로 명세를 작성 ◈ 테스트가 실패하는것을 확인 ◈ 명세를 만족하는 코드를 작성 ◈ 테스트가 성공하는 것을 확인 ◈ 시스템의 깨끗한 상태유지를위해 코드 재구성
  • 5. 간단한 테스트 • 테스트 케이스 역할을 할 클래스를 작성 ex)public class StudentTest extends junit.framework.TestCase{ } ◈Junit이 클래스를 이용하기 위해서 클래스는 public으로 선언되야함
  • 6. 메소드 추가하기 • StudentTest 클래스 안에 메소드를 정의 ex)public class StudentTest extends junit.framework.TestCase{ public void testCreate(){ } } 테스트 방법을 나타내는 메소드의 조건 ◈메소드는 public으로 선언 되야함 ◈메소드는 값을 반환하지않음(void) ◈메소드의 이름은 소문자 test로 시작해야함 ◈인수를 받지 않음()