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

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

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

PowerPoint Presentation

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

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

1. 도구개요 Requirement Analysis & Management JFeature 소개 요구사항들을기록하고이들을 JUnit Test Case 와매치함으로써프로세스를단순화할수있다 주요기능 요구사항기록, Report 생성하기 카테고리 Requirement Anal

슬라이드 1

슬라이드 1

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

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

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

Angry MOMO Presentation

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

슬라이드 1

슬라이드 1

슬라이드 1

Windows 8에서 BioStar 1 설치하기

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

미친놈과 정상인

슬라이드 1

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

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

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

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

Install stm32cubemx and st-link utility

Microsoft Word - src.doc

Introduction to Junit, Eclipse, Build Environment

Chapter 1

NTD36HD Manual

PowerPoint Presentation

슬라이드 1

server name>/arcgis/rest/services server name>/<web adaptor name>/rest/services ArcGIS 10.1 for Server System requirements - 지

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

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

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

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

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

Introduction to CTIP

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

JDK이클립스

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

슬라이드 1

목차 1. SVN... 3 A. 소개... 3 B. 사용모델... 3 C. 기능... 4 D. 용어... 5 E. SVN 툴... 5 F. 사용방법 Mantis... 8 A. 소개... 8 B. 특징... 8 C. 설치및실행 JFeature

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

Office 365 사용자 가이드

SBR-100S User Manual

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

MaxstAR SDK 2.0 for Unity3D Manual Ver

ISP and CodeVisionAVR C Compiler.hwp

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

System Recovery 사용자 매뉴얼

PowerPoint 프레젠테이션

<4D F736F F D D31312D30312D53572D30312DBBE7BFEBC0DABCB3B8EDBCAD5FBFDCBACEB9E8C6F7BFEB2E646F63>

Studuino소프트웨어 설치

Introduction to SVN, MantisBT, JFeature, JUnit 사용법및 CTIP 개론 과목명 : 소프트웨어모델링및분석 교수명 : 유준범교수님 제출일 : ( 목 ) 팀 원 : 김태현 고수창 20

Splentec V-WORM Quick Installation Guide Version: 1.0 Contact Information 올리브텍 주소 : 경기도성남시분당구구미로 11 ( 포인트타운 701호 ) URL: E-M

Microsoft PowerPoint - 안드로이드 개발 환경 구축(170411)

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

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

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

윈도우시스템프로그래밍

View Licenses and Services (customer)

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

gcloud storage 사용자가이드 1 / 17

슬라이드 1

01장

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

PowerPoint Template

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

EndNote X2 초급 분당차병원도서실사서최근영 ( )

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

OnTuneV3_Manager_Install

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

ICAS CADWorx SPLM License 평가판설치가이드

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

서현수

Facebook API

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

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

JUNIT 실습및발표

Cubase AI installation guide

슬라이드 1

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

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

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

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

Spring Boot

6. 설치가시작되는동안 USB 드라이버가자동으로로드됩니다. USB 드라이버가성공적으로로드되면 Setup is starting( 설치가시작되는중 )... 화면이표시됩니다. 7. 화면지침에따라 Windows 7 설치를완료합니다. 방법 2: 수정된 Windows 7 ISO

Spotlight on Oracle V10.x 트라이얼프로그램설치가이드 DELL SOFTWARE KOREA

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

슬라이드 1

CODESYS 런타임 설치과정

슬라이드 1

슬라이드 1

윈도우시스템프로그래밍

JDBC 소개및설치 Database Laboratory

슬라이드 1

Transcription:

Introduction to SVN, Junit, Jfeature, Mantis, CTIP Project Team T4 Date 2016-04-07 Team Information 201411258 강태준 201411265 김서우 201411321 홍유리 Team 4 1

Contents 1. SVN 이란? 2. Mantis 이란? 3. JFeatures 이란? 4. JUnit 이란? 5. CTIP 개론 Team 4 2

