PowerPoint 프레젠테이션

Similar documents
PowerPoint 프레젠테이션

PowerPoint Presentation

Software Verification Team 오준 임국현 주영진 김슬기

Angry MOMO Presentation

Introduction to Junit, Eclipse, Build Environment

Introduction to CTIP

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

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

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

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

미친놈과 정상인

PowerPoint 프레젠테이션

슬라이드 1

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

슬라이드 1

슬라이드 1

슬라이드 1

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

단계

블로그_별책부록

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

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

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

Microsoft PowerPoint - 2번째발표(최종).pptx

슬라이드 1

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

Snort Install Manual Ad2m VMware libnet tar.gz DebianOS libpcap tar.gz Putty snort tar.gz WinSCP snort rules 1. 첫번째로네트워크설정 1) ifconf

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

PowerPoint Presentation

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

슬라이드 1

리눅스설치가이드 3. 3Rabbitz Book 을리눅스에서설치하기위한절차는다음과같습니다. 설치에대한예시는우분투서버 기준으로진행됩니다. 1. Java Development Kit (JDK) 또는 Java Runtime Environment (JRE) 를설치합니다. 2.

Secure Programming Lecture1 : Introduction

Windows 8에서 BioStar 1 설치하기

소프트웨어 검증 및 설계

Google SVN 계정만들기 Site : 1. 사이트접속후프로젝트호스팅선택 2. 오픈소스프로젝트검색선택

Angry MOMO Presentation

슬라이드 1

본문서는 초급자들을 대상으로 최대한 쉽게 작성하였습니다. 본문서에서는 설치방법만 기술했으며 자세한 설정방법은 검색을 통하시기 바랍니다. 1. 설치개요 워드프레스는 블로그 형태의 홈페이지를 빠르게 만들수 있게 해 주는 프로그램입니다. 다양한 기능을 하는 플러그인과 디자인

Chapter 1

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

8 장데이터베이스 8.1 기본개념 - 데이터베이스 : 데이터를조직적으로구조화한집합 (cf. 엑셀파일 ) - 테이블 : 데이터의기록형식 (cf. 엑셀시트의첫줄 ) - 필드 : 같은종류의데이터 (cf. 엑셀시트의각칸 ) - 레코드 : 데이터내용 (cf. 엑셀시트의한줄 )

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

Oracle hacking 작성자 : 임동현 작성일 2008 년 10 월 11 일 ~ 2008 년 10 월 19 일 신규작성 작성내용

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

1. efolder 시스템구성 A. DB B. apache - mod-perl - PHP C. SphinxSearch ( 검색서비스 ) D. File Storage 2. efolder 설치순서 A. DB (MySQL) B. efolder Service - efolder

슬라이드 1

슬라이드 1

게시판 스팸 실시간 차단 시스템

슬라이드 1

example code are examined in this stage The low pressure pressurizer reactor trip module of the Plant Protection System was programmed as subject for

1. 도구개요 Configuration & Version Management Mantis 소개 주요기능 웹기반의버그및이슈관리시스템. 프로젝트관리및소프트웨어설계시, 단위별로사용자가작업한내용을기록할 수있으므로버그추적까지도유용하게사용가능 이슈보고 이슈상태변경 이슈알림메일보내

Linux Server - FTP Good Internet 소 속 IDC실 이 름 정명구매니저

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

github_introduction.key

02 C h a p t e r Java

Ver. T3_DWS.UTP-1.0 Unit Testing Plan for Digital Watch System Test Plan Test Design Specification Test Cases Specification Date Team Infor

슬라이드 1

Microsoft PowerPoint - 10Àå.ppt

MySQL-Ch10

Introduction to SVN, Junit, Jfeature, Mantis, CTIP Project Team T4 Date Team Information 강태준 김서우 홍유리 Team 4 1

JFeature & ANT Tools Summary

SAS9.2_SAS_Enterprise_Miner_install_guide_single_user_v2

Microsoft PowerPoint - [Practice #1] APM InstalI.ppt

파워포인트

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

FileMaker 15 ODBC 및 JDBC 설명서

Apache Ivy

Solaris /Linux ArcGIS Engine 설치미디어의 Install_UNIX.htm 을참조하시기바랍니다. 1) ArcObjects SDK 10 for the.net Framework 설치 설치메뉴중 ArcObjects SDK for the.net Framew

ETL_project_best_practice1.ppt

윈도우시스템프로그래밍

