문서의 제목 나눔고딕B, 54pt

Similar documents
슬라이드 1

1. 도구개요 STAF Testing 소개 각테스트대상분산환경에데몬을사용하여테스트대상프로그램을통해테스트를수행하고, 통합하며자동화하는 프레임워크 주요기능 테스트통합및자동화 카테고리 Testing 세부카테고리테스트설계및실행 커버리지 Test Integration / Aut

2. 기능요약 자바프로그래밍언어에서사용하는자동화된소프트웨어빌드도구 주요기능 IDE 통합및도구지원 원격코드 Build 자동화 지원여부 대부분의도구지원 (Eclipse, NetBeans 등 ) 지원 (FTP, SCP, SFTP, SVN) 자동화 Build 중 Unit Te

1. 도구개요 CppUnit Testing 소개 CppUnit 는 C++ 용 testing Framework 로 Java 의 JUnit 을 C++ 로구현 C++ 언어에서사용할수있도록개발된 Open Source 프로젝트로, source code 의특정 Module 이의도

문서의 제목 나눔고딕B, 54pt

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

PowerPoint 프레젠테이션

Angry MOMO Presentation

2. 기능요약 는 Java 의 Coverage 를측정하기위한도구 EclEmma 는 의기능을 Eclipse 에서사용할수있도록구현된 Plug-in 주요기능 지원내용 Code coverage 분석 지원 단위별 Coverage 분석 지원 Source highlighting 기

PowerPoint 프레젠테이션

블로그_별책부록

4S 1차년도 평가 발표자료

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

Secure Programming Lecture1 : Introduction

2. 기능요약 Parallel 빌드지원등빌드자동화기능을지원하며다양한도구 ( 형상관리도구, Issue Tracker, Test 도구, IDE) 와의연동을지원함. 주요기능 Parallel 빌드지원 ( 다수프로젝트동시빌드 ) 분산빌드웹기반관리 알림형상관리도구지원

문서의 제목 나눔고딕B, 54pt