1. SVN 이란? 1) 개요 자유소프트웨어버전관리시스템으로제한이있던 CVS 를대체하기위해개발된것으로, 여러개발자가하나의프로젝트를진행함에있어통합적인소스관리를편리하게하기위한툴로사용된다. 서브버전, 소스공유프로그램, 프로젝트관리프로그램, 코드관리및공유프로그램, 코드저장소프로그램등다양하게불린다. 처음파일을저장시킬때는파일원본그대로저장을시키고그다음부터는실제파일이아닌처음파일과이차이점을저장시키는시스템이다. 2) 대표적인기능 - 여러개발자가함께프로젝트를진행할때소스관리를할수있게하기위해 하나의서버에서관리할수있도록도와준다. 이프로젝트소스는 SVN 서버의 Trunk 에위치한다. 자신의로컬에 Trunk 소스를다운받아수정및추가한후에다시업로드 ( 커밋, commit) 하는형식이다. 또한로그를통하여누가업로드를하였는지알수있다. - 동일한프로젝트의특정모듈이나기존소스에영향을끼치는다른기능을 개발하여야할경우 Branch 를만들어준다. Team 4 3

Branch 를만들어서자신이원하는소스를자신만의소스로만들어작업하면된다. 다른개발자들이설정하지않는한자신의 Branch 는본인만접근권한을가진다. 또한이 Branch 에서개발이완성되면 Trunk 소스와합치는작업을한다. 3) 장점 - 여러명의개발자들이같은코드기반을통제된방식으로다룰수있다. - 파일이름변경, 이동, 디렉토리버전관리를지원한다. - 시간의진행에따라변경내역을유지할수있다. - 낯선코드를보더라도코드를누가, 언제, 왜그렇게고쳤는지알아낼수잇다. Team 4 4

- 주된개발흐름을유지하면서도여러개의 Release 들을만들어내는것이가능하여 개발버전과유저들에게배포되는릴리즈버전이서로섞이지않고관리가능하다. - 여러사용자가동시에커밋을하더라도충돌이일어나지않아, 팀이작업을멈출 필요가없어진다. - 서버와클라이언트간원본을유지함으로써백업이가능하다 - 파일하나당버전이붙지않고, 한번커밋을할때마다 revision 이올라간다. 4) SVN 의기본용어 항목 설명 Repository 모든프로젝트의프로그램소스들이저장되는장소 Check Out 저장소에서소스받아오기 Commit 개발자가소스를수정, 파일추가, 삭제등을한뒤저장소에갱신하는 것. Revision 번호가증가한다. Update 업데이트를하여저장소에있는최신버전의소스를가져오는데바뀐 부분만받아온다. Revision 소스파일을수정하여커밋하면숫자가증가한다. Import 아무것도들어있지않은저장소에맨처음소스를넣는작업 Export 버전관리파일들을뺀순수한소스파일받아오기 Tag 배포판 Trunk 프로젝트에서가장중심이되는디렉토리 Branch Trunk 에서뻗어나온나뭇가지 Merge Branch 수정본을 Trunk 에병합 Team 4 5

5) SVN 기본구조 Team 4 6

2. Mantis 이란? 1) 도구개요 소개 웹기반의버그및이슈관리시스템. 프로젝트관리및소프트웨어설계시, 단위별로사용자가작업한내용을기록할수있으므로버그추적까지도 유용하게사용가능 주요기능 이슈보고 이슈상태변경 이슈알림메일보내기 카테고리 Configuration & Version Management 세부카테고리 버그및이슈추적 커버리지 Bug Tracker 도구난이도 하 라이선스 GNU General Public License v2 / 무료 형태 / 비용 운영체제 Windows, Linux, Mac OS X, UNIX 특징 각각의작업이나전체프로젝트에대해서작업진행상태를도식화가능 프로젝트변경이력에대한추적 / 관리및유지보수 프로젝트참여자들의작업내용을추가 / 보고 / 관리 적용회사 / 프로젝트 다양한 SW 개발업체들이사용 관련도구 Bugzilla 제작사 Mantis Group 공식홈페이지 http://www.mantisbt.org 사전설치도구 PHP, MySQL, Apache2 도구버전 1.2.12 (2012. 11) Team 4 7

