[domaindriven 6월 정기세미나] eclipse platform의 test, build 에서 ci까지

21
Eclipse Tycho 2016.6 조현종

Upload: jaeyeoul-ahn

Post on 15-Jan-2017

706 views

Category:

Software


2 download

TRANSCRIPT

Page 1: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Eclipse Tycho2016.6

조현종

Page 2: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Tycho는 무엇인가요?

• Maven은 프로젝트의 의존성, 라이브러리, 프로젝트 생명주기등을 관리하는 도구.• Tycho 는 maven을 확장하여 Eclipse/OSGi 플렛폼도 정의 할수있도록 했습니다.• Eclipse plug-ins/OSGi bundles • Features • p2 repositories • RCP applications/Eclipse distributions

Page 3: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Tycho는 무엇인가요?

• Eclipse incubator project• Sources : http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/• Documentation: https://wiki.eclipse.org/Tycho• Mailing lists: https://dev.eclipse.org/mailman/listinfo/tycho-user• Issue tracker:

https://bugs.eclipse.org/bugs/query.cgi?format=specific;product=Tycho• 최신 버전 : 0.25.0

Page 4: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Tycho 소개

• Tycho의 메인 플러그인 : tycho-maven-plugin . • eclipse-plugin• eclipse-feature 등이 정의 되어 있습니다.

Page 5: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Tycho package

명령어 비고

Mave 명령 mvn clean install package test…

Goal 종류 eclipse-plugin, eclipse-feature, eclipse-test-plugin, rcpttTest

Page 6: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

왜 tycho인가?

• Headless build, test 관리에 어려움이 많았습니다.• ANT 이클립스 등의 개발환경이 설치되어 있어야 합니다.

• TargetPlatform 설정 등도 문제가 많구요.• Headless 빌드를 하려면 넘사벽 입니다.• 테스트는?

• Buckminster는?• 일반적이지 않는 자신만의 방법• 부족한 도큐먼트와 예상하지 못한 에러

Page 7: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

변환

• 기존 방식의 플러그인을 tycho로 변환하기

Page 8: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

참고자료

• http://www.vogella.com/tutorials/EclipseTycho/article.html• https://www.eclipsecon.org/na2014/sites/default/files/slides/Tycho%20Tutorial%20-%20Introduction.pdf• http://www.sebastianbauer.info/index.php?page=tutorials&which=justify• https://javahacks.wordpress.com/2014/10/08/adding-maven-artifacts-to-your-target-platform/

Page 9: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

RCPTestingTool (RCPTT)기본

(주)테드폴허브조현종 (2016.05)

Page 10: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Eclipse의 Test

• Mocktest• WindowTesterpro–구글로팔린후프로젝트종료

• SWTBot (http://www.eclipse.org/swtbot/)– Testrecoder andgenerator

Page 11: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

RCPTT

• 홈페이지– http://www.eclipse.org/rcptt/

RCPTestingToolisaprojectforGUItestingautomationofEclipse-basedapplications.RCPTTisfullyawareaboutEclipsePlatform'sinternals,hiding thiscomplexityfromendusersandallowingQAengineers tocreatehighly reliableUItestsatgreatpace.

Page 12: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Keyfeatures• Testcase생성– Testcase레코딩, Test결과캡쳐,검증

• 대부분테스트가능– Workapce,workbench,preference,gef/gmf/graphiti등

• Runtime테스트– Job,displayasync/timerexec,databinding지원

• CI지원– CITestrunnerruntest지원– Jenkins,Hudson등 CI툴지원

Page 13: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

장점

• 개발자가아닌기획 orQA엔지니어가테스트생성가능

• 개발과테스트분리• 테스트환경설정이간단• CI지원을위한maven,ant,java셈플코드제공

Page 14: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

설치

• RCPTestingToolIDE를다운받으세요.– 2.0.2 Release를이용합니다– https://eclipse.org/rcptt/download/

• Updatesite를이용– http://download.eclipse.org/rcptt/release/2.0.2/repository/

Page 15: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

개발환경설정

• RCPTTperspective로이동• Application설정–테스트케이스만들어플리케이션설정

Page 16: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Test case만들기

• RCPTT프로젝트생성– File->New->RCPTestingToolProject• New->Testcase선택

Page 17: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Contexts

• 프로젝트설정및공통정보정의–프로젝트는시작시자바퍼스팩티브–프로젝트를모두삭제해야한다

Page 18: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Verifications

• 테스트후검증시사용–테스트케이스로프로젝트를생성했으면,실제프로젝트가생겼는지검증

Page 19: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

Testsuite생성

• 테스트케이스여러개를하나의묶음으로처리

• New->Testsuite선택

Page 20: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

배포

• 실행파일, Ant, Maven제공

• x의경우는다음으로–베이스라인프로젝트설정–프로젝트 feature구성– Pdebuild를이용하여서퓨쳐배포– Jenkins배치커맨드로테스트

Page 21: [DomainDriven 6월 정기세미나] Eclipse Platform의 Test, build 에서 CI까지

비고