1. 도구개요 Implementation Eclipse CDT 소개 CDT(C/C++ Development Toolkit) 는 Eclipse plug-in 중하나로 C/C++ 개발을위한통합개발환경 (IDE : Integrated Development Environmen

2. 기능요약 정해진규칙에따라소스코드를검사해주고이에대한결과를 report 하게함으로서코딩효율을높여주는도구 주요기능 지원내용 소스코드검사범위 프로젝트 대상언어 Java, JavaScript, XML, XSL, JSP 코드위배사항발견지원 ( 코딩스타일및사용되지않는코드 )

파워포인트

JVM 메모리구조

문서의 제목 나눔명조R, 40pt

2. 기능요약 요구사항들을기록하고이들을 JUnit Test Case 와매치함으로써프로세스를단순화 주요기능단위테스트프로그래밍언어지원시스템테스트 GUI / Console 파라미터가있는메소드의테스트 TDD 지원여부지원 F#, C#, C++ 등닷넷환경지원모두지원 2.5버전이상

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

ISP and CodeVisionAVR C Compiler.hwp

PowerPoint Presentation

슬라이드 1

1. 도구개요 FitNesses Testing 소개 자동화된테스팅을위한프레임워크인 Fit (Framework for Integrated Tests) 을기반으로하여테스트를수행하고, Fit 의테이블구조를통한웹상에서테스트결과를관리하고보고 주요기능 컴파일된파일 (.Class)

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

슬라이드 1

슬라이드 1

Spring Boot

쉽게 풀어쓴 C 프로그래밍

JDK이클립스

슬라이드 1

Apache Ivy

슬라이드 1

2. 기능요약 웹기반의서비스로써, 손쉬운일정관리및프로젝트관리를지원하는도구 주요기능일정관리그룹관리다중프로젝트관리체크리스트투표기능첨부파일 지원내용지원지원지원지원지원지원 1

을풀면된다. 2. JDK 설치 JDK 는 Sun Developer Network 의 Java( 혹은 에서 Download > JavaSE 에서 JDK 6 Update xx 를선택하면설치파일을

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

슬라이드 1

chapter1,2.doc

Microsoft Word - src.doc

PowerPoint 프레젠테이션

1. 도구개요 JUnit Testing 소개 JUnit 은 Java 기반테스팅을위한프레임워크로, 단위모듈 (ex: Method) 이정확히구현되었는지를확인할수있는도구 주요기능 Test case 생성및실행, 오류추적 카테고리 Testing 세부카테고리테스트설계및실행 커버리

MF3010 MF Driver Installation Guide

JAVA 플랫폼 개발 환경 구축 및 활용

표준프레임워크 Nexus 및 CI 환경구축가이드 Version 3.8 Page 1

슬라이드 1

1. 도구개요 TestLink Testing 소개 주요기능 TestLink 는웹을기반으로테스트를관리한다. 또한테스트명세서와계획, 리포팅, 요구사항트래킹기능을가지고있 으며버그트래킹시스템들과연동이가능하다. 요구사항트래킹기능제공, 다양한형식의보고서작성기능 카테고리 Testi

슬라이드 1

PowerPoint 프레젠테이션

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

슬라이드 1

슬라이드 1

문서의 제목 나눔고딕B, 54pt

!K_InDesginCS_NFH

1. 도구개요 Configuration & Version Management CVS 소개 버전컨트롤시스템으로소스코드나기타리소스의히스토리를쉽게관리할수있도록도와주는도구 주요기능 버전관리, 변경관리, 소스관리 카테고리 Configuration & Version Managem

개발및운영 Eclipse 를이용한 ANT 활용방법

소프트웨어 검증 및 설계

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

JDBC 소개및설치 Database Laboratory

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

문서의 제목 나눔고딕B, 54pt

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

슬라이드 1

[ 스프링부트, 그래들, HelloWorld]STS,Gradle 설치및 WEB MVC 심플예제 간단히 STS 및 Gradle Support Plugin 을설치하여간단히 Spring Boot, Gradle Web 응용프로그램을작성해보자. 0. STS 및 Gradle Su

Studuino소프트웨어 설치

untitled

2) 활동하기 활동개요 활동과정 [ 예제 10-1]main.xml 1 <LinearLayout xmlns:android=" 2 xmlns:tools="

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

JUNIT 실습및발표

슬라이드 1

Interstage5 SOAP서비스 설정 가이드

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

슬라이드 1

Microsoft PowerPoint - chap01-C언어개요.pptx

PowerPoint 프레젠테이션

슬라이드 1

q 이장에서다룰내용 1 객체지향프로그래밍의이해 2 객체지향언어 : 자바 2

Tablespace On-Offline 테이블스페이스 온라인/오프라인

02 C h a p t e r Java


< 목차 > Ⅰ. 개요 3 Ⅱ. 실시간스팸차단리스트 (RBL) ( 간편설정 ) 4 1. 메일서버 (Exchange Server 2007) 설정변경 4 2. 스팸차단테스트 10

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

Microsoft PowerPoint - jfeature장범석서재원박동현.pptm

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

초보자를 위한 C++

API - Notification 메크로를통하여어느특정상황이되었을때 SolidWorks 및보낸경로를통하여알림메시지를보낼수있습니다. 이번기술자료에서는메크로에서이벤트처리기를통하여진행할예정이며, 메크로에서작업을수행하는데유용할것입니다. 알림이벤트핸들러는응용프로그램구현하는데있어

슬라이드 1

슬라이드 1

View Licenses and Services (customer)

1. 도구개요 HttpUnit Testing 소개 주요기능 HTTP서버와자바프로그램을통해상호작용을할수있는오픈소스기반의자바라이브러리. HttpUnit 은자바프로그램에서브라우저없이직접서버에접근. HttpUnit 은 HTML서버들의상호작용에대한 API를제공하여 JUnit 또

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft Word ARM_ver2_0a.docx

목차 1. 시스템요구사항 암호및힌트설정 ( 윈도우 ) JetFlash Vault 시작하기 ( 윈도우 ) JetFlash Vault 옵션 ( 윈도우 )... 9 JetFlash Vault 설정... 9 JetFlash Vault

Introduction to CTIP

Transcription:

1. 도구개요 2. 기능요약 3. 도구실행환경 4. 도구설치방법 5. 도구기능소개 6. 도구활용예제 7. FAQ 8. 도구평가 9. 용어집

1. 도구개요 소개 주요기능.Class 파일을바탕으로코드의커버리지를측정하는라이브러리 커버리지측정및보고 카테고리 세부카테고리정적분석 커버리지 Code Coverage Management 도구난이도상 라이선스형태 / 비용 GNU General Public License (GPL v2) / 무료사전설치도구 JDK 운영체제 Windows, Linux, Mac OS, UNIX 도구버전 2.0.3 (2013.12) 특징.class 파일을바이트코드레벨에서코드변조 (instrument) 커버리지를측정하여 XML, HTML로보고 - 작성된코드의커버리지보고 - 커버리지에대한코드상의보고내용을라인 (Line) 바탕으로표시 적용회사 / 프로젝트 - 관련도구 제작사 공식홈페이지 Ant, Hudson, Git, IC#Code Team http://cobertura.sourceforge.net/ 2

2. 기능요약.Class 파일을바탕으로코드의커버리지를측정하는라이브러리 주요기능커버리지분석범위코드추적보고서작성 지원내용.Class파일지원지원 (XML, HTML) 타도구와의연계지원 (Hudson, Ant, Maven 등 ) 3

3. 도구실행환경 JDK(Java development kit) 상에서설치및구현이가능 다양한 OS 를지원 Windows : Windows XP / Windows 7 (32, 64-bit 모두지원 ) Linux : 32, 64-bit 지원 Mac OS X : 32, 64-bit 지원 UNIX : 32, 64-bit 지원 자바기반프로그램 : JDK(Java development kit) 필요 사용방법에따라 WAS, Ant( 본매뉴얼 ), Hudson 등이사용될수있음 ( 라이브러리제공형태 ) WAS (Apache 등 ) Ant, Maven JDK (Java development kit) Hudson 등 Windows / Linux / Mac OS / UNIX 4

4. 도구설치방법 세부목차 4.1 다운받기 4.2 환경설정 4.3 파일구조 5

4. 도구설치방법 4.1 다운받기 (1/2) 다운받기 : http://cobertura.github.io/cobertura/ 접속 Download 클릭 6

4. 도구설치방법 4.1 다운받기 (2/2) 다운받기 : Sourceforge 사이트에서받은후압축해제 5 초후자동으로다운 7

4. 도구설치방법 4.2 환경설정 환경변수설정 변수이름 : COBERTURA_HOME / 변수값 : 설치폴더 8

4. 도구설치방법 4.3 파일구조 파일구조 Command Line 도구 (4 개의 bat 파일 ), 및라이브러리폴더 9

4. 도구설치방법 4.4 파일명변경 cobertura-#.#.#.jar 파일명변경 corbertura 의 4 가지 batch 파일내에 cobertura-#.#.#.jar 에대한클래스명을 cobertura.jar 로사용하고있어파일명변경필요 10

5. 도구기능소개 세부목차 5.1 의특징 5.2 Command Line 명령어 5.3 with Ant 5.4 Ant Build 수행 5.5 Ant Build 수행결과 5.6 주요추가기능 (2.0.3) 11

5. 도구기능소개 5.1 의특징 (1/2) 코드의커버리지를분석.class 파일을바이트코드레벨에서코드변조 (instrument) 커버리지를측정하여 XML, HTML로보고 작성된코드의커버리지보고 커버리지에대한코드상의보고내용을라인 (Line) 바탕으로표시 12

5. 도구기능소개 5.1 의특징 (2/2) 커버리지분석의단계 class 파일을바이트코드레벨에서코드변조 (instrument) 코드변조를통해커버리지측정을위한실행코드를추가 다양한방법으로테스트를수행 클래스패스에 cobertura 관련된라이브러리를추가 변조된.class 파일이참조되도록클래스패스를변경 변조된클래스파일실행시해당실행정보를메모리에배포및해제되는순간에종료 특정파일 (cobertura.ser) 에커버리지정보를저장 특정파일에위치를임의로메모리에알려주는명령을추가하는작업수행 커버리지레포트를작성한다. (html, xml 형태등 ) 개발자정보, 테스트결과등과함께별도레포트를제공해주는기능수행 13

5. 도구기능소개 5.2 Command Line 명령어 (1/3) Instrumenting : cobertura-instrument.bat Build 시발생하는.Class 파일코드변조를통해커버리지측정을위한실행코드를추가 cobertura-instrument [--basedir dir] [--datafile file] [--destination dir] [--ignore regex] classes [...] --basedir : Instrument 할클래스를포함하고있는폴더를지정 --datafile : Instrument 후클래스파일이측정데이터위치를선정 ( 기본 : 현재위치 cobertura.ser) --destination : Instrument 된파일을저장하는위치 --ignore : 소스코드의특정행을필터링할수있는정규표현식을지정 Instrumenting 예시 cobertura-instrument.bat --destination C:\MyProject\build\instrumented C:\MyProject\build\classes Running Tests : Java -cp 클래스경로를변경, 클래스패스변경하고수행하는것으로자동진행 변경예시 java -cp C:\cobertura\lib\cobertura.jar; C:\MyProject\build\instrumented;C:\MyProject\build\classes;C:\MyProject\build\test-classes - Dnet.sourceforge.cobertura.datafile=C:\MyProject\build\cobertura.ser ASimpleTestCase 14

5. 도구기능소개 5.2 Command Line 명령어 (2/3) Reporting : cobertura-report.bat Instrument 된클래스를바탕으로작성된 cobertura.ser 파일을바탕으로보고서작성 cobertura-report [--datafile file] [--destination dir] [--format (html xml)] [--encoding encoding] source code directory [...] [--basedir dir file underneath basedir...] --basedir : Instrument 할클래스를포함하고있는폴더를지정 --datafile : classes 에대해 metadata 를포함하는파일의이름을지정 --destination : 결과보고서를저장할경로지정 --format : 보고서의생성형태를지정 (HTML, XML) --encording : 파일에서읽을때인코딩형식을지정 Reporting 예시 cobertura-report.bat --format html --datafile C:\MyProject\build\cobertura.ser --destination C:\MyProject\reports\coverage C:\MyProject\src Merging Datafiles : cobertura-merge.bat 여러개의데이터파일을하나의데이터파일로병합할때사용 cobertura-merge.bat [--datafile file] datafile [...] --datafile : 데이터경로및파일명을지정 Merging 예시 cobertura-merge.bat --datafile C:\MyProject\build\cobertura.ser C:\MyProject\testrundir\server\cobertura.ser C:\MyProject\testrundir\client\cobertura.ser 15

5. 도구기능소개 5.2 Command Line 명령어 (3/3) Checking Coverage : 커버리지체킹 - cobertura-check.bat Instrument 된클래스를바탕으로작성된 cobertura.ser 파일을바탕으로보고서작성 cobertura-check.bat [--datafile file] [--branch 0..100] [--line 0..100] [--totalbranch 0..100] [--totalline 0..100] [--regex regex:branchrate:linerate] --branch : 각클래스에최소허용 branch coverage 비율을지정합니다. (0~100) --datafile : classes 에대해 metadata 를포함하는파일의이름을지정 --line : 각클래스에최소허용 line coverage 비율을지정합니다. (0~100) --packageline : 각클래스에각패키지별최소허용 line coverage 비율을지정합니다. (0~100) --totalbranch : 각클래스에전체프로젝트의허용 branch coverage 비율을지정합니다. (0~100) --totalbranch : 각클래스에전체프로젝트의허용 line coverage 비율을지정합니다. (0~100) Checking 예시 cobertura-check.bat --datafile C:\MyProject\build\cobertura.ser --branch 50 --totalline 70 --regex com.example.rabidsquirrel.*:65:65 16

5. 도구기능소개 5.3 with Ant (1/6) Ant 와 의연계 : build.xml 작성예시 Ant 는모든 Build 자동화및옵션을제공, 사용자작성에따라여러빌드옵션을제공 17

5. 도구기능소개 5.3 with Ant (2/6) Ant 명령어설정 : build.xml Property 명령어선언 : build.xml 내부 property 선언 각 build 옵션에서사용할경로와속성을 Property 에서선언, build.xml 에서설정 18

5. 도구기능소개 5.3 with Ant (3/6) path / taskdef 명령어설정 Class 경로와 Resource 설정 19

5. 도구기능소개 5.3 with Ant (4/6) Target (Ant 수행단위 ) 명령어설정 : main, clean, build, Main( 전부수행 ), clean( 폴더비우기 ), build(build 수행 ) 20

5. 도구기능소개 5.3 with Ant (5/6) Target (Ant 수행단위 ) 명령어설정 instrument, test-build, test test( 일련의과정수행 ), Instrument( 커버리지측정삽입 ), test-build 21

5. 도구기능소개 5.3 with Ant (6/6) Target (Ant 수행단위 ) 명령어설정 test-report, coverage-report, javadoc test-report( 테스트결과보고서작성 ), coverage-report( 커버리지보고서작성 ), javadoc(javadoc 작성 ) 22

5. 도구기능소개 5.4 Ant Build 수행 (1/5) Ant Build 파일읽기 : build.xml 읽기 개미아이콘 ( 혹은마우스우클릭 Add Buildfiles ) 클릭 저장폴더선택 build.xml 선택 23

5. 도구기능소개 5.4 Ant Build 수행 (2/5) Ant Build 수행 : Clean Build Instrument coverage-report Clean : 기존 Build 시에존재하던폴더를모두삭제하고, 새로생성 24

5. 도구기능소개 5.4 Ant Build 수행 (3/5) Ant Build 수행 : Clean Build Instrument coverage-report Build : 기존코드를컴파일 25

5. 도구기능소개 5.4 Ant Build 수행 (4/5) Ant Build 수행 : Clean Build Instrument coverage-report Instrument : 커버리지측정코드를가지는 Class 파일생성및 ser 파일생성 26

5. 도구기능소개 5.4 Ant Build 수행 (5/5) Ant Build 수행 : Clean Build Instrument coverage-report coverage-report : 커버리지보고서생성 27

5. 도구기능소개 5.5 Ant Build 수행결과 (1/4) 생성된파일 : 기존 Instrument 로인해생성된클래스및보고서생성 Index.html 을클릭하여결과보고서확인가능 28

5. 도구기능소개 5.5 Ant Build 수행결과 (2/4) 보고서 : All Packages Coverage Report 전체커버리지상태의 Overview 29

5. 도구기능소개 5.5 Ant Build 수행결과 (3/4) 보고서 : All Packages Coverage Report 기본패키지 (default) 에대한보고서 30

5. 도구기능소개 5.5 Ant Build 수행결과 (4/4) 보고서 : Class Coverage Report 코드기반 Coverage Report 31

5. 도구기능소개 5.6 주요추가기능 (2.0.3) --ignoretrivial 옵션추가 Coverage report 에아래의사항이포함되지않도록지시 Getter methods that simply read a class field; Setter methods that set a class field; Constructors that only set class fields and call a super class constructor. cobertura-report.bat --format html --datafile C:\MyProject\build\cobertura.ser --destination C:\MyProject\reports\coverage - ignoretrivial C:\MyProject\src --ignoremethodannotation 옵션추가 Coverage report 에특정애노테이션이표시된메서드는포함되지않도록지시 cobertura-report.bat --format html --datafile C:\MyProject\build\cobertura.ser --destination C:\MyProject\reports\coverage - ignoremethodannotation @IgnoreThis C:\MyProject\src 32

6. 도구활용예제 세부목차 6.1 예제소개 6.2 예제이슈사항 / 요구사항및방향 6.3 build.xml 작성 6.4 Ant Build 수행 6.5 커버리지측정결과 33

6. 도구활용예제 6.1 예제소개 예제시스템 : 패키지의커버리지측정 커버리지측정하기요구사항 - Sourceforge 에서 Code를받음 - 받은 Code를바탕으로컴파일을실시 - 실시한클래스파일을바탕으로 Instrument 를이용하여변조 - Instrument 코드를바탕으로커버리지측정수행 34

6. 도구활용예제 6.2 예제이슈사항 / 요구사항및방향 커버리지측정하기에고려될수있는이슈 개인적으로측정하는데있어커버리지문제가야기될수있음 패키지커버리지측정에는다수의패키지로구성된코드가필요 소스코드는여러가지라이브러리와코드를포함 의커버리지검증기능을 코드를활용하여다수의패키지와클래스를포함하는복잡한코드의커버리지검증을실시 35

6. 도구활용예제 6.3 build.xml 작성 build.xml 작성 : 도구기능소개에소개한방법과동일하게작성 build.xml 작성 개미아이콘 ( 혹은마우스우클릭 Add Buildfiles ) 클릭 파일읽기 36

6. 도구활용예제 6.4 Ant Build 수행 (1/4) Ant Build 수행 : Clean Build Instrument coverage-report Clean : 기존 Build 시에존재하던폴더를모두삭제하고, 새로생성 37

6. 도구활용예제 6.4 Ant Build 수행 (2/4) Ant Build 수행 : Clean Build Instrument coverage-report Build : 기존코드를컴파일 38

6. 도구활용예제 6.4 Ant Build 수행 (3/4) Ant Build 수행 : Clean Build Instrument coverage-report Instrument : 커버리지측정코드를가지는 Class 파일생성및 ser 파일생성 39

6. 도구활용예제 6.4 Ant Build 수행 (4/4) Ant Build 수행 : Clean Build Instrument coverage-report coverage-report : 커버리지보고서생성 40

6. 도구활용예제 6.5 커버리지측정결과 (1/3) 보고서 : All Packages Coverage Report - Index.html 실행 전체커버리지상태의 Overview 41

6. 도구활용예제 6.5 커버리지측정결과 (2/3) 보고서 : All Packages Coverage Report net.sourceforge.cobertura.ant 패키지에대한보고서 42

6. 도구활용예제 6.5 커버리지측정결과 (3/3) 보고서 : Class Coverage Report net.sourceforge.cobertura.ant 의 CommonMatchingTask Class Coverage Report 43

7. FAQ 질문 1) 는별도의도구로존재하지않나요? 답변 1 : 네. 현재자동화도구및 Ant 에서사용할수있는라이브러리와 Command Line 형태로배포하고있으며, 바로파일을읽어서측정하는형태는제공되고있지않습니다. 질문 2) Coverage 0% 현상이나타납니다. 해결방법은없나요? 답변 2 : 가끔변조되지않은원래의 jar 파일이 classpath 로먼저잡혀있어, 변조되지않는파일을참조하는경우가생깁니다. build.xml 에서 Java vm 에 cobertura.ser 파일을직접알려주는방법이있습니다. 아래와같은내용을추가하세요. <sysproperty key="net.sourceforge.cobertura.datafile" file="${coverage.serfile}" /> <classpath location="${testopia.home}/instrumented" /> <classpath refid="test.classpath" /> 44