2) 기능요약 웹기반의버그및이슈관리시스템으로그룹개발시에발생한이슈나버그들을관리하기 위한도구 주요기능오류추적 / 관리버그처리우선순위프로젝트별관리다른포맷으로의출력 E-mail 설정 지원내용지원지원지원지원지원 3) 도구실행환경 대부분의운영체제에서실행가능 다양한 OS를지원 Windows : Windows XP / Windows 7 (32, 64-bit 모두지원 ) Linux : 32, 64-bit 지원 Mac OS X : 32, 64-bit 지원 UNIX : 32, 64-bit 지원 MySQL, Apache2, PHP 을필요로함 4) Autoset 다운로드 Mantis 사전설치도구인 Autoset 다운 >www.autoset.org 무료다운로드클릭 설치프로그램다운 오토셋 6.3.1 선택 링크클릭 다운받은후설치를시작 - 설치는 C:\AutoSet 폴더에함 설치중, 옵션은기본설정에따름 기본설정에프로그램바로가기는시작메뉴폴더에지정 설정을마친후, 완료버튼을클릭하여설치마침 Team 4 8

5) Mantis 다운로드 Mantis를다운 www.mantisbt.org 에접속 메뉴중 Download 클릭 Download MantisBT 1.2.12 를클릭하여다운 클릭하면 SourceForge 사이트로이동 1.2.12 버전폴더클릭 mantisbt-1.2.12.tar.gz 를클릭하여다운 다운받은후압축해제 mantisbt-1.2.12 라는폴더가생성됨 경로를쉽게하기위해 mantisbt-1.2.12 폴더이름을 mantis 로바꾼후, mantis 폴더안에 upload 라는폴더를생성 Upload 폴더는앞으로 upload 할파일이저장되는장소 mantis 폴더를 C:\AutoSet\public_html 로이동 6) Database 설정하기 mantis 폴더에서 config_defaluts_inc.php 를실행하여 DB정보를설정함 $g_hostname = localhost ; //hostname은 localhost로함 $g_db_username = root ; //PHP myadmin 접속을위한 username $g_db_password = autoset ; //PHP myadmin 접속을위한 password $g_database_name = bugtracker ; // 새로만들 database 의이름 $g_administrator_email = 관리자 email 주소 관리자 email 주소에는해당관리자의 email 주소나본인의 email 주소작성 본매뉴얼에서는 rubyit0624@gmail.com 으로입력 // 테스트를위해본인계정의 메일주소작성 $g_fallback_language = Korean Fallback 기본언어를 Korean 으로변경 파일업로드설정을반드시변경 기본값은 DB 에업로드되는설정이지만, 파일로저장하는것이좋음 $g_file_upload_method = DISK $g_allow_file_upload = ON 앞서생성한 Upload 폴더의젃대경로입력및최대업로드용량, 금지파일목록작성 $g_absolute_path_default_upload_folder = C:/AutoSet/public_html/mantis/upload/ ; $g_max_file_size = 5000000 ; Team 4 9

$g_disallowed_files = php,html,htm ; 7) Database 만들기 AutoSet 을관리자권한으로실행시켜서웹서버와 MySQL 을시작 새 Database 생성 파일 phpmyadmin 접속 을통해 localhost 에연결 앞에서입력한 DB 사용자이름 : root, 암호 : autoset 을입력하여연결 접속하여 새데이터베이스만들기 란에, 앞에서입력한 Database 이름 bugtracker를입력하여만들기버튼클릭 설정파일생성 http://localhost/mantis/admin/install.php 로접속 Admin Username과 Admin Password는앞에입력한 Username과 Password와동일하게입력 입력후, Install/Upgrade Database 버튼누름 아래화면은설정이완료된화면 완료후에 mantis 폴더에 config_inc.php 파일이생성됨. http://localhost/mantis 로접속 Username 에는 administrator 를, Password 에는 root 를입력하고로그인 root 는기본 password 이므로, 접속후에변경을해야함 8) Mantis 접속 만약상단에, timezone 관련에러가발생시에는다음과같이파일을수정 mantis 폴더의 config_defaults_inc.php 파일을열어서다음내용삽입 date_default_timezone_set("asia/tokyo"); Team 4 10

