1. 도구개요 소개 주요기능 웹기반의버그및이슈관리시스템. 프로젝트관리및소프트웨어설계시, 단위별로사용자가작업한내용을기록할 수있으므로버그추적까지도유용하게사용가능 이슈보고 이슈상태변경 이슈알림메일보내기 카테고리 세부카테고리버그및이슈추적 커버리지 Bug Tracker 도구난이도하 라이선스형태 / 비용 GNU General Public License v2 / 무료사전설치도구 PHP, MySQL, Apache2 운영체제 Windows, Linux, Mac OS X, UNIX 도구버전 1.2.12 (2012. 11) 특징 각각의작업이나전체프로젝트에대해서작업진행상태를도식화가능 프로젝트변경이력에대한추적 / 관리및유지보수 프로젝트참여자들의작업내용을추가 / 보고 / 관리 적용회사 / 프로젝트관련도구제작사공식홈페이지 다양한 SW 개발업체들이사용 Bugzilla Group http://www.mantisbt.org 1
2. 기능요약 웹기반의버그및이슈관리시스템으로그룹개발시에발생한이슈나버그들을관리하기위한도구 주요기능오류추적 / 관리버그처리우선순위프로젝트별관리다른포맷으로의출력 E-mail 설정 지원내용지원지원지원지원지원 1
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 을필요로함 WAS (Apache2) PHP DBMS(MySQL 등 ) Windows / Linux / Mac OS / UNIX 1
4. 도구설치방법 세부목차 4.1 Autoset 다운로드 4.2 Autoset 설치하기 4.3 다운로드 4.4 Database 설정하기 4.5 Database 만들기 4.6 접속하기 4.7 한글설정하기 4.8 정보갱신하기 4.9 메일설정하기 4.10 admin 폴더삭제하기 1
4. 도구설치방법 4.1 Autoset 다운로드 (1/2) 사젂설치도구인 Autoset 다운 아래의사이트에서다운 www.autoset.org 무료다운로드클릭 2
4. 도구설치방법 4.1 Autoset 다운로드 (2/2) 설치프로그램다운 오토셋 6.3.1 선택 네모상자로표시되어있는링크클릭 3
4. 도구설치방법 4.2 Autoset 설치하기 (1/2) 다운받은후설치를시작 설치는 C:\AutoSet 폴더에함 4
4. 도구설치방법 4.2 Autoset 설치하기 (2/2) 설치중, 옵션은기본설정에따름 기본설정에프로그램바로가기는시작메뉴폴더에지정 설정을마친후, 완료버튼을클릭하여설치마침 5
4. 도구설치방법 4.3 다운로드 (1/6) 를다운 www.mantisbt.org 에접속 메뉴중 Download 클릭 6
4. 도구설치방법 4.3 다운로드 (2/6) Download BT 1.2.12 를클릭하여다운 클릭하면 SourceForge 사이트로이동 7
4. 도구설치방법 4.3 다운로드 (3/6) 1.2.12 버젂폴더클릭 8
4. 도구설치방법 4.3 다운로드 (4/6) mantisbt-1.2.12.tar.gz 를클릭하여다운 9
4. 도구설치방법 4.3 다운로드 (5/6) 다운받은후압축해제 mantisbt-1.2.12 라는폴더가생성됨 경로를쉽게하기위해 mantisbt-1.2.12 폴더이름을 mantis 로바꾼후, mantis 폴더안에 upload 라는폴더를생성 Upload 폴더는앞으로 upload 할파일이저장되는장소 10
4. 도구설치방법 4.3 다운로드 (6/6) mantis 폴더를 C:\AutoSet\public_html 로이동 11
4. 도구설치방법 4.4 Database 설정하기 (1/5) 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 의이름 12
4. 도구설치방법 4.4 Database 설정하기 (2/5) $g_administrator_email = 관리자 email 주소 관리자 email 주소에는해당관리자의 email 주소나본인의 email 주소작성 본매뉴얼에서는 rubyit0624@gmail.com 으로입력 // 테스트를위해본인계정의메일주소작성 13
4. 도구설치방법 4.4 Database 설정하기 (3/5) $g_fallback_language = Korean Fallback 기본언어를 Korean 으로변경 14
4. 도구설치방법 4.4 Database 설정하기 (4/5) 파일업로드설정을반드시변경 기본값은 DB에업로드되는설정이지만, 파일로저장하는것이좋음 $g_file_upload_method = DISK $g_allow_file_upload = ON 15
4. 도구설치방법 4.4 Database 설정하기 (5/5) 앞서생성한 Upload 폴더의젃대경로입력및최대업로드용량, 금지파일목록작성 $g_absolute_path_default_upload_folder = C:/AutoSet/public_html/mantis/upload/ ; $g_max_file_size = 5000000 ; $g_disallowed_files = php,html,htm ; 16
4. 도구설치방법 4.5 Database 만들기 (1/6) AutoSet 을관리자권한으로실행시켜서웹서버와 MySQL 을시작 17
4. 도구설치방법 4.5 Database 만들기 (2/6) 새 Database 생성 파일 phpmyadmin 접속 을통해 localhost 에연결 앞에서입력한 DB 사용자이름 : root, 암호 : autoset 을입력하여연결 18
4. 도구설치방법 4.5 Database 만들기 (3/6) 접속하여 새데이터베이스만들기 란에, 앞에서입력한 Database 이름 bugtracker 를입력하여만들기버튼클릭 19
4. 도구설치방법 4.5 Database 만들기 (4/6) 설정파일생성 http://localhost/mantis/admin/install.php 로접속 Admin Username 과 Admin Password 는앞에입력한 Username 과 Password 와통일하게입력 입력후, Install/Upgrade Database 버튼누름 20
4. 도구설치방법 4.5 Database 만들기 (5/6) 아래화면은설정이완료된화면 21
4. 도구설치방법 4.5 Database 만들기 (5/6) 완료후에 mantis 폴더에 config_inc.php 파일이생성됨. 22
4. 도구설치방법 4.5 Database 만들기 (1/6) http://localhost/mantis 로접속 Username 에는 administrator 를, Password 에는 root 를입력하고로그인 root 는기본 password 이므로, 접속후에변경을해야함 23
4. 도구설치방법 4.6 접속 (1/2) 접속한초기화면 24
4. 도구설치방법 4.6 접속 (2/2) 만약상단에, timezone 관련에러가발생시에는다음과같이파일을수정 mantis 폴더의 config_defaults_inc.php 파일을열어서다음내용삽입 date_default_timezone_set("asia/tokyo"); 25
4. 도구설치방법 4.7 한글설정하기 (1/3) 한글로된메뉴를사용하기위해 My Account - Preferences 누름 26
4. 도구설치방법 4.7 한글설정하기 (2/3) Language 를 Korean 로선택한뒤 Update Prefs 버튼을눌러설정적용 만약한글설정이되지않는경우에는임의의프로젝트를하나생성후, 적용함 27
4. 도구설치방법 4.7 한글설정하기 (3/3) DB 에저장되는데이터에서한글이올바르게표시되게하기위한작업 mantis 폴더안에 core 라는폴더가있고, 그안에 database_api.php 파일을열어다음을추가 $g_db Execute( set names utf8 ); 28
4. 도구설치방법 4.8 정보갱신 계정관리를눌러비밀번호, 실명, 메일을각각채운뒤정보갱신 메일은앞에서생성한이메일과동일한것으로입력 29
4. 도구설치방법 4.9 메일설정하기 (1/3) 여기서는 smtp 를사용하여 gmail 을이용하는방법을소개 C:\AutoSet\Server\conf\php.ini 파일을다음과같이수정 ;extension=php_openssl.dll extension=php_openssl.dll AutoSet 에서웹서버재시작 30
4. 도구설치방법 4.9 메일설정하기 (2/3) mantis 폴더의 config_defaults_inc.php 파일수정 31
4. 도구설치방법 4.9 메일설정하기 (3/3) 메일젂송테스트 http://localhost/mantis/admin/test_email.php 에접속하여테스트 32
4. 도구설치방법 4.10 admin 폴더삭제하기 의설정이완료되면, 보안상의문제가있을수있음으로 admin 폴더삭제 mantis 폴더안의 admin 폴더를삭제함. 33
5. 도구기능소개 세부목차 5.1 프로젝트생성 5.2 계정생성 5.3 프로젝트에계정할당 5.4 계정설정상태 5.5 계정생성확인 5.6 이슈보고 5.7 이슈보고서출력 5.8 이슈보고알림메일보내기 5.9 이슈보고알림메일확인 5.10 할당된이슈확인 5.11 이슈해결 5.12 이슈해결상태확인 5.13 이슈폐쇄 1
5. 도구기능소개 5.1 프로젝트생성 (1/3) 프로젝트생성 로그인후관리 프로젝트관리 새로운프로젝트생성 버튼클릭 2
5. 도구기능소개 5.1 프로젝트생성 (2/3) 프로젝트이름 : 웹사이트개발프로젝트 // 현재짂행중인프로젝트명을기입 상태 : 개발버젂 // 선택항목들중에해당하는것을항목을선택 상태보기 : 공개 // 공개, 비공개중선택 젂역분류상속 : 체크해제 // 독립적으로관리할경우체크해제 설명 : 프로젝트팀원들이이프로젝트에대해알수있게간단한설명기입 3
5. 도구기능소개 5.1 프로젝트생성 (3/3) 프로젝트추가된화면 4
5. 도구기능소개 5.2 계정생성 (1/2) 프로젝트에참여하는팀원입력 관리 사용자관리 계정생성버튼클릭 5
5. 도구기능소개 5.2 계정생성 (2/2) 항목정보를입력 사용자이름 : Website_member3 실명 : 김철수 이메일 : rubyit@naver.com 접근레벨 : 개발자 // 적젃한항목선택 필수사항들을기입한후사용자생성버튼클릭 6
5. 도구기능소개 5.3 프로젝트에계정할당 관리 사용자관리메뉴에서생성된계정 ( 팀원 ) 을확인하고프로젝트에추가 사용자 ID 를클릭하여추가 프로젝트를선택하여접근레벨을지정하고사용자추가버튼을클릭 7
5. 도구기능소개 5.4 계정설정상태 기본계정설정상태는초기에체크된상태를따름 ( 이메일보고에제한을두고싶을경우체크상태를바꿀수있음 ) 이메일 란을 모두 로설정하였기때문에이슈상태변경시마다메일이도착 8
5. 도구기능소개 5.5 계정생성확인 계정을추가하고나면추가된팀원에게계정생성메일이발송됨 메일에링크되어있는주소로접속 비밀번호를설정 9
5. 도구기능소개 5.6 이슈보고 (1/4) 프로젝트짂행도중일정보다작업이지연되는경우이슈가발생했다고말할수있음 이때, 이슈보고하기기능을이용하여팀원과 PM 에게이슈를보고할수있음 10
5. 도구기능소개 5.6 이슈보고 (2/4) 이슈보고하기 이슈보고하기메뉴에서웹사이트개발프로젝트를선택한뒤프로젝트선택버튼클릭 만약프로젝트선택화면이나오지않을경우, 우측상단의프로젝트에서 모든프로젝트 선택 11
5. 도구기능소개 5.6 이슈보고 (3/4) 이슈에대한정보를입력한뒤보고서제출버튼을클릭 12
5. 도구기능소개 5.6 이슈보고 (4/4) 메뉴의내페이지화면에서이슈보고를확인 화면하단에색으로구분하여이슈상황에대해분류하고있음 새로운이슈 : 이슈로등록하여아직확인되지않은이슈 정보부족 : 정보가더필요하며처음보고한사람은주목해야함 이슈검토 : 이슈에대해조사했으나확인이나할당되지않은상태이며, 해당개발자는이슈로인정하지않을수있음을유저에게알림 확인된이슈 : 개발자가이슈내용을확인하고재현할수있음. 보통정보를갱신하는사람 (updater) 이나다른개발자가설정 할당된이슈 : 현재개발자에게할당되어처리중 해결된이슈 : 이슈를수정한것으로판단하며, 이에대한확인을기다림 닫음 : 이슈가완젂해결되어폐쇄 13
5. 도구기능소개 5.7 이슈보고서출력 (1/5) 이슈보기에서이슈에대한보고서를출력할수있고, CSV 내보내기기능이있음 보고서출력기능 14
5. 도구기능소개 5.7 이슈보고서출력 (2/5) Explorer 창에이슈에대한간단한보고서출력이가능 표시된아이콘을클릭 Explorer 창에보고서가출력 15
5. 도구기능소개 5.7 이슈보고서출력 (3/5) Word 로이슈에대한자세한보고서출력이가능 표시된아이콘을클릭 열기버튼을클릭 16
5. 도구기능소개 5.7 이슈보고서출력 (4/5) Word 에보고서가출력됨 이슈에대한이슈번호, 해당프로젝트, 중요도, 재발생가능성, 보고날짜, 최종갱신날짜등이슈에대한자세한보고가가능 17
5. 도구기능소개 5.7 이슈보고서출력 (5/5) 현재프로젝트의이슈에대한젂체적인상황보기가가능 요약을클릭 젂체적인이슈를요약한보고가가능 보고서출력버튼을클릭하면보고서가출력 18
5. 도구기능소개 5.8 이슈보고알림메일보내기 (1/2) 이슈번호를클릭하면이슈를갱신할수있고, 팀원들에게알림메일을보낼수있음 이슈번호클릭 19
5. 도구기능소개 5.8 이슈보고알림메일보내기 (2/2) 알림메일보내기클릭 간단한메시지를입력하여젂송버튼클릭 20
5. 도구기능소개 5.9 이슈보고알림메일확인 이슈보고에대한메일이왔는지확인 프로젝트관리자로부터이슈발생메일이도착함 메일에링크되어있는주소로접속하여이슈를확인 21
5. 도구기능소개 5.10 할당된이슈확인 (1/3) 나에게할당된이슈번호를클릭 현재 website_member3 이로그인한상태 22
5. 도구기능소개 5.10 할당된이슈확인 (2/3) 본인에게할당된이슈라면확인후에이슈의상태를 확인된이슈 상태로변경 이슈노트추가란 에다른팀원들이볼수있도록상태변경에대한이유작성 확인된이슈버튼을눌러상태를변경 23
5. 도구기능소개 5.10 할당된이슈확인 (3/3) 이슈의상태가 확인된이슈 로바뀜 24
5. 도구기능소개 5.11 이슈해결 (1/4) 할당자는이슈를확인한뒤이슈를해결 ( 프로젝트관리자의지시대로작업에참여 ) 이슈보기메뉴에서이슈번호클릭 25
5. 도구기능소개 5.11 이슈해결 (2/4) 이슈를해결한뒤에 해결된이슈 상태로변경 상태변경에서 해결된이슈 로변경하고상태변경버튼을클릭 26
5. 도구기능소개 5.11 이슈해결 (3/4) 이슈해결상태선택 해결상태 수정됨 : 시험완료됐으며, 이슈상태는해결되었다고표시 문제제기 : 이젂에해결했지만, 당시처리결과가만족스럽지않거나정확하게처리되지않아다시발생한상태 재현할수없음 : 이슈를재현할수없으며코드를살펴봐도파악할수없는상태이고추가적인정보가들어오면다시할당하도록함 수정할수없음 : 이번버젂에서는수정할수없는문제 중복 : 기본의이슈와중복된것으로중복된이슈번호필요 ( # 이슈번호 로표시 ) 보류 (suspended): 중요하지않은문제로수정을보류 수정계획없음 중복된이슈번호 : 해결상태를중복으로선택하였을경우중복된이슈번호를알려줌 이슈노트추가 : 해결상태에대해서프로젝트팀원들이볼수있도록 Comment 를작성 27
5. 도구기능소개 5.11 이슈해결 (4/4) 모든입력란을작성하고이슈해결버튼을클릭 28
5. 도구기능소개 5.12 이슈해결상태확인 관리자가이슈가해결된후로그인한화면 이슈의상태가해결된이슈의색으로변경됨 관리자 (PM) 은해결보고된이슈에대해검토한후이슈의상태를변경 이슈가제대로해결되지않고부족하다면 정보부족 상태로변경 이슈가제대로해결되었다면 닫음 상태로변경 이슈가제대로해결되었다고가정하고 닫음 상태로변경 이슈번호를클릭 29
5. 도구기능소개 5.13 이슈폐쇄 (1/2) 이슈의상태를 닫음 를선택한뒤상태변경버튼을클릭 이슈노트를작성후 이슈닫기 버튼을클릭 30
5. 도구기능소개 5.13 이슈폐쇄 (2/2) 이슈를폐쇄시킨후메뉴의 내페이지 를클릭한화면 할당되거나해결된이슈가없음 ( 이슈가폐쇄되어졲재하지않음 ) 31
6. 도구활용예제 세부목차 6.1 예제설명 6.2 팀원계정생성 ( 관리자 ) 6.3 프로젝트생성 ( 관리자 ) 6.4 이슈보고 ( 관리자 ) 6.5 이슈알림메일보내기 ( 관리자 ) 6.6 이슈알림메일확인 ( 팀원 ) 6.7 확인된이슈로변경 ( 팀원 ) 6.8 이슈상태변경메일확인 ( 팀원 ) 6.9 해결된이슈로변경 ( 팀원 ) 6.10 해결된이슈로변경메일확인 ( 관리자 ) 6.11 닫은이슈로변경 ( 관리자 ) 6.12 닫은이슈로변경메일확인 ( 팀원 ) 1
6. 도구활용예제 6.1 예제설명 프로젝트시나리오 A회사는도서관홈페이지개설을의뢰받음 프로젝트참여인원은 4명 (PM 포함 ) 임 현재단계는개발단계이다. 그러나갑작스러운고객의요구사항추가요청이발생 현재고객과의의견조율로일정이중단된상태 관리자 (PM) 은발생한이슈의해결과정을회의없이팀원에게메일로알려주기로결정 이슈보고상황에대해서메일로즉각알람이가능한 를이용하여알릴예정» 프로젝트이슈발생 요구사항추가요청 추가요청사항 도서관사서와실시갂 Q&A 기능추가요청 문자메시지로도서반납예정일자동알림기능추가요청 2
6. 도구활용예제 6.2 팀원계정생성 [ 관리자 ] 관리자 (PM) 는관리메뉴의사용자관리에서팀원의계정을생성 4 명의팀원계정이생성 3
6. 도구활용예제 6.3 프로젝트생성 [ 관리자 ] 관리메뉴의프로젝트관리에서프로젝트를생성 아래화면은 도서관홈페이지개설 프로젝트가생성된상태 프로젝트명을클릭하여팀원의역할을할당 사용자 ID 각각을클릭하여접근레벨을지정하고사용자추가버튼을클릭 4
6. 도구활용예제 6.4 이슈보고 [ 관리자 ] (1/2) 이슈보고를함 프로젝트선택 5
6. 도구활용예제 6.4 이슈보고 [ 관리자 ] (2/2) 프로젝트에발생한이슈에대한설명을적어보고서제출 이슈의재발생가능성, 중요도, 우선순위, 요약, 설명을작성하여제출 6
6. 도구활용예제 6.5 이슈알림메일보내기 [ 관리자 ] (1/2) 이슈를보고한뒤, 팀원에게이슈알림메일보냄 7
6. 도구활용예제 6.5 이슈알림메일보내기 [ 관리자 ] (2/2) 이슈에대한내용을작성하여전송 8
6. 도구활용예제 6.6 이슈알림메일확인 [ 관리자 ] 팀원이메일을확인 이슈보고에대한메일이도착 팀원은전송된주소로들어가서이슈를확인 9
6. 도구활용예제 6.7 확인된이슈로변경 [ 팀원 ] 확인한뒤, 할당된팀원은이슈의상태를 확인된이슈 로변경 member3 에게할당하였으므로 member3 이로그인하였을때할당된표시가보임 아래화면은 확인된이슈 로바꾼상태 10
6. 도구활용예제 6.8 이슈상태변경메일확인 [ 팀원 ] 아래화면은 member3 에게이슈가할당되었다고온메일임 11
6. 도구활용예제 6.9 해결된이슈로변경 [ 팀원 ] 이슈의해결을할당받은팀원 (member3) 은고객과의인터뷰를통해요구사항을조율 요구사항이다시확정되어이슈가해결되면이슈상태를 해결된이슈 로변경 이슈의상태가 해결된이슈 로바뀐화면 12
6. 도구활용예제 6.10 해결된이슈로변경메일확인 [ 관리자 ] 아래화면은이슈가해결되었다고온메일임 13
6. 도구활용예제 6.11 닫은이슈로변경 [ 관리자 ] 관리자는이슈의해결상태를점검 이슈가제대로해결되었고, 이슈가존재할필요가없다면이슈를닫음 14
6. 도구활용예제 6.12 닫은이슈로변경메일확인 [ 팀원 ] 아래화면은이슈가닫혔다고보고된메일임 15
7. FAQ 질문 1) 알림메일보내기는계정이생성된팀원모두가능한가요? 답변 1 : 아닙니다. 알림메일보내기는계정설정시접근권한을보고가능으로하거나관리자가이슈를할당해주어야알림메일보내기가가능합니다. 질문 2) 리눅스에서도사용이가능한가요? 답변 2 : 네. 가능합니다. Apache2, PHP5, MySQL 기반으로동작하기때문에, 리눅스에서도서버를구축할수있습니다. 질문 3) 다른 Bug 관리툴에비해서장점은어떤점이있나요? 답변 3 : 비슷한관리툴중하나인 Bugzilla 에비해서빠른성능을보이며, 직관적인인터페이스를가짐으로써사용하기가편리한장점이있습니다. 1
8. 도구평가 활용성 웹기반에서동작하기때문에, 어느상황에서도접속이가능함 체계적인버그관리를통하여, 소프트웨어품질향상에도움을줌 범용성 추가모듈을지원함으로써, 다양한기능들을사용할수있음 호환성 크로스플랫폼을지원함으로써, 구축시 OS 를가리지않음 성능 비슷한 Bug Tracking 툴인 Bugzilla보다빠른성능을가짐 기타 활발하게업데이트가됨으로써, 앞으로도많은기대가됨 도구평가의견 다른 Bug Tracking 툴들에비해서비교적빠른성능을가짐 웹기반의툴로서서버의 Setting 및설치만으로쉽게사용하기가편리함 보고서출력시에따로양식을만들지않아도 에서바로출력이가능함 1
9. 용어정리 본매뉴얼에서사용하고있는용어의정리 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 등과연동하여서비스가가능함 1