8. 도구평가 활용성 라이브러리형태제공으로직접사용하기에는불편한점이있음. 범용성 Maven, Hudson, Ant 등과연계가매우뛰어남 호환성 Java 컴파일및타도구와의연동이뛰어남 성능 복잡하고뛰어난커버리지분석을 Build 와함께빠르게분석 기타 직접 build.xml 을다루어야하기때문에많은기능을가지고있지만, 직접사용하는인터페이스나기능이없어초보자가사용하기에불편함 도구평가의견 는코드변조를통해뛰어나고정확한결과를빠르게출력 는라이브러리와 Command line, Ant등의연계로사용할수있지만, 사용자가직접클래스파일을변조하고처리를하여야하기때문에초보자가사용하기에매우어려운단점을지님 45

9. 용어정리 본매뉴얼에서사용하고있는용어의정리 Code Instrument Code Coverage build.xml 코드변조. 기존에작성된코드를바탕으로특정목적을달성하기위해코드를추가하거나변조하여다른임무를수행토록함. 에서는코드변조를활용하여커버리지측정을수행 소프트웨어의테스트를논할때얼마나테스트가충분한가를나타내는지표중하나. 소프트웨어테스트를진행했을때코드자체가얼마나실행되었냐는것 Ant 라는프로그램의스크립트파일. 유닉스에서 make 라는프로그램의기능과비슷. compile, run, clean 등의작업을스크립트화해서불필요한수작업을줄임 Ant 자바프로그래밍언어에서사용하는자동화된소프트웨어빌드도구 46