9) Mantis 한글설정하기 한글로된메뉴를사용하기위해 My Account - Preferences 누름 Language 를 Korean 로선택한뒤 Update Prefs 버튼을눌러설정적용 만약한글설정이되지않는경우에는임의의프로젝트를하나생성후, 적용함 DB 에저장되는데이터에서한글이올바르게표시되게하기위한작업 mantis 폴더안에 core 라는폴더가있고, 그안에 database_api.php 파일을열어 다음을추가 $g_db Execute( set names utf8 ); 10) Mantis 정보갱신 계정관리를눌러비밀번호, 실명, 메일을각각채운뒤정보갱신 메일은앞에서생성한이메일과동일한것으로입력 11) Mantis 메일설정하기 C:\AutoSet\Server\conf\php.ini 파일을다음과같이수정 ;extension=php_openssl.dll extension=php_openssl.dll AutoSet 에서웹서버재시작 mantis 폴더의 config_defaults_inc.php 파일수정 메일전송테스트 http://localhost/mantis/admin/test_email.php 에접속하여테스트 Team 4 11

12) admin 폴더삭제하기 Mantis 의설정이완료되면, 보안상의문제가있을수있음으로 admin 폴더삭제 mantis 폴더안의 admin 폴더를삭제함. 13) 프로젝트생성 프로젝트생성 Mantis 로그인후관리 프로젝트관리 새로운프로젝트생성 버튼클릭 프로젝트이름 : 웹사이트개발프로젝트 // 현재진행중인프로젝트명을기입 상태 : 개발버전 // 선택항목들중에해당하는것을항목을선택 상태보기 : 공개 // 공개, 비공개중선택 분류상속 : 체크해제 // 독립적으로관리할경우체크해제 설명 : 프로젝트팀원들이이프로젝트에대해알수있게간단한설명기입 14) 계정생성 프로젝트에참여하는팀원입력 관리 사용자관리 계정생성버튼클릭 항목정보를입력 필수사항들을기입한후사용자생성버튼클릭 15) 프로젝트에계정할당 관리 사용자관리메뉴에서생성된계정 ( 팀원 ) 을확인하고프로젝트에추가 사용자 ID 를클릭하여추가 프로젝트를선택하여접근레벨을지정하고사용자추가버튼을클릭 Team 4 12

16) 계정설정상태 기본계정설정상태는초기에체크된상태를따름 ( 이메일보고에제한을두고싶을경우 체크상태를바꿀수있음 ) 이메일 란을 모두 로설정하였기때문에이슈상태변경시마다메일이도착 17) 계정생성확인 계정을추가하고나면추가된팀원에게계정생성메일이발송됨 메일에링크되어있는주소로접속 비밀번호를설정 18) 이슈보고 프로젝트진행도중일정보다작업이지연되는경우이슈가발생했다고말할수있음 이때, 이슈보고하기기능을이용하여팀원과 PM 에게이슈를보고할수있음 이슈보고하기 이슈보고하기메뉴에서웹사이트개발프로젝트를선택한뒤프로젝트선택버튼클릭 만약프로젝트선택화면이나오지않을경우, 우측상단의프로젝트에서 모든프로젝트 선택 이슈에대한정보를입력한뒤보고서제출버튼을클릭 메뉴의내페이지화면에서이슈보고를확인 화면하단에색으로구분하여이슈상황에대해분류하고있음 새로운이슈 : 이슈로등록하여아직확인되지않은이슈 정보부족 : 정보가더필요하며처음보고한사람은주목해야함 이슈검토 : 이슈에대해조사했으나확인이나할당되지않은상태이며, 해당개발자는이슈로인정하지않을수있음을유저에게알림 확인된이슈 : 개발자가이슈내용을확인하고재현할수있음. 보통정보를갱신하는사람 (updater) 이나다른개발자가설정 할당된이슈 : 현재개발자에게할당되어처리중 해결된이슈 : 이슈를수정한것으로판단하며, 이에대한확인을기다림 닫음 : 이슈가완전해결되어폐쇄 Team 4 13

19) 이슈보고서출력 이슈보기에서이슈에대한보고서를출력할수있고, CSV 내보내기기능이있음 보고서출력기능 Explorer 창에이슈에대한간단한보고서출력이가능 표시된아이콘을클릭 Explorer 창에보고서가출력 Word 로이슈에대한자세한보고서출력이가능 표시된아이콘을클릭 열기버튼을클릭 Word에보고서가출력됨 이슈에대한이슈번호, 해당프로젝트, 중요도, 재발생가능성, 보고날짜, 최종갱신날짜등이슈에대한자세한보고가가능 현재프로젝트의이슈에대한전체적인상황보기가가능 요약을클릭 전체적인이슈를요약한보고가가능 보고서출력버튼을클릭하면보고서가출력 20) 이슈보고알림메일보내기 이슈번호를클릭하면이슈를갱신할수있고, 팀원들에게알림메일을보낼수있음 이슈번호클릭 알림메일보내기클릭 간단한메시지를입력하여전송버튼클릭 Team 4 14

