Software Verification Junit, Eclipse 및빌드환경 Team : T3
목차 Eclipse JUnit 빌드환경 1
Eclipse e 소개 JAVA 를개발하기위한통합개발환경 주요기능 Overall 빌드환경 Code edit / Compile / Build Unit Test, Debug 특징 JAVA Code를작성하고이에대한 debugging 기능을제공 사용자가쉽고빠르게 SW 개발을할수있는통합개발환경 Plug in 설치를통한다른 Tool들과쉬운결합 2
Eclipse http://www.oracle.com/index.html JDK 설치 3
Eclipse JDK 설치 4
Eclipse JDK 설치 개발환경에맞는 OS 선택 5
Eclipse 환경변수설정 JAVA Path 설정 6
Eclipse 환경변수설정 7
Eclipse 환경변수설정 8
Eclipse 환경변수설정 9
Eclipse 환경변수설정 10
Eclipse http://www.eclipse.org Eclipse 설치 Download 11
Eclipse Eclipse 설치 12
Eclipse Eclipse 설치 13
Eclipse Eclipse 설치 14
Eclipse Eclipse 설치 15
JUnit 소개 Junit 은 Java 기반테스팅을위한프레임워크로, 단위모듈 (ex Method) 이 정확히구현되었는지를확인할수있는도구 Eclipse Overall 설치 주요기능 Test case 생성및실행, 오류추적 특징 메소드와같은단위모듈별테스팅을가능케함으로써코드품질을보장 정확한단위테스팅을가능케함으로써통합테스팅시회귀결함을줄임 다른모듈에의존하지않고, 원하는모듈만임의의순서대로수행할수있다. JFeature( 요구사항개발도구 ) 와통합되어요구사항의정확한구현비율을알수있다. 16
JUnit 프로젝트생성 17
JUnit 프로젝트생성 Junit 라이브러리추가 18
JUnit 프로젝트생성 19
JUnit 프로젝트생성 20
JUnit TestCase 생성 21
JUnit TestCase 생성 22
JUnit TestCase 생성 Test 할메소드선택 23
JUnit TestCase Code Test Code Generate 결과 24
JUnit TestCase Code Test Code Body 작성 25
JUnit TestCase Code 26
JUnit TestCase Code 27
JUnit TestCase Code Test 결과확인 28
JUnit JUnit Test Method Method assertequals(a,b) 설명 객체 a,b 가서로일치하는지확인 assertarrayequals(a,b) 배열 a,b 가일치하는지확인 ( 순서포함 ) Method assertnull(a) assertnotnull(a) assertture(a) assertfalse(a) assertsame(a,b) assertnotsame(a,b) Fail() 기타 객체가 Null 을참조하는지시험 객체가실존하는객체를확인하는지시험 조건식 a 가참인지확인 조건식 a 가 False 인지확인 a 가참조하는객체를 b 도참조하는지시험 a 와 b 가서로다른객체를참조하는지시험 테스트결과를실패로처리 http://junit.sourceforge.net/javadoc/org/ junit/assert.html 29
JUnit JUnit of Annotation Annotation @Test @Before @After 설명 Unit Test를수행하는대상 method 각 Unit test의 method 실행전에실행되는 method 각 Unit test의실행후에실행되는 method Annotation @BeforeClass Class 안에정의된모든 method 에대해서 Test 전, 후에한번만호출된다. @AfterClass 객체생성등에사용. @Ignore @RunWith(value=class) @SuiteClasses (value=class) @Parameter 테스트를수행하지않을 method Unit Test 클래스를실행하기위한러너 (Runner) 를명시적으로지정할수있다. 보통여러개의 Test Class 를수행하기위해쓰인다. @Runwith 를이용해 Suite Class 를러너로사용한다. 하나의 method 에대해다양한테스트값을한꺼번에실행시키고자할때사용한다. 30
JUnit http://junit.org/javadoc/latest/index.html API 31
JUnit http://junit.org/javadoc/latest/index.html API 32
빌드환경 API 빌드서버 - Jenkins 빌드도구 - Maven 33
Jenkins 소개 CI( 연속적통합 ) 도구 빌드, 배포등반복되는작업을모니터링하는도구 주요기능 Overall 지속적인자동화빌드 지속적인자동화테스트 잡스케줄링 자동화된배포관리 특징 쉬운설치및웹기반으로된쉬운 UI 제공 여러 project 동시 Build 제공 다양한언어 /OS 지원 34
Jenkins OS : Linux Ubuntu 14.04 64bit Server Jenkins 설치 설치완료후브라우저에서접속한화면 http:// i p :8080 35
Maven Overall 소개 자바기반프로젝트를빌드하고, 구성요소및라이브러리의존성을관리하는도구 주요기능 빌드로직의재사용및빌드관리 프로젝트스캐폴딩 의존성관리 원격리파지토리제공 빌드, 래키지, 로컬설치, 원격배포 특징 프로젝트에필요한라이브러리를 POM 파일만으로쉽게구성가능 Convention over Configuration 개념으로관례적인프로젝트폴더구조사용 Jenkins 같은 CI 도구와연계하여빌드과정자동화가능 36
Maven OS : Linux Ubuntu 14.04 64bit Server Maven 설치 37
Maven Jenkins 연동 Jenkins 관리 38
Maven Jenkins 연동 시스템설정 39
Maven Jenkins 연동 Jenkins Maven 설정 Linux Maven 설정 40
Maven 프로젝트생성 41
Maven 프로젝트생성 Maven Project 선택 42
Maven 프로젝트생성 pom.xml 경로지정 Goal 설정 43
Maven pom.xml 설명 groupid : 프로젝트를생성하는조직의고유아이디 artifactid : 프로젝트에의하여생성되는 artifact 의고유아이디 packaging : 프로젝트를어떤형태로 packaging 할것인지결정 (jar, war, ear 등 ) version : 프로젝트의현재버전, 개발중일시 SNAPSHOT 을접미사로사용 44
Maven pom.xml 설명 plugin : 빌드시필요한플러그인지정 dependency : 프로젝트와의존관계가있는프로젝트의패키지지정 45
Maven 프로젝트빌드 Build Now 46
Maven 프로젝트빌드 Console Output Log 확인 47
Maven 프로젝트빌드 Build 결과확인 & 실행 48
Thank You for Your Attention