정보시스템분야 Stack 통합 Test 결과보고서 [ Flyspray ] 2015. 09.
목 차 I. Stack 통합테스트개요 1 1. 목적 1 II. 테스트대상소개 2 1. Flyspray 소개 2 2. Flyspray 주요기능및특징 4 3. Flyspray 시스템요구사항 5 III. Stack 통합테스트 6 1. 테스트환경 6 2. 테스트접근방법 8 3. 테스트수행 10 4. 테스트수행결과 11 IV. 종합 12 참고자료 13 [ 별첨1] Flyspray 테스트케이스
I. Stack 통합테스트개요 공개SW Stack 통합테스트는여러공개SW들의조합으로시스템 Stack을구성한후 Stack을구성하는공개SW의상호운용성에중점을두고기능및성능테스트시나리오를개발하여테스트를진행한다. 본통합테스트를통해안정적인 Stack 정보를제공하여민간및공공정보시스템개발및도입시활용될수있도록한다. 1. 목적 공개SW Stack 통합테스트수행목적ㅇ공개SW로구성된 Stack이유기적으로잘동작함을확인ㅇ다양한 Stack 구성에기반을둔테스트를통해안정된 Stack 조합규명ㅇ공개SW 시스템도입을위한 Stack 참조모델의신뢰성정보로활용ㅇ공개SW의신뢰성과범용성에대한사용자인식제고 - 1 -
II. 테스트대상소개 1. Flyspray 소개 Flyspray는소프트웨어개발및프로젝트관리를지원하기위해 PHP로개발된웹기반버그트래킹시스템이다. Flyspray는복수프로젝트를대상으로업무관리측면에서의존성 Graph를포함한작업별모니터링기능과 E-mail, xmpp등을바탕으로한알림기능을제공한다. 또한, 역할구분에따른 Permission 관리기능과다양한타입의파일첨부관리기능을제공함으로써효율적인업무할당및진행관리를할수있는사용자환경을제공한다. Psi Jabber Client 프로젝트의일환으로시작개발된 Flyspray는현재, GPL 2.1 라이선스가적용되고있으며, 소프트웨어개발프로세스에따른발생이슈관리및버그추적관리기능을제공한다. [ 그림 1. Flyspray 주요사용화면구성 ] - 2 -
2. Flyspray 주요기능및특징 Flyspray는웹기반사용자환경에서프로젝트진행에필요한업무분장및역할구분에따라세분화된 Permission 관리기능을바탕으로단위업무별진행관리와개발과정에서의발생버그관련한이슈트래킹기능을제공하며 Dokuwiki 및 HTML 기준양식의문서관리기능과의존성그래프를통한모니터링기능을제공한다. Flyspray의특징 > PHP로작성되어 OS 독립적인 Web 기반사용자환경제공 > 프로젝트레벨설정및계정별역할구분에따른그룹단위 Permission 적용으로체계적인업무분배및스케줄링기능제공 > Dokuwiki 및 HTML 양식을기반으로한문서관리및 Customized Report 기능제공 Flyspray의주요기능카테고리 > Project Level Configuration 기능 - Default Category Owner 설정, 업무상세표기관리및계정별프로젝트접근성설정관리 > User Management 기능 - Global 및프로젝트별그룹단위의 Permission 설정관리 > Task Management 기능 - Searching Tasks : 업무리스트조회관리 - Viewing and Editing Task Details : 업무단위내역확인및변경관리 - Dependencies : 업무단위간상관관계설정및확인관리 - Private Tasks : 민감한정보보유업무에대한보안설정관리 - 3 -
- Comments and Attachments : 업무수행관련이력관리및관련정보의파일등록관리 - Notifications : Trigger 설정에의한업무진행및변동사항관리 - Reminders : 개발업무담당자별메시지전송및스케줄관리 - Closing Tasks : 담당자별업무단위정보수행관리 - History : 그룹멤버단위의업무할당및수행이력관리 - 4 -
3. Flyspray 시스템요구사항 Flyspray 시스템요구사항 항목 OS 정보 - Windows, OS X, Solaris, Linux 환경지원 PHP - 최소 5.3.2 이상 ( 버전 5.4 이상권장 ) Web server - Apache ( 최신안정버전권장 ) DB - MySQL ( 버전 5.x 이상 ) - PostgreSQL ( 버전 8.x 이상 ) [ 표 1. Flyspray 시스템요구사항 ] 관련상세정보는아래의링크내역참조 [1] 기능 / 특징세부 - http://www.flyspray.org/manual/ [2] 설치 / 유저가이드 - http://www.flyspray.org/manual/install/ - http://www.flyspray.org/docs/requirements/ [3] 공식 Repository/ 다운로드 - http://www.flyspray.org/docs/download/ - 5 -
III. Stack 통합테스트 1. 테스트환경 Flyspray SW 환경 SW Version Ubuntu 12.04 LTS (64 비트 ) Flyspray 0.9.9.7 ( 최신안정버전 ) PHP 5.3.10 DB (MySQL) Apache Ver 14.14 Distrib 5.5.44, for debian-linux-gnu (x86_64) 최신안정버전 [ 표 2-1. 테스트 SW 환경 ] 참고 - Ubuntu 환경에서 Flyspray DB 구성시, Flyspray 설치진행과정에서사용될 로컬유저계정에스키마관련관리자레벨의권한사전설정이필요 Stack 환경 Stack OS 네트워크정보 (IP) A (Server) Ubuntu 12.04 LTS 121.162.249.96 A (Client 1) Ubuntu 12.04 LTS 121.162.249.94 [ 표 2-2. Stack 환경 ] HW 환경 제조사모델명 CPU MEM Disk NIC HP dc7900 CMT Quad-Core 2.66Ghz~4P 3.6GiB 265GB Gigabit 1Port [ 표 2-3. HW 환경 ] 동일사양 HW 조건의 PC 2 대로서버, 클라이언트환경구성하여테스트진행 - 6 -
Flyspray 환경설정시참고사항 - 필수구성요소설치후관리환경설정과정에서웹브라우저인터페이스상 Directory and File Permissions 항목관련에러발생확인 > 해당디렉토리및파일생성과접근권한설정변경으로문제해결후프로세스진행필요 상기에러발생상태화면 ( 좌측 ) 및문제해결후상태화면 ( 우측 ) 관련이하, 발생에러해결절차참조 > 웹브라우저접속 (http://localhost주소/flyspray/setup) > Error 확인및 debugging (Directory and File Permission 항목 ) > cache 및 attachements 디렉토리에대하여 chmod R 777 디렉토리명 명령실행으로권한변경 > flyspray.conf.php 파일만들고 chmod 777 파일명 명령실행으로권한변경 - 7 -
2. 테스트접근방법 Flyspray 는소프트웨어개발및프로젝트관리환경에대한웹기반사용자인터페이스를제공한다. 본테스트는서버, 클라이언트환경을구성하여 Flyspray 의설치및프로젝트운용에따른사용자시나리오를토대로 Flyspray 주요기능요소의기능신뢰성을확보하며, 환경구성의안정성과 Web UI 환경의호환성을확인하는데주된테스트방향성과목적을두고수행되었다. 탐색적테스팅 (Exploratory Testing) 탐색적테스팅은테스트엔지니어의지적능력을최대한공유, 활용하는것을목적으로하는테스트접근법으로테스트를수행할대상을실행시켜사용함과동시에사용측면에서문제가되는부분에집중하여테스트를설계및계획한다. 이러한과정은효율적진행을위한 Time Boxing을통해수행되므로테스트케이스작성을최소화할수있고, 상대적으로적은시간에집중적인테스트를가능하게한다. 리스크기반테스트 (Risk based Testing) 리스크기반테스팅기법은테스트대상에비해서테스트자원이부족한경우효과적이고, 효율적인테스트수행을위해적용될수있다. 해당기법은크게리스크식별과리스크분석, 그리고리스크계획의세단계로구분진행된다. 리스크식별단계에서는제품품질관점에서테스트대상이될항목을식별하고, 프로젝트나제품에대한리스크요소를식별한다. 리스크분석단계에서는장애발생가능성과장애로인한영향을 - 8 -
식별하고리스크우선순위를결정한다. 마지막으로리스크계획단계에서는리스크의우선순위에따른대처방안및완화정책을수립하며, 이후테스트수행시커버리지를고려하여선택과집중을통해테스트를수행하게된다. 시나리오테스트시나리오테스트기법은단일기능에대한결함여부를확인하는것이아니라, 서로다른컴포넌트사이의상호작용과간섭으로발생할수있는결함을발견하기위한기법이다. - 9 -
3. 테스트수행테스트수행관련세부내역은별첨 Flyspray 테스트케이스 문서를참고한다. 탐색적테스트현황이하, 테스트현황의차터항목구분은각기능아이템항목별세부구분항목으로서사용자시나리오를기반으로정의되었다. 기능아이템 기본차터 테스트아이디어 Flyspray 기본환경관리 1 6 Flyspray 프로젝트구성관리 2 25 Flyspray 운용환경관리 2 5 합 계 5 36 [ 표 3. 테스트아이디어현황 ] - 기본환경관리카테고리에서는대상 SW의설치및기본환경구성측면에서안정성확인과계정생성에따른 Web 기반운용환경별접속기능확인을중심으로테스트진행 - 프로젝트구성관리카테고리에서는프로젝트레벨설정및계정별역할구분에따른그룹단위 Permission 적용하여개발프로젝트의주요프로세스기준업무단위관리기능과테스트관련이슈관리기능을중심으로테스트진행 - 운용환경관리카테고리에서는시스템의 Web 서버연동에따라제공되는 Web UI 상에서주요기능카테고리별기능항목의동작정상성확인및 Web 환경호환성확인을중심으로테스트진행 - 10 -
4. 테스트수행결과 Flyspray 테스트를수행한결과기능카테고리별정리된내용은아래와 같다. 기능 분류 테스트아이디어 PASS FAIL N/T N/A Flyspray 기본환경관리 6 6 0 0 0 Flyspray 프로젝트구성관리 25 25 0 0 0 Flyspray 운용환경관리 5 5 0 0 0 [ 표 4. 테스트결과 ] - 상기테스트는프로젝트운용형태에따라 Standalone 서버를적용한시스템카테고리와 Web 서버를적용한시스템카테고리를구분하고, 사용자시나리오를반영하여 Flyspray 시스템의기능정상성확보를중점으로수행함 - Ubuntu OS환경을기반으로 Flyspray 시스템의서버, 클라이언트환경을구축하고주요관리환경인 Web 브라우저 UI 상에서각기능카테고리에따라관리시스템의구동관련주요기능동작들을확인한결과환경구성및기능관련한심각한오류및치명적장애이슈는발견되지않음 - 11 -
IV. 종합 Flyspray 테스트수행결과, 공개 SW로구성된 Stack 환경에서치명적결함, 이슈발생없이시스템이설치및설정관리됨을확인하였으며, 개발프로젝트의업무관리프로세스관련주요제반기능들이각기능단위 resource들과유기적으로동작함을확인하였다. Flyspray는 Permission의 Group 단위설정으로계정별세부적인업무정보생성관리기능을제공하며, 각업무단위정보에대한상호의존관계설정관리및 Trigger설정에따른 Notification 기능과업무담당자별 Reminder 관리를통해체계적인업무프로세스관리를가능케한다. Flyspray 는 PHP로개발되어웹기반사용자환경을제공하는오픈소스이슈관리도구로프로젝트및업무단위별모니터링및로드맵기능과다양한형식의파일관리를포함한이력관리기능을제공하여소프트웨어개발프로젝트관리환경에유용한솔루션으로적용될수있다. - 12 -
참고자료 [1] Flyspray 공식사이트 - http://www.flyspray.org/ [2] 설치가이드 / 유저가이드 - http://www.flyspray.org/manual/ - http://www.flyspray.org/manual/install/ [3] 배포 / 개발관련 - https://github.com/flyspray/flyspray - http://www.flyspray.org/docs/download/ - http://www.flyspray.org/devel/contribute/ [4] 포럼 / 커뮤니티 - http://www.flyspray.org/community/mailing-list/ - http://www.flyspray.org/community/world-users/ - 13 -