21) 이슈보고알림메일확인 이슈보고에대한메일이왔는지확인 프로젝트관리자로부터이슈발생메일이도착함 메일에링크되어있는주소로접속하여이슈를확인 22) 할당된이슈확인 나에게할당된이슈번호를클릭 현재 website_member3 이로그인한상태 본인에게할당된이슈라면확인후에이슈의상태를 확인된이슈 상태로변경 이슈노트추가란 에다른팀원들이볼수있도록상태변경에대한이유작성 이슈의상태가 확인된이슈 로바뀜 23) 이슈해결 할당자는이슈를확인한뒤이슈를해결 ( 프로젝트관리자의지시대로작업에참여 ) 이슈보기메뉴에서이슈번호클릭 이슈를해결한뒤에 해결된이슈 상태로변경 상태변경에서 해결된이슈 로변경하고상태변경버튼을클릭 이슈해결상태선택 해결상태 수정됨 : 시험완료됐으며, 이슈상태는해결되었다고표시 문제제기 : 이전에해결했지만, 당시처리결과가만족스럽지않거나정확하게처리되지않아다시발생한상태 재현할수없음 : 이슈를재현할수없으며코드를살펴봐도파악할수없는상태이고추가적인정보가들어오면다시할당하도록함 수정할수없음 : 이번버전에서는수정할수없는문제 중복 : 기본의이슈와중복된것으로중복된이슈번호필요 ( # 이슈번호 로표시 ) 보류 (suspended): 중요하지않은문제로수정을보류 수정계획없음 중복된이슈번호 : 해결상태를중복으로선택하였을경우중복된이슈번호를알려줌 Team 4 15

이슈노트추가 : 해결상태에대해서프로젝트팀원들이볼수있도록 Comment 를작성 모든입력란을작성하고이슈해결버튼을클릭 24) 이슈해결상태확인 관리자가이슈가해결된후로그인한화면 이슈의상태가해결된이슈의색으로변경됨 관리자 (PM) 은해결보고된이슈에대해검토한후이슈의상태를변경 이슈가제대로해결되지않고부족하다면 정보부족 상태로변경 이슈가제대로해결되었다면 닫음 상태로변경 이슈가제대로해결되었다고가정하고 닫음 상태로변경 이슈번호를클릭 25) 이슈폐쇄 이슈의상태를 닫음 를선택한뒤상태변경버튼을클릭 이슈노트를작성후 이슈닫기 버튼을클릭 26) 용어정리 - Bug Tracking SW 개발및테스트단계에서발생되는일종의문제점또는오동작건들을 Bug라고하며이러한 Bug들을지속적으로추적 / 관리하는것을 Bug Tracking 이라함 - Issue 프로젝트에비교적큰차질을가져올수있는 발생된 (Realized) 위험으로정의됨. 물론미리예상해두지못했던문제점 (Issue) 도있을수있음 - MySQL DBMS종류중하나이며, Oracle사에서인수하여지속적인 Update가이루어지고있음. Linux에서가장보편적으로사용하는 DBMS임 - Apache2 2.x 버전의 Apache 서버를말하며, Apache서버는 Linux OS에서가장보편적으로사용되는웹서버. 무료로배포되며 perl, cgi, tomcat등과연동하여서비스가가능함 Team 4 16

