Software Verification T4 고수창전소영이세라하지윤
Index 1 CI 2 IntelliJ IDEA 3 JUnit 4 Build Environment 5 Git
1 Continuous Integration What is CI? 소프트웨어개발에서 Build/Test 의프로세스를지속적으로수행하는것 개발자생산성향상 버그의빠른발견및해결 더빠른업데이트제공 3
Continuous Integration What is CI? Continuous Integration 에필요한것 CI 도구 (CI server) : Jenkins, Travis 버전관리시스템 (SCM) : Git, SVN 빌드도구 (Build Tool) : Maven, Ant, Gradle 테스트도구 (Test Tool) : JUnit 4
2 IntelliJ IDEA What is IntelliJ IDEA? JetBrains 사에서제작한상용자바통합개발환경 Refactoring 과고급코드탐색기능을가장먼저지원 IDE 의안정성이뛰어나며플러그인호환및충돌문제가적음 JAVA 이외의다른프로그래밍언어지원 5
2 IntelliJ IDEA Why is IntelliJ IDEA? 이클립스보다가벼움 내장개발자도구 UI/UX 예쁨 6
IntelliJ IDEA Install JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 접속 7
IntelliJ IDEA Install JDK Accept License Agreement, 자신의운영체제에맞는 JDK 다운로드 8
IntelliJ IDEA Install JDK 다운로드파일실행 9
IntelliJ IDEA Install JDK 계속, 설치클릭 10
IntelliJ IDEA Install JDK 설치완료 11
IntelliJ IDEA Install IntelliJ https://www.jetbrains.com/idea/ 접속 12
IntelliJ IDEA Install IntelliJ Community DOWNLOAD 13
IntelliJ IDEA Install IntelliJ Drag to 14
IntelliJ IDEA Install IntelliJ 초기화면 테마설정 기본 Plug in 설정 15
IntelliJ IDEA New project Create New project 선택 16
IntelliJ IDEA New project Create New project 클릭 Gradle 선택 17
IntelliJ IDEA New project Create New project 클릭 Gradle 선택 Project SDK 오른쪽 New 클릭 18
IntelliJ IDEA New project Create New project 클릭 Gradle 선택 Project SDK 오른쪽 New 클릭 JDK 클릭 19
IntelliJ IDEA New project Create New project 클릭 Gradle 선택 Project SDK 오른쪽 New 클릭 JDK 클릭 Next 클릭 20
IntelliJ IDEA New project Create New project 클릭 Gradle 선택 Project SDK 오른쪽 New 클릭 JDK 클릭 Next 클릭 Groupid, Artifactid, Version 입력후 Next 클릭 21
IntelliJ IDEA New project Create New project 클릭 Gradle 선택 Project SDK 오른쪽 New 클릭 JDK 클릭 Next 클릭 Groupid, Artifactid, Version 입력후 Next 클릭 Next 클릭 22
IntelliJ IDEA New project Create New project 클릭 Gradle 선택 Project SDK 오른쪽 New 클릭 JDK 클릭 Next 클릭 Groupid, Artifactid, Version 입력후 Next 클릭 Next 클릭 Project name 입력후, Finish 클릭 23
IntelliJ IDEA New project Create New project 클릭 Gradle 선택 Project SDK 오른쪽 New 클릭 JDK 클릭 Next 클릭 Groupid, Artifactid, Version 입력후 Next 클릭 Next 클릭 Project name 입력후, Finish 클릭 프로젝트생성 24
3 JUnit What is Junit? Unit test 를위한 Framework Java 기반 단위모듈이정확하게구현되었는지확인할수있는도구 Assert 로수행결과판별 Annotation 지원 문자또는 GUI 기반 25
JUnit What is Junit? 단정문 (Assert Class) : 데이터검증을하기위한메소드들로구성 : 프로그램작성 / 처리작업등에관련된내용이나조건에대한가정및예상 assertarrayequals(a,b) assertequals(a,b) assertsame(a,b) asserttrue(a) assertnotnull(a) 배열 a와b가일치함을확인객체 a와b의값이같은지확인객체 a와b가같은객체임을확인 a가참인지확인 a객체가 null이아님을확인 https://junit.org/junit5/docs/current/api/org/junit/jupiter/api/assertions.html 26
JUnit What is Junit? Annotation : 클래스 / 메소드등선언시 @ 를사용하는것 : 클래스 / 메소드의메타데이터를선언할때사용 @Test @Before @After @BeforeClass @AfterClass 테스트를수행하는메소드각테스트의시작마자실행되는메소드각테스트의종료마다실행되는메소드모든테스트의시작이전에단한번실행되는메소드모든테스트의종료이후에단한번실행되는메소드 27
JUnit JUnit test src/main java 오른쪽클릭, New-Java Class 클릭 28
JUnit JUnit test Class 이름입력후 OK 클릭 29
JUnit JUnit test Class 생성후코드작성 Class name 클릭후 Alt+Enter, Create Test 클릭 30
JUnit JUnit test 생성하고싶은 method 체크해서 OK 클릭 31
JUnit JUnit test 생성된빈함수에테스트코드작성 테스트실행 32
JUnit JUnit test 결과확인 33
4_1 Build Environment Jenkins CI 도구 반복적인작업을모니터링하는도구 지속적인자동화빌드 / 테스트 Web 인터페이스 다수의프로젝트동시빌드제공 다양한언어 /OS 지원 34
Build Environment Jenkins https://jenkins.io/download/ 접속 - 자신 OS 에맞는파일다운로드 35
Build Environment Jenkins 계속클릭 36
Build Environment Jenkins 계속클릭 37
Build Environment Jenkins 계속클릭 Password 입력후 Continue 클릭 38
Build Environment Jenkins Terminal 에입력 39
Build Environment Jenkins Install suggested plugins 클릭 설치진행중 40
Build Environment Jenkins 개인정보입력, Save and Finish 클릭 Start using Jenkins 클릭 41
Build Environment Jenkins 설치완료 42
4_2 Build Environment What is Gradle? 빌드자동화툴 Ant/Maven 과같은기존도구들의단점을보강하고장점을살린도구 Android OS 빌드도구 43
4_2 Build Environment Maven VS Gradle 상속구조를이용한멀티모듈구현 정적인요소로동적인요소를표현하려고하는데서오는불편함 Groovy 언어기반 Gradle Wrapper 기능 44
Build Environment Gradle test 45
Build Environment Gradle test IntelliJ terminal 창에./gradlew build 입력 46
Build Environment Gradle test Test 를위해코드변경 47
Build Environment Gradle test 결과확인 48
5 Git What is Git? 분산버전관리시스템 소스코드를여러 PC 와저장소에나누어저장 네트워크가연결이되어있지않더라도계속해서버전관리가능 서버저장소에오류가발생해도로컬저장소로복구가능 소스코드를효과적으로관리 49
5 Github What is Github? Git 데이터를온라인에저장해주는사이트 Git 의호스팅서비스 공동작업가능 접근성이좋음 무료 50
Github Github registration https://github.com/ 접속후 Sign up for Github 클릭 51
Github Github registration 팀프로젝트를위해 Respository 생성, 이름기입후 Create repository 클릭 52
Github Github registration 생성완료 53
Thank you 54