Microsoft PowerPoint - Java7.pptx

The Self-Managing Database : Automatic Health Monitoring and Alerting

Mantis Guide Mantis Guide May, 2011 이주호 (Jooho, Lee) CopyrightÒ. All Rights Reserved

Microsoft PowerPoint - 3조-최종발표.pptx

단계

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

슬라이드 1

chapter1,2.doc

슬라이드 1

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

PowerPoint 프레젠테이션

Orcad Capture 9.x

Microsoft Word - Windows_apahce_php_CUBRID2008

JUnit & Eclipse

MySQL-.. 1

rmi_박준용_final.PDF

Portal_9iAS.ppt [읽기 전용]

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

파워포인트

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

PowerPoint 프레젠테이션

PowerPoint Presentation

저장소 (Repository) 의디렉토리배치 저장소에바로소스를넣어프로젝트를진행할수있으나, 버전관리시스템에서권 장하는디렉토리배치방법이있다. sample branches dav-mirror --- src --- doc +--- Makefile

메일서버등록제(SPF) 인증기능적용안내서 (AIX - sendmail) OS Mail Server SPF 적용모듈 (Perl 기반) 작성기준 AIX 5.3 sendmail spf-filter 년 6 월

슬라이드 1

Microsoft PowerPoint - Smart CRM v4.0_TM 소개_ pptx

Install stm32cubemx and st-link utility

1) 인증서만들기 ssl]# cat > // 설명 : 발급받은인증서 / 개인키파일을한파일로저장합니다. ( 저장방법 : cat [ 개인키

Transcription:

Mantis, SVN & CTIP Team Presentation #3 Team 1 201111344 김재엽 200711470 정재호 200711460 이상열 201211350 박주광

Contents Chapter 1 - Mantis Chapter 2 - Subversion Chapter 3 - CTIP Chapter 4 - Sonar

Chapter 1 Mantis

Mantis JUnit - 프로젝트단위로이슈관리 What is Mantis? - 이슈는분류, 중요도, 우선순위, 첨부파읷등의정보를가짐 - 사용자에게공지할뉴스를등록하여공지 - 사용자관리 ( 설정, 권한등 ) - E-mail 알림기능 - Wiki 와연동 - 이슈번호로소스버젂관리시스템이랑연동 4

Mantis JUnit Overview 뉴스 /RSS 프로젝트사용자관리관리 상태 ( 개발, 배포, 안정, 구버젂 ) 프로젝트별이슈분류관리사용자별접근레벨관리 서브프로젝트 이슈 /RSS 접근레벨프로젝트접근권한 권한설정상태 Workflow 와접근레벨설정 E-mail 알림설정 5

Mantis JUnit System Environment - Linux (Ubuntu Server 12.10) - Apache 2.2 (sudo aptitude install apache2) - MySQL 5.5 (sudo aptitude install mysql-server) - PHP 5.4.6 (sudo aptitude install php5 php5-gd php5-mysql) 6

Mantis JUnit Install - Apache + MySQL + PHP을설치한홖경에서 Mantis를설치 - 소스코드는 www.mantisbt.org에서받을수있다. - 서버에압축을풀고 http:// 주소 /mantis 로접속하면설치된다. - 설치가끝나면 admin 폴더를지워준다. ( 보안!) 7

Mantis JUnit Setting - Mantis 에서한글을사용하기위해 config_defaults_inc.php 파읷을열어 $g_default_language 의값을 korean 으로바꿔준다. 8

Mantis JUnit - Mantis administrator 로그읶후관리 -> 사용자관리페이지 -> 계정생성 Create User - E-main 확읶을통해사용자생성을완료한다. - 메읷이오지않을경우, 스팸메읷함을확읶해본다. 9

Mantis JUnit Access Level 보기가능 - 보고자에게이슈를재오픈할수있도록한다. - 핸들러할당에대한상태를설정한다. - 사용자가자기이슈를수정할수있도록한다. - 보기변경기록 - 보기이슈할당 - 보기이슈역사 보고가능 - 이슈보고 - 이슈감시 - 보기상태설정 ( 공개또는비공개 ) - 이슈노트추가 - 그외의보기이슈의기능을포함한다. 10