3. JFeature 이란? 1) 개요 JFeature는요구사항들을기록하고이들을 Junit Test Case와 Match함으로써 Process를단순화하는도구이다. 주요기능으로는요구사항기록, Report 생성하기가있다. 이를사용하기위해서는 Eclipse 3.4 이상의버전이사전에설치되어있어야하며 Windows, Linux, MAC OS, UNIX에서지원이된다. 2) 특징 - Junit 의 Test Case 메소드와통합이가능하다. - 요구사항의수정사항이생겼을때, 즉시뷰를제공하므로빠른편집이가능하다. - 요구사항의반영여부를 Coverage 형태로쉽게확인할수있다. - 요구사항들을편집하는확장인터페이스, 추가 Reporting 포맷, 요구사항스펙 Export 가가능하다. 3) 기능요약 주요기능요구사항반영여부확인타플러그인환경지원코드추적 IDE 내별도의편집기제공요구사항스펙반출리포팅 Round Trip Engineering 지원여부 Coverage 형태로지원 Junit을지원지원지원일부지원기본포맷지원지원 Team 4 17

4) 도구실행환경 - 지원 OS OS 32-bit 64-bit Windows XP O O Windows 7 O O Linux O O MAC OS X O O UNIX O O - 사전설치프로그램 JDK, Eclipse 가필요하다. 코드및 Eclipse 플러그인형태, 도구에포함되어있는형태 로 JFeature 의서비스가제공된다. 5) JFeature 설치방법 - http://www.technobuff.net/ 에서 JFeature 다운을받는다. - 파일을다운로드받은뒤, 압축을풀고 JFeature 를 Eclipse 가설치된폴더내의 plugins 폴더에복사한다. - Eclipse 를실행하여 File->Other->New 창에서추가된 JFeature 를확인한다. Team 4 18

6) JFeature 의주요기능 - 요구사항작성및 Junit 의 Test Case 메소드와요구사항의연결이가능 - 요구사항입력 : 직접입력하는방법, 파일을통한입력 (CSV, XML 파일읽기 ) - 요구사항저장 : JFeature 로정의된요구사항을파일로저장 (CSV 나 XML) - JFeature 의항목및구성 a. 화면구성 항목 Requirement ID Category Subcategory Title Target release Priority Must Have Test methods Dependencies Description 기능요구사항의고유의식별번호요구사항의상위분류요구사항의하위분류요구사항명칭요구사항의타겟배포버전요구사항의구현우선순위필수요구사항인지아닌지에대한판별여부요구사항과매핑될테스트케이스요구상항과연관된다른요구사항요구사항의상세한설명 b. 도구모음기능 항목 Add Requirement Delete Requirement Copy Requirement Paste Requirement Cut Requirement Move Requirement Up Move Requirement Down Round Trip Engineering 기능요구사항추가선택된요구사항삭제복사하기붙여넣기잘라내기요구사항목록에서위로이동요구사항목록에서아래로이동현재 JFeature 내에서쓰이고있는요구사항파일의변경시불러운 CSV 파일에도반영되게함. 또는 CSV 파일의변경시 JFeature 내에서쓰이고있는요구사항을파일에반영 Team 4 19

7) JFeature 사용예시 - 클래스생성 프로젝트선택 마우스우클릭 New Class Class 이름설정 Finish - 클래스구현 - 요구사항작성 File New Other JFeature New Requirements File Next File name - 요구사항입력 우클릭 Insert Requirement Below 해당항목에입력 - 요구사항을불러온다면 File Import Other Import Requirements Next 형식선택 Next Use Text Delimiter 텍스트구분형식선택 Indicates a required field Source field from Imported File Next 파일위치지정 - 요구사항을저장하고싶을때 File Export Other Export Requirements 형식선택 저장위치, 파일 이름지정 Finish - Round Trip Engineering 사용 : Import 한파일과요구사항의변경사항에대한동 기화 Round Trip Engineering 선택 항목선택 OK - Round Trip Engineering 의각기능 항목 Synchronize JFeature requirements file Synchronize external requirements file Synchronize using Requirement ID Synchronize using Requirement Title Append non-matching requirements 기능 JFeature 요구사항파일의변경사항을파일에변경 CSV, XML 파일을 JFeature 요구사항파일에적용요구사항 ID를이용하여비교후적용요구사항제목을이용하여비교후적용일치하지않는요구사항추가 Team 4 20

- Report 생성 a. Test Case Method 와연결 테스트할클래스선택 우클릭메뉴의 New Junit Test Case 그대로두고 Next 테스트할메소드체크 Finish 메소드의내용구현 Test Methods의오른쪽버튼을클릭 앞서작성한 Test Class 찾기 관련이있는 Test Class Method 선택 Append to Test Method b. Report 생성 프로젝트 Properies JFeature Associate Requirements File 반영할파 일선택 Run Run As JUnit Team 4 21

