Jubula 1. 도구개요 2. 설치및실행 3. 주요기능
1. 도구개요 1.1 도구정보요약 도구명 Jubula (http://www.eclipse.org/jubula/) 라이선스 Eclipse Public License v1.0 소개 Jubula 는 GUI 테스트를제공하는도구이다. 전문적인코딩기술을요구하지않고사용자관점의전문적인테스트가가능하다. 특징 온라인문서, 임베디드 AUT 에이전트기능을포함한다. Java GUI 를위한 Swing, SWT/RCP/GEF 툴킷과 HTML 툴킷을제공한다. Jubula 독립형설치프로그램은 HTML 툴킷외에도.NET, ios, Mobile 툴킷을지원한다. 주요기능 Test Hierarchy Observation Mode GEF Inspector 실행환경 Windows, Linux, Mac 사전설치도구 JDK 1.5+ 카테고리 테스팅최신버전 For Eclipse: v3.1.0 Standalone: v8.1.0 (2015-01-27)
2. 설치및실행 세부목차 2.1 사전설치사항확인 2.2 다운로드 2.3 설치 2.4 실행
2. 설치및실행 2.1 사전설치사항확인 (1/2) Jubula 는 eclipse RCP 기반이므로 eclipse 버전과유효한 JDK 버전이설치되어있는지확인한다. - Help > About > Install Details 에서 Eclipse RCP 버전을확인한다.
2. 설치및실행 2.1 사전설치사항확인 (2/2) - Windows 의경우아래와같이커맨드창에서 java version 을실행하여설치된 JDK 버전을확인한다. - Eclipse RCP 버전 4.0 이상인경우 JDK 1.6 이상, 3.7 이하인경우 JDK 1.5 이상을필요로한다.
2. 설치및실행 2.2 다운로드 Standalone 버전은 http://testing.bredex.de/sw-doku-downloads.html 에서다운로드가가능하다. ( 로그인필요 ) Download page for Jubula software 를눌러다운로드페이지로이동한다. 자신의 OS 에맞는인스톨러를클릭하여다운로드한다.
2. 설치및실행 2.3 설치 다운받은 Installer 를실행한다. Standalone 버전은아래와같이 Jubula core, AUT Agent, Documentation(PDF), Dashboard 의설치가가능하다.
2. 설치및실행 2.4 실행 Jubula 를실행하여설치를확인한다.
3. 주요기능 세부목차 3.1 Jubula 개요 3.2 Test Hierarchy 3.3 Observation Mode 3.4 GEF Inspector
3. 주요기능 3.1 Jubula 개요 Jubula 는자바 (Swing, SWT/RCP/GEF) 및 HTML 로작성된 GUI 의테스트자동화도구이다. Jubula 는키워드기반의도구로미리정의된키워드들을제공한다. 키워드는뷰 - 에디터간 drag&drop 이지원되어작업시퀀스작성을자동화해준다. 각 Jubula 프로젝트는미리정의된모듈중하나이상의라이브러리가포함된다. - Concrete Toolkit - HTML Toolkit - RCP/SWT/GEF Toolkit - Swing Toolkit 더복잡한테스트등을만들기위해자신이만든모듈을재사용할수있다.
3. 주요기능 3.2 Test Hierarchy Jubula 의테스트계층은트리구조로이루어져있어, 테스트의변경 / 유지에유연하게작용한다. 테스트계층요소는아래와같고 Job 으로갈수록상위요소이다. - Test Step: AUT 에서하나의 component( 또는 UI element) 의한동작의미 - Test Case: 재사용가능한테스트요소 - Test Suite: 실행이가능한테스트요소 - Test Job: 순서가있는 Test Suite 들의묶음 Test Job Project Category Test Suite Test Case Test Step
3. 주요기능 3.3 Observation Mode 관측모드는테스트케이스작성을처음시작하는데도움을주거나사용자의액션이 Jubula 의어떤작업에해당되는지이해를돕는데목적이있다. 혹은사용자가작성한테스트케이스에대한검증의경우에도유용하다. Start Observation Mode 테스트시나리오실행 테스트케이스자동생성 인지된사용자액션
3. 주요기능 3.4 GEF Inspector Window > Show View > Inspector 를클릭한다. Inspector View 에서 Activate Inspector 를클릭한다. AUT 에서 GEF 요소를선택하면 Inspector View 에 EditPart 의 id 가표시된다. Click
세부목차 4.1 예제소개 4.2 예제어플리케이션생성 4.3 예제어플리케이션설정 4.4 테스트프로젝트생성 4.5 테스트명세 4.6 AUT 실행 4.7 Object Mapping 4.8 테스트실행 4.9 테스트결과
4.1 예제소개 Eclipse 의 example 프로젝트를이용해 RCP product 를생성하고 Jubula 로 GUI 를테스트하는시나리오를작성하는예제이다. RCP Mail Template 을이용해예제어플리케이션생성 예제어플리케이션에 Jubula 와의연동을위한설정 테스트케이스와테스트스윗을작성해테스트시나리오구성 테스트실행및결과확인
4.1 예제소개 용어정의 AUT: Application Under Test ITE: Integrated Test Environment RCP: Rich Client Platform SWT: Standard Widget Toolkit GEF: Graphical Editing Framework
4.2 예제어플리케이션생성 (1/5) 플러그인프로젝트를생성한다.(Eclipse for RCP and RAP Developers 사용 ) - File > New > Project > Plug-in Project 클릭 프로젝트명 (e.g. org.eclipse.ui.rcp.sample ) 입력후 Next 를클릭한다.
4.2 예제어플리케이션생성 (2/5) Rich Client Application 생성에 Yes 를선택하고 Next 를클릭한다. RCP Mail Template 를선택하고 Finish 를클릭한다.
4.2 예제어플리케이션생성 (3/5) Run > Run As > 1 Eclipse Application 을클릭하여실행을확인한다.
4.2 예제어플리케이션생성 (4/5) File > New > Product Configuration 을클릭하여 product 를생성한다. - 파일명 (e.g. Sample Mail.product ) 을입력하고 Finish 클릭
4.2 예제어플리케이션생성 (5/5) File > Export > Plug-in Development > Eclipse product 를실행한다. - Configuration 의 Browse 버튼을클릭, Sample Mail.product 를찾아선택 - Directory 란에 product 가생성될경로설정
4.3 예제어플리케이션설정 (1/2) 앞에서지정한경로내 plugins 폴더에다음파일 (Jubula 의리모트컨트롤플러그인 ) 을복사하여추가한다. - Eclipse Plugin 으로써설치된 Jubula 인경우이클립스의 plugins 폴더에서 org.eclipse.jubula.rc.rcp_xxx.jar 파일을찾아복사 - Standalone 설치인 Jubula 의경우 Jubula 설치폴더에서 development/rcp-support.zip 를압축해제한파일을복사
4.3 예제어플리케이션설정 (2/2) 어플리케이션폴더내 configuration 폴더의 config.ini 파일을열어수정한다 - osgi.bundles 목록에, org.eclipse.jubula.rc.rcp@start 추가 ( 앞에구분을위한쉼표있음에주의 )
4.4 테스트프로젝트생성 (1/4) Jubula 를실행하고 Functional Test Specification 퍼스펙티브를확인한다.
4.4 테스트프로젝트생성 (2/4) Test > New 실행한다. - 프로젝트명입력 (e.g. Simple Mail Test ) - 툴킷은 rcp 선택 - 언어는영어 ( 미국 ) 를추가하고선택 ( 한국어로선택시라이브러리사용에지원되지않는언어로에러발생 ) Next 클릭
4.4 테스트프로젝트생성 (3/4) 새로운 AUT 를정의한다. - AUT 이름입력 (e.g. AUT-mail-rcp-en ) - 툴킷에 RCP 선택 (RCP 인경우 Generate Names 자동선택 ) 후 Next 클릭
4.4 테스트프로젝트생성 (4/4) AUT 에대한정의를계속한다. - AUT ID 는 AUT 실행시표시되는정보로공백을허용하는텍스트를입력 (e.g. Aut Mail RCP ) - Executable File Name 의 Browse 버튼을클릭하여 AUT 실행파일경로를설정하고 Finish 클릭
4.5 테스트명세 (1/8) Sample Mail RCP 어플리케이션에서메시지열기에대한테스트를생각해보자. 메시지열기는다음의세가지방법으로가능하다. - 메뉴 (File > Open Message) - 툴바의버튼 - 단축키 (Ctrl + 3) 테스트케이스를구성할기본인터렉션은뭐가있을까? - 먼저올바른메뉴를찾아선택하고, 다음으로다이얼로그의 Label 을확인하고 OK 버튼을누르는것을생각해볼수있다.
4.5 테스트명세 (2/8) 앞서생각한유스케이스와인터렉션에대한테스트케이스들을아래와같이추가한다. - Test Case Browser 의팝업메뉴에서 New > New Category 로폴더추가 - New > New Test Case 로테스트케이스추가 - unbound_modules_xxx 는자동으로추가되는것들
4.5 테스트명세 (3/8) Use Cases/Opening messages/open Message via Menu 를연다. Test Case Browser View 에서다음의테스트케이스를드래그하여추가한다. - Basic Interactions/Opening a Message/Open Message via Menu - Basic Interactions/Opening a Message/Check Open Message Dialog Properties View 에서테스트케이스레퍼런스명을아래와같이수정한다.
4.5 테스트명세 (4/8) Basic Interactions/Opening a Message/Open Message via Menu 를연다. unbound_modules_concrete / Actions (basic) / Select / Menu Bar / ub_mbr_selectentry_bytextpath 를추가한다. Properties 에서아래와같이수정한다. - TEXTPATH 에메뉴경로입력 ( 메뉴계층의구분기호는 slash(/) 를사용하고각메뉴는따옴표로표시 ) - OPERATOR 는 simple match 입력
4.5 테스트명세 (5/8) Basic Interactions/Opening a Message/Check Open Message Dialog 를연다. unbound_model_concrete / Action(basic) / Wait / Application / Wait for Window / ub_app_waitforwindow 를추가한다. Properties View 에서아래와같이수정한다.
4.5 테스트명세 (6/8) unbound_model_concrete / Action(basic) / Check / Component with Text / ub_ctx_checktext 를추가한다. Properties View 에서아래와같이수정한다.
4.5 테스트명세 (7/8) unbound_model_concrete / Action(basic) / Click / ub_grc_clickleft_single 을추가한다. Properties View 에서아래와같이수정한다. 나머지테스트케이스작성에대해서는설명을생략한다.
4.5 테스트명세 (8/8) Test Suite Browser 의팝업메뉴에서 New > New Suite 를실행하여테스트묶음을생성한다. (e.g. System Test ) - 카테고리생성은테스트케이스에서와동일 System Test 를열고 Test Case Browser 에서유스케이스를등록한다. Object Mapping 에대한에러가발생할수있는데객체매핑은아직실행할수없으니우선넘어간다.
4.6 AUT 실행 툴바의 Connect to AUT Agent 버튼을눌러 AUT Agent 에연결한다. - Embedded AUT Agent 에연결하거나 - Standalone 설치인경우 Jubula/Start AUT Agent 을실행하고 localhost:60000 에연결 툴바의 Start AUT 버튼을눌러 AUT 를시작한다. - 실행에성공하면 Running AUTs View 에 AUT ID 가추가된다.
4.7 Object Mapping (1/3) AUT 는실행됐지만논리컴포넌트와 RCP 어플리케이션의실제컴포넌트가매핑되지않은테스트는아직실행할수없다. 툴바에서객체매핑모드를시작한다. (AUT 가실행되면메뉴활성화 ) AUT 에서객체매핑이지원되는컴포넌트는마우스오버시아래와같이녹색테두리로표시가된다. 객체매핑항목으로컴포넌트를추가하려면녹색테두리가표시된상태에서 Ctrl+Shift+Q 를누른다.
4.7 Object Mapping (2/3) Jubula 를보면객체매핑모드실행과동시에 OM/<something> 이라는에디터가뜬것을볼수있다. Unassigned component names 는매핑이안된논리컴포넌트를보여준다. Unassigned technical names 에는실제컴포넌트를추가해야한다. 예제에서는, Open Message Dialog 의 Label 과 OK 버튼을추가한다. (AUT 에서 Ctrl+Shift+Q 를눌러추가 )
4.7 Object Mapping (3/3) Unassigned component names 의항목을 Unassigned technical names 로드래그하면두컴포넌트간매핑이된다. 매핑된컴포넌트는 Assigned names 로이동된다.
4.8 테스트실행 Test Suite Browser 에서 System Test 를선택하고 Start Test Execution 을클릭한다. AUT 가활성화되면테스트시나리오대로실행한다. 선택 클릭 클릭 클릭
4.9 테스트결과 테스트결과화면을보여준다. 테스트에에러가있을경우녹색체크표시대신빨강색 x 가표시된다. Pause on Test Execution Errors 버튼을토글하여비활성화시키면테스트도중에러가발생해도테스트를멈추지않고끝까지완료한다.
용어정리 용어정리 AUT: Application Under Test ITE: Integrated Test Environment RCP: Rich Client Platform SWT: Standard Widget Toolkit GEF: Graphical Editing Framework