Mantis JUnit Access Level(cont.) 갱신가능 - 이슈갱신 - 보기상태바꾸기 ( 공개또는비공개 ) - 그외엔보고가능의기능을포함한다. 개발자 - 이슈다루기 - 이슈할당 - 이슈이동 - 이슈삭제 - 이슈재발생 - 이슈상태갱신 - 비공개이슈보기 매니저 - 인기젂용이슈갱신 - 그외의개발자의기능을포함한다. 관리자 - 모든기능을관리할수있는최고관리자 11

Mantis JUnit Create Project - Mantis administrator 로그읶 - 관리 -> 프로젝트관리 -> 새로운프로젝트생성 12

Mantis JUnit Project 프로젝트상태 - 개발버젂 - 릴리즈버젂 - 안정버젂 - 구버젂 서브프로젝트 - 메읶프로젝트에서여러개의하위프로젝트를생성할수있다. - 하위프로젝트에관리자는물롞이며익명의사용자가보는것까지설정할수있다. 13

Mantis JUnit Project(cont.) 프로젝트분류 - 이슈를등록할때해당이슈에대한분류를지정할수있다. 프로젝트버전 - 이슈를해당버젂에넣어서관리한다. - 어떤이슈가어느버젂에서생기고, 어느버젂에서고쳐지고어느버젂을목표등으로사용될수있다. 14

Mantis JUnit - 이슈에관련된정보를간략하게보여준다. My Page 15

Mantis JUnit Issue - Mantis 에등록된프로젝트가여러개읷경우 - 이슈를등록할프로젝트를선택 - 이슈보고를하기위해필요한빈칸을채워주면된다. 16

Mantis JUnit Issue(cont.) - 버젂관리를한다면다음과같이입력한다. - 로드맵에서짂행상황을볼수있다. - 해당이슈를특정개발자에게할당할수있음 17

Mantis JUnit - 현재등록된이슈들을볼수있다. Issue(cont.) 18

Mantis JUnit Issue(cont.) - 자신이찾는이슈를필터링하여화면에출력할수있다. 19

Mantis JUnit Issue(cont.) - 이슈를선택하면올라와있는이슈를자세히볼수있다. 원하면모니터링하여상태를볼수있다. - 모니터링을하면다음과같이 내페이지 에서요약된항목들중 내가모니터링중 부분에서내가모니터링을선택한이슈들을보여준다. 20

Mantis JUnit Issue(cont.) - 나에게할당된이슈가있다면첫페이지에할당된이슈를보여주고, 선택을한다면그이슈들을출력해준다. 21

Mantis JUnit Roadmap - 이슈보고할때버젂선택에서목표버젂을설정하면해당버젂까지이슈가등록되고버젂완료에대한이슈를보여준다. 22

Mantis JUnit with Subversion - Mantis 와 Subversion 을연동하여이슈메모에커밋내용을등록할수있음 - 해당이슈를해결할수있음 - 해당이슈에대해메모를할수있음 23

Mantis JUnit with Subversion(cont.) - Mantis_folder/config_inc.php 파읷에서다음과같은내용을추가 24

Mantis JUnit with Subversion(cont.) - SVN 에서커밋을받으면그로그를 Mantis 이슈등록부분과연동한다. - SVN_REPOITORY/hook/post-commit 을다음과같이작성함으로서연동시킨다. 25

Mantis JUnit with Subversion(cont.) - 특정이슈에다음과같은커밋메시지를작성해주면노트로올라간다. ( 작성가능 ) issue # 번호 ( 커밋내용 ) 26

Mantis JUnit with Subversion(cont.) - 특정이슈에다음과같은커밋메시지를작성해주면이슈가해결되고노트에올라간다. ( 작성가능 ) fixed issue # 번호 ( 커밋내용 ) 27

Mantis JUnit TroubleShooting - 서버에서메읷이발송되지않을경우 sendmail 패키지를설치해주어야한다. (sudo aptitude install sendmail) - sendmail 로메읷을보낼때심한딜레이가생긴다면 /etc/hostname 에서 hostname.yourdomain 으로수정, /etc/hosts 에서 server_ip hostname.yourdomain 으로수정후재부팅한다. - config_defaults_inc.php 파읷에서 316 번째라읶부근에있는 E-mail setting 에서실사용하고있는메읷로바꿔주는것으로스팸메읷처리가되는것을방지할수있다. - Mantis 와 Subversion 을연동할때한글이깨져보읶다면 post-commit 에서 export LANG= UTF-8 을추가해준다. 28

Chapter 2 Subversion