4. JUnit 이란? 1) 도구개요 도구개요 JUnit 은 Java 기반테스팅을위한프레임워크로, 단위모듈 (method) 이정확히구현되었는지를확인할수있는도구 소개주요기능카테고리커버리지세부카테고리도구난이도운영체제사전설치도구 Test Case 생성및실행, 오류추적 Testing Testing 테스트설계및실행하 Windows, Linux, Max OS X, UNIX Java 기반 IDE 1. 메소드와같은단위모듈별테스팅을가능케함으로서코드 품질을보장 2. 정확한단위테스팅을가능케함으로써통합테스팅시회귀결함 ( 모듈통합에의해발생하는결함 ) 을줄임 3. 다른모듈에의존하지않고, 원하는모듈만임의의순서대로수행할수있다 4. JFeature( 요구사항개발도구 ) 와통합되어요구사항의정확한구현비율을알수있다 Team 4 22

2) 기능요약 주요기능 지원내용 테스트범위 단위테스트 TDD 환경지원 지원 코드지원 지원 Test Suite 지원 UI Report 지원 Code Trace 지원, 실시간추적가능 3) 도구실행환경 - Window, Linux, Max OS X, UNIX : 32, 64-bit 지원 JUnit Java IDE (Eclipse, NetBeans 등 ) JDK (Java development kit) Windows, Linux, Max OS X, UNIX Team 4 23

4) 도구설치방법 Eclipse 를설치하면, Junit library 를추가해서사용할수있다. ㄱ. 프로젝트우클릭 -> Properties -> Java Build Path -> Libraries 탭클릭 ㄴ. 프로젝트우클릭 -> Build Path -> Configure Build Path -> Libraries 탭클릭 Team 4 24

Libraries 탭에가서 Add Library 버튼을클릭하면추가할수있는 Library 목록이보이는데그중 간정도에 Junit 이있다. Team 4 25

Location 경로를보면 Eclipse plugin에내장되어있다. 없는경우에는 Junit jar 파일을별도로다운받으면된다. Jar 파일을다운로드받아서 Class Path 경로에넣어주거나, maven을사용하는경우에는 maven 설정에 Junit dependency 값을넣어주어도된다. 추가된모습을볼수있다. 5) 도구기능소개 - 주요기능 : (1) 테스트하고자하는메소드에대해 Test Case를만들수있다, (2) 일부의특정테스트메소드를실행하지않거나특정테스트메소드만실행하고싶을때, 혹은테스트클래스를한데묶어서실행하고싶은경우 Test Suite를사용한다, (3) 단위테스트를실행하고테스트결과를빠르게확인할수있다 Team 4 26

- Test Case 작성하기 (1) 테스트하고자하는클래스를생성 ( 프로젝트선택 -> 마우스우클릭메뉴의 New -> Class -> Class이름설정 -> Finish) (2) 클래스의코드를작성한다 (3) 테스트하고자하는클래스에대해 Test Case를생성 ( 테스트를실행할클래스선택 -> 마우스우클릭메뉴의 New -> Junit Test Case) (4) Source folder, Package, Name, Superclass 등을그대로두고 Next (5) 클래스내의테스트하고자하는메소드체크 Finish (6) 테스트하고자하는메소드의내용을구현 ( 전체메소드에대해서구현한다 ) - Test Suite 작성하기 (1) Test 클래스를한데묶어서테스트 ( 본예시 ), 특정메소드만실행하거나하지않을때 사용 ( 메뉴의 File -> New -> Other -> Junit 선택 -> JUnitTestSuite -> Next) (2) 테스트할클래스를선택 Finish - 테스트실행및결과 (1) JUnit 테스트의실행 (Test Case 선택 -> RUN -> RUN As -> Junit Test ) (2) 단위테스트에성공시 ( 초록색막대 ), 실패시 ( 빨간색막대 ) 가표시된다. - 테스트실행을위한메뉴소개 (1) Tool bar 기능소개 Team 4 27

6) 도구평가 - 활용성 : 대부분의자바를지원하는도구에서사용이가능하다 - 범용성 : 뛰어난성능과넓은활용범위에의해대부분의도구에기능이들어있다. - 호환성 : 도구의버전을가리지않는다, 도구가가능한환경이면어떤환경에서도작동이가능하다. - 성능 : 빠르다도구에같이로드되어도성능상으로문제가없다. - 기타 : 기본으로들어있는플러그인이더라도, 필요한경우버전업이가능하며여러버전을동시에설치할수있다. Team 4 28

7) 용어정리 용어 Test Case 설명 특정한프로그램부분및경로를실행해보거나특정한요구사항에준수하는 지를확인하기위해개발된입력값, 실행조건, 그리고예상된결과로이루 어져있는하나의테스트세트 Test Suite 일정한순서에의하여수행될개별테스트들의집합, 또는패키지. Suite 는 응용분야나우선순위, 내용에연관된다 TDD 자동화된테스트로개발을이끌어가는개발방식을테스트주도개발이라칭 함. TDD 는분석기술이며, 설계기술이며, 개발의모든활동을구조화하는기 술 단위테스트 단위테스트는단위코드에서문제발생소지가있는모든부분을테스트하는 작업 Team 4 29

5. CTIP 개론 1) CI 개요 기존개발단계의후반에수행되던통합활동을일상적인개발활동에자연스럽게녹인것 이지속적통합 (CI - Continuous Integration) 이다. 2) CI 활동 - 개발자는소스저장소로부터최신소스를내려받는다 (Check out) - 개발자는코드를작성한후자신의개발기에서정상적으로동작하는지충분히검증한다 - 검증이끝난후개발자는작업내용을소스저장소에올린다 (Check in) - 개발자 ( 또는통합관리자또는자동화된시스템 ) 는통합서버에서방금작업한코드가반영 된전체코드내용에대한빌드를수행한다. - 만약빌드가실패할경우, 실패원인을분석하고문제를해결하여빌드가성공될수있도록 한다. 3) CI 활동의장점 - 위험을줄일수있다 - 수동으로수행해야하는반복작업을줄일수있다 - 언제, 어느장소에서도배포가능한소프트웨어를만들수있다 - 프로젝트에대한더나은가시성을제공한다 - 개발막바지의통합작업이필요없어지게된다. Team 4 30

4) CI 수행요건 - 단일소스저장소 (Source Repository) 를유지한다 - 빌드를자동화한다. - 빌드가자체적으로테스트가능하도록한다 - 모든사람은매일작업내용을커밋 (Commit) 한다 - 모든커밋들은통합서버의메인라인에반영한다 - 각빌드가빨리수행한다 - 운영환경과되도록비슷한환경에서테스트한다 - 최신결과물에쉽게접근할수있도록한다 - 현빌드상황을쉽게알수있도록한다 5) CTIP 개요 - CI 개념을 Java 기반의개발프로젝트에쉽게적용하기위한 Platform 이다. 6) CTIP 기능 - CI 서버를통한지속적통합및빌드 - 품질도구들을통한코드품질검토 ( 테스트및정적분석 ) - 빌드결과의배포및관련자에게통보 Team 4 31

7) CTIP 의구조 ] 8) CTIP 의구성 구성요소소스코드버전관리영역빌드및배포관리영역코드품질관리영역대상서버군 내용 CVS, SVN 등의소스코드버전관리시스템을사용하여프로젝트전체소스코드의일관성을유지한다. 개발자는버전관리시스템의 repository로부터최신소스를 check out하고, 작업내용을 check in 한다. CI 서버를통해지속적으로빌드를수행하고, 대상서버에대한배포작업을수행한다. 빌드주기는정해진시점에수행하거나 (nightly build), 버전관리시스템의 repository에변경이있을경우즉시수행될수있다 ( 아래와같은변경 ) - 소스코드버전관리시스템으로부터최신소스를받아온다 - 코드품질관리도구를실행한다 - 빌드결과를개발자에게통보한다 - 서버에빌드된어플리케이션을배포한다오픈소스코드검토도구를활용하여코드품질을확인하고, 결과를개발자에게통보한다. 다양한오픈소스및상용품질관리도구가개발되어있으므로필요에따라선택하여적용할수있다운영서버배포를위한스테이징서버, 테스트실행을위한테스트서버등을운영한다 Team 4 32