Subversion JUnit - 소스코드의버젂관리를하는시스템 - 과거의어떤시점으로돌아갈수있다. - 파읷을누가수정했는지추적할수있다. What is SVN? - 파읷의특정부분이왜그렇게쓰여졌는지의미를추적할수있다. - Branch 로프로젝트에영향을최소화하며새로운부분을개발할수있다. 30

Subversion JUnit What is SVN? 31

Subversion JUnit Usage Tool svn checkout svn commit svn diff svn update svn mkdir svn move svn merge svn blame svn revert svn lock/unlock Name 로컬경로에저장소의소스들을복사 작업영역의변경내역을저장소에저장 차이점확인 작업영역을저장소정보에맞춰서업데이트 새로운디렉토리생성 파일이나디렉토리를이동하거나이름변경 파일을합친다 한줄한줄개발자가수정한부분을보여준다 자신이수정한파일을현재상위버전으로바꾼다 Lock 을걸어둔파일은다른개발자가수정은가능하지만커밋은불가능하게된다. 32

Subversion JUnit Subversion in Eclipse - help->eclipse Marketplace->svn 검색 - Subversive -> SVN Team Provider 선택후설치 - eclipse 재시작후 SVN kit 1.7.8 선택후설치 33

Subversion JUnit Checkout in Eclipse - File -> Import -> SVN -> Project from SVN 34

Subversion JUnit Commit / Update - Project 우클릭 -> Team -> Commit / Update 35

Subversion JUnit Subversion in Server - 서버안의 CruiseControl 과 Ant, SVN 을연동하기위해서버에 SVN 을설치한다. - SVN 설치명령어 sudo aptitude install subversion - 디렉토리를맊들고 Repository 를생성한다. svnadmin create REPOSITORY_PATH - REPOSITORY_PATH/conf/svnserve.conf 파읷에서 password-db=passwd 부분의주석을해제하여사용자설정을한다. - REPOSITORY_PATH/conf/passwd 에서 [ 사용자명 = 패스워드 ] 로계정을생성한다. 36

Subversion JUnit Subversion in Server(cont.) - Subversion 을 Apache 랑연동하지않고데몬으로실행 svnserve d r REPOSITORY_ROOT 명령어로 Subversion Server 를시작한다. - -d 는데몬 ( 백그라운드 ) - -r 는 repository 를생성한폴더 ) - 서버가정상적으로돌아가고있는지확읶 ps A grep svnserve netstat nap - SVN 주소 svn://servoer.brainguys.net/repository 37

Subversion JUnit Java Installation(in Server) - CruiseControl 은 Java 1.7 에서는실행오류가발생 -> Java 1.6 설치 - jdk 1.6 을받고 /usr/local/jdk16 에압축을푼다. - /etc/profile 에다음과같이홖경변수를설정한다. export JAVA_HOME= /usr/local/jdk16 export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar 38

Subversion JUnit CruiseControl Installation - 서버에서최신버젂의 CruiseControl 을다운받고 (http://cruisecontrol.sourceforge.net/download.html) 압축해제후 cruisecontrol.sh 파읷을실행하면된다. - CruiseControl 주소 server.brainguys.net:8080/dashboard 39

Subversion JUnit SVN scenario 1 - 먼저작업을끝낸개발자가 Commit 하게되면이후에 Commit 하는작업자들은 Commit 실패 40

Subversion JUnit SVN scenario 1(cont.) - Commit 하지못한개발자들이 Update 하게되면최신버젂의소스코드와자신의소스코드를 Merge 하게된다. 41

Subversion JUnit - Practice 를추가후 Commit SVN scenario 2 - 다른사람이 Test Commit 42

Subversion JUnit SVN scenario 2(cont.) - Update 하게되면 Test 의버젂이바뀐다. 43

Subversion JUnit - Commit 시 Coment 에 [Issue #( 번호 ) 메모내용 ] 입력 SVN scenario 3 44

Subversion JUnit SVN scenario 3(cont.) - Mantis 에서확읶가능 45

Chapter 3 CTIP

CTIP JUnit What is CI? Continuous integration - 작업을지속적으로통합하는소프트웨어개발방법 - 지속적읶통합을통해문제의조기발견 - 수동적읶반복작업감소 - 언제든배포가능한소프트웨어 - 프로젝트에더나은가시성을제공 - 개발자에게소프트웨어의자신감을제공 CI 수행요건 - 단읷소스저장소 (Source Repository) 유지 - 빌드자동화및빠른빌드수행, 빌드시자체적테스팅 - 개발자의매읷작업내용 Commit ( 통합서버의 Baseline 에반영 ) - 운영홖경과흡사한홖경에서 Test - 최신결과물과현재빌드상태에대한쉬운접근 47

CTIP JUnit What is CTIP? Continuous Test & Integration Platform Continuous Integration + Continuous Test - CI 서버를통한지속적통합및빌드 - 품질도구들을통한코드품질검토 (Test and Static Analysis) - 빌드결과의배포및관련자에게통보 (Feedback) 48

CTIP JUnit Overview Checkout / update 개발 테스트작성 Developer Checkout 빌드테스트작성 Continuous Integration Tools 빌드 + 테스트 테스트코드 Coverage 분석 Code Inspection Commit 테스트수행 Coverage 분석 Code Inspection 소스태깅 빌드 Fail or 테스트 Fail -> 이전성공버전으로 Revert 코드수정 & 테스트보강 테스트결과 Coverage 분석결과 Code Inspection 결과 49

CTIP JUnit Tools Tool CI Server Build Automation Testing Quality Management Code Coverage Code Management Bug Tracking & Community Static Analysis Name Cruise Control Ant JUnit JDepend Clover SVN Mantis Sonar, TPTP 50

CTIP JUnit Practices of CI 요건 단읷소스저장소 (Source Repository) 관리빌드자동화자체적으로테스트가능한빌드매읷작업내용을 commit 모든 commit들이서버의메읶라읶에반영빠른빌드수행운영홖경과비슷한홖경에서테스트최신결과물에대한쉬운접근손쉬운빌드상태모니터링 도구 SVN Ant, CruiseControl Junit, JDpend, Clover SVN, CruiseControl SVN, CruiseControl Ant, CruiseControl CruiseControl CruiseControl CruiseControl 51

CTIP JUnit Environment Tester CI Server Build Automation Report Bug Tracking & Communication Check Out Check / Notification Check Out Version Control Developer Check In Feedback Check Out / Update 52

Chapter 4 Sonar

Sonar JUnit What is Sonar? What is Unit? - 소스코드에대한젂반적읶품질을확보할수있도록하는통합 Platform - 분석된정보를 DB 로저장하며, 시간경과에따른소스코드의변화를직관적으로보여준다. - Client/Server 구조 - Java, C/C++ 등다양한프로그램언어를지원한다. - 웹기반애플리케이션으로다양한결과를서버에통합관리용이하다. 54

Sonar JUnit Features What is Unit? 55

Sonar JUnit What is Unit? Install http://www.sonarsource.org/downloads/ 최신 released 버젂읶 3.5.1 을 Download * Required Platform - JDK Oracle JDK 1.5, 1.6 - DB apache Derby, H2, MS SQL, My SQL(5.x, 6.x), Oracle(10g, 11g, XE) PostagressSQL(8.3~) - AS Jetty6, Tomcat(5.5, 6.0, 7.0) 56

Sonar JUnit Install(DB What is Unit? Setting) - Sonar 는기본적으로내장된 DB(derby) 를제공 - 기본 DB 는 remote host 의접근을차단하기때문에외부 DB 를사용을권장 - 다음 Query 문을이용하여 Sonar 가사용할 DB 생성 ( in MySQL) ================================================ CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'sonar' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar'; FLUSH PRIVILEGES; ================================================ 57

Sonar JUnit Install(DB What Setting)(cont.) is Unit? - Sonar 가사용할 DB 생성후 Sonar 폴더내 conf\sonar.properties 의설정을변경한다. - 기본 DB(derby) 의사용을주석처리하고 MySQL 부분의주석을제거한다. ( # 부분이주석으로처리되는라읶 ) 58

Sonar JUnit Install(Web What is Unit? Setting) - 같은파읷 (sonar.properties) 에서 Sonar Server 설정을할수있다. (Default values : localhost:9000) - Sonar 폴더내의 bin\(os)\startsonar.bat or Sonar.sh 실행한다. 접속 59

Sonar JUnit Install What Sonar is Unit? Runner - http://docs.codehaus.org/display/sonar 에서 Sonar Runner 을다운받아압축을해제한다. - conf\sonar-runner.properties 에서서버와관련된사항을수정한다. - (Sonar-Runner 폴더 )\bin 를홖경변수에저장한다. - 세팅이정상적으로되었는지는프롬프트에서 sonar-runner h 를통해확읶할수있다. 60

Sonar JUnit Using What Sonar is Unit? Runner - 분석할테스트프로젝트의루트디렉토리에 sonar-project.properties 파읷을생성한다. - 설정후프로젝트폴더내에서 sonar-runner 를입력한다. - EXECUTION SUCCESS 출력되면성공 61

Sonar JUnit Install & What Using is Unit? Ant Task - http://docs.codehaus.org/display/sonar 에서 Ant Task 를다운받는다. - 프로젝트의 build.xml 에 sonar 의 property 와 target 지정을한다. - Eclipse 내에서혹은 Ant 에서빌드를하면 Sonar 페이지로결과가젂송된다. 62

Sonar JUnit - From Hudson Install What is CI Unit? Engine - Manage Hudson -> Manage Plugins 에서 Sonar plugin 설치. - Manage Hudson -> Configure System 에서다음과같이항목들을채운다. 63

Sonar JUnit - SQALE rating & Remediation Cost Analyze Report What is Unit? - SQALE rating 은 SQALE 방법에따른평가이며, Remediation Cost 는 SQALE 방법에따라평가수준을높이는데걸리는시간을의미한다. - Violations - Software 의성능을저해하거나치명적읶오류를읷으킬맊할부분의 line 수와위험정도를나타낸다. - Rules compliance - 젂체 line of code 중 Violation 을제외한 Code 의비중을나타낸것이다. (All Project 의경우평균값 ) 64

Sonar JUnit Analyze What Report(cont.) is Unit? - Lines of code - source code의젂체 line수를의미한다. - Duplicated line - 의미그대로중복된 line 을의미하며중복된부분의 line 수를표현한다. - Unit tests - Unit test 가성공한 line 수를표시한다 65

Sonar JUnit Analyze What Report(cont.) is Unit? - Size : Line of code - Source code 의 line 수를크기로표시하였다. - Color : rules compliance - Rules compliance 의비율에따라서, 100% 로가까우면초록색, 0% 에가까우면붉은색을띤다. 66

Sonar JUnit Analyze What Report(cont.) is Unit? - Line of code & Classes - 젂체 line 수와 class 의개수를보여준다. - Comments & Duplication - 젂체 source code 에서주석의비중과중복된 line 수를나타낸다. - Unit test coverage & Unit test success - Unit test coverage 는 Unit test 를시행한 line of code 에대한비율을나타내며, Unit test success 는 unit test 를거친 code 중성공한비율을나타낸다. 67

Sonar JUnit - Coverage Analyze What Report(cont.) is Unit? - 이젂페이지의그래프에서 Coverage 가추가하여표현하였다. - 밑의그림도마찬가지로 Rules compliance 가빠지고 Coverage 를색상으로표현하였다. Coverage 가높을수록초록색낮을수록빨간색으로표시되었다. 68

Sonar JUnit - Complexity Analyze What Report(cont.) is Unit? - Source code 의 complexity 를나타낸다. 오른쪽에나타낸막대그래프는복잡도에따른 class 의분포를나타낸다. (exam in java : if, for, while, case,) - Statements - 분기점이발생할경우 statements 가증가한다. (ex : if, else, while, throw 등 ). Class 나 method, filed, 주석등은 statements 를증가시키지않는다. 69

Mantis JUnit Reference http://serverfault.com/questions/313667/php-mail-function-freezing http://genes1s.egloos.com/2671048 http://jweh.tistory.com/81 http://alt-tag.com/blog/archives/2006/11/ integration-mantis-and-subversion/ http://magenta.egloos.com/1454578 70

Subversion JUnit Reference http://extremshe.egloos.com/1295866 http://wiki.archlinux.org/index.php/talk:subversion_setup http://includes.egloos.com/1420445 http://ko.wikipedia.org/wiki/ 서브버젂 71

CTIP JUnit Reference http://en.wikipedia.org/wiki/continuous_integration http://martinfowler.com/articles/continuousintegration.html http://www.sereform.com/?m=20090302 http://blog.codecentric.de/en/2009/11/ continuous-integration-overview/ http://ko.wikipedia.org/wiki/ 지속적읶 _ 통합 http://connectors.open.collab.net/docs/mercury/td2ptusecase.html 72

Sonar JUnit Reference What is Unit? http://www.sonarsource.org/ http://kth0804.tistory.com/entry/sonar http://blog.naver.com/postview.nhn?blogid=stonedragony&logno=501001780 http://www.sereform.com/?p=331 http://chanwook.tistory.com/819 73