OSS WEB 분야 Stack 통합 Test 결과보고서 [ MediaWiki ] 2015. 11.
목 차 I. Stack 통합테스트개요 1 1. 목적 1 II. 테스트대상소개 2 1. MediaWiki 소개 2 2. MediaWiki 주요기능 4 3. MediaWiki 고려사항 5 4. MediaWiki 시스템요구사항 6 III. Stack 통합테스트 7 1. 테스트환경 7 2. 테스트접근방법 8 3. 테스트수행 10 4. 테스트수행결과 13 IV. 종합 14 참고자료 15 [ 별첨1] 공개SW MediaWiki 선정지표테스트결과 [ 별첨2] MediaWiki 테스트케이스
I. Stack 통합테스트개요 공개SW Stack 통합테스트는여러공개SW들의조합으로시스템 Stack을구성한후 Stack을구성하는공개SW의상호운용성에중점을두고기능및성능테스트시나리오를개발하여테스트를진행한다. 본통합테스트를통해안정적인 Stack 정보를제공하여민간및공공정보시스템개발및도입시활용될수있도록한다. 1. 목적 공개SW Stack 통합테스트수행목적ㅇ공개SW로구성된 Stack이유기적으로잘동작함을확인ㅇ다양한 Stack 구성에기반을둔테스트를통해안정된 Stack 조합규명ㅇ공개SW 시스템도입을위한 Stack 참조모델의신뢰성정보로활용ㅇ공개SW의신뢰성과범용성에대한사용자인식제고 - 1 -
II. 테스트대상소개 1. MediaWiki 소개 MediaWiki 는사용자들끼리협업을통하여웹사이트의컨텐츠를구성할수있도록해주는서버프로그램이다. 접속한사용자모두웹페이지자체를구성할수있으며, GNU 일반공중사용허가서 (GPL) 를따르는서버기반의 Free Software 이다. 하루에수백만명이방문하는웹사이트를위한대규모서버팜에서운용되도록설계되었다. 문서작성에는 MediaWiki의위키텍스트포맷을사용하기때문에, XHTML이나 CSS에대한지식이없어도쉽게작성하고편집할수있다. 사용자가편집한내용을문서에반영할경우, MediaWiki 는이전의내용을삭제하지않고그내용을데이터베이스에저장하기때문에문서훼손이나스팸광고가있어도손쉽게이전의내용으로복구할수있다. MediaWiki 는그림이나멀티미디어파일도파일시스템에저장해관리할수있고, 사용자가많은큰위키의경우캐시를지원하며스퀴드프록시같은캐시서버와도쉽게연동할수있다. 그밖에사용용도로는인트라넷또는엑스트라넷을위한프레임워크, 기본프로젝트관리시스템, 사전과같은용어, 또는위키낱말사전등을사용할때많이사용된다. - 2 -
MediaWiki의주요특징및구성 Free Software로써누구나자유롭게이용할수있다. MySQL 같은데이터베이스에저장된정보를처리하고표시하기위해 PHP를활용하여구현된, 기능이아주강력하고확장성이뛰어나며, 기능이풍부한위키구현체이다. MediaWiki 는크로스플랫폼 (Windows, Mac, Linux, Solaris, FreeBSD, NetWare) 을지원한다. 회사또는조직의구성원에대한포털사이트로사용및기본프로젝트관리시스템, 백과사전, 위키피디아등으로사용할수있다. 구성항목내용 Database server MySQL, PostgreSQL Webserver IIS, Apache2, Sun Java System Server operating system Linux (Ubuntu) Server hardware x86-64 [ 표 2-1. MediaWiki 구성항목 ] [ 그림 2-1. MediaWiki MAIN Page 화면 ] - 3 -
2. MediaWiki 주요기능 MediaWiki 는초기설정, 관리자개인설정, 사용자개인설정, 관리자메뉴및도구편집, 사용자메뉴및도구편집, 접속, 데이터보기및편집기능을제공한다. 주요기능별내용은아래와같다. 1) 초기설정 > MediaWiki Set Up 설정 > LocalSettings.php 설정 2) 관리자개인설정 > 계정 & 토론 > 환경설정 > 주시문서목록 > 주시문서기여 3) 사용자개인설정 > 계정 & 토론 > 환경설정 > 주시문서목록 > 주시문서기여 4) 관리자메뉴및도구편집 > 메인메뉴변경및도구메뉴 > 개인설정메뉴선택후도구메뉴 5) 사용자메뉴및도구편집 > 메인메뉴변경및도구메뉴 > 개인설정메뉴선택후도구메뉴 - 4 -
6) 접속 > 여러계정으로 Server PC 접속 > 한브라우저에탭추가하여중복로그인 > Server PC 종료후다른 PC로접속 7) 데이터보기및편집 > 관리자계정으로로그인하여문서작성후사용자계정으로편집 > Server PC 재시작후접속하여문서이상유무확인 3. MediaWiki 고려사항위키프로그램특성상문서가 Open 되어있고누구나편집을할수있기때문에문서관리가어렵다. 위키문법 ( 위키프로그램에서만쓰이는편집방법 ) 을사용하여요즘블로그처럼 GUI editing 혹은 WYSIWYG ( 위지웍 ) 편집방법에익숙한사람들로서는초기에익숙해지기힘들고, 이로인해서사용이제한될수있다. 소규모프로젝트가아닌대형프로젝트를대상으로개발되었기때문에소규모로쓰기에는프로그램이무거운편이다. - 5 -
4. MediaWiki 시스템요구사항 MediaWiki 시스템 (1.25.3 버전기준 ) 소프트웨어요구사항 항목 요구사항 PHP - 5.1 버전권장, 최소지원버전 5.0 Database server Web server - MySQL 4.0 이상, PostgreSQL 8.1 이상 - Apache2 2.2.22 이상, IIS 6.0 이상, Sun Java System Web Server 7.0 이상 [ 표 3-1. MediaWiki 시스템소프트웨어요구사항 ] MediaWiki 시스템 (1.25.3 버전기준 ) 하드웨어요구사항 Server 분류항목요구사항 Staff Client Hardware RAM - Desktop, Server, Virtual image - 1GB 이상 OS - Linux ( 상세사항은소프트웨어요구사항참조 ) Ports - 80 과 443 OS Network RAM Ports - 80 과 443 - Windows (XP, 2003, or 2008), Mac OS X, or Linux, Solaris 10, NetWare, FreeBSD - High speed Internet connection - 512Mb [ 표 3-1. MediaWiki 시스템하드웨어요구사항 ] 관련상세정보는아래의링크정보참조 [1] 공식사이트 - https://www.mediawiki.org/wiki/mediawiki [2] SW다운로드 - https://www.mediawiki.org/wiki/download [3] 설치가이드 - https://www.mediawiki.org/wiki/manual:installing_mediawiki - 6 -
III. Stack 통합테스트 1. 테스트환경 MediaWiki 시스템테스트환경 소프트웨어 버전 Ubuntu 12.04 LTS (64비트) MediaWiki 1.25.3 PostgreSQL 9.1.19 Apache2 2.2.22 [ 표 3-1. 테스트소프트웨어환경 ] Stack 환경 Stack OS 네트워크정보 (IP) A (Server) Ubuntu 12.04 LTS 121.162.249.93 A (Client) Windows7 121.162.249.104 [ 표 3-2. Stack 환경 ] HW 환경 제조사모델명 CPU MEM Disk NIC HP (Server) LG (Client) DC7900 CMT Quad-Core 2.66Ghz~4P 3.6GB 265GB Gigabit 1Port LG15N54 Core(TM) i5-4510m 2.60GHz 8.0GB 128GB Gigabit 1Port [ 표 3-3. HW 환경 ] - 7 -
2. 테스트접근방법 MediaWiki 는위키프로그램으로누구나손쉽게사용할수있는시스템환경을제공하므로사용자환경측면에서주요카테고리별기능확인을주된테스트방향과목적및범위로설정하였다. 본테스트에서는리스크분석을통해 MediaWiki 의기능항목들에대한기능적 / 기술적아이템을정의하였다. 특히위키프로그램으로, 그에맞는역할을검증하는차원에서관리자또는사용자로그인시메뉴확인과문서작성및문서편집그리고데이터손실여부등기능테스트에중점을두었다. 또한, 각정의된아이템별사용자시나리오를바탕으로테스트아이디어를도출하였다. 탐색적테스팅 (Exploratory Testing) 탐색적테스팅은테스트엔지니어의지적능력을최대한공유, 활용하는것을목적으로하는테스트접근법으로테스트를수행할대상을실행시켜사용함과동시에사용측면에서문제가되는부분에집중하여테스트를설계및계획한다. 이러한과정은효율적진행을위한 Time Boxing을통해수행되므로테스트케이스작성을최소화할수있고, 상대적으로적은시간에집중적인테스트를가능하게한다. 리스크기반테스트 (Risk-based Testing) 리스크기반테스팅기법은테스트대상에비해서테스트자원이부족한경우효과적이고, 효율적인테스트수행을위해적용될수있다. 해당기법은크게리스크식별과리스크분석, 그리고리스크계획의세단계로구분진행된다. - 8 -
리스크식별단계에서는제품품질관점에서테스트대상이될항목을식별하고, 프로젝트나제품에대한리스크요소를식별한다. 리스크분석단계에서는장애발생가능성과장애로인한영향을식별하고리스크우선순위를결정한다. 마지막으로리스크계획단계에서는리스크의우선순위에따른대처방안및완화정책을수립하며, 이후테스트수행시커버리지를고려하여선택과집중을통해테스트를수행하게된다. 시나리오테스트시나리오테스트기법은단일기능에대한결함여부를확인하는것이아니라, 서로다른컴포넌트사이의상호작용과간섭으로발생할수있는결함을발견하기위한기법이다. - 9 -
3. 테스트수행 테스트수행관련세부내역은별첨 MediaWiki 테스트케이스 문서를참고 한다. 탐색적테스트현황 이하, 테스트현황의차터항목구분은각기능아이템항목별 세부구분항목으로서사용자시나리오를기반으로정의되었다. 기능아이템기본차터테스트아이디어 초기설정기능 1 3 개인설정 ( 관리자 ) 기능 5 14 개인설정 ( 사용자 ) 기능 5 14 메뉴및도구편집 ( 관리자 ) 기능 1 6 메뉴및도구편집 ( 사용자 ) 기능 1 6 접속기능 1 4 데이터보기및편집 1 4 합계 15 51 [ 표 3-4. 테스트아이디어현황 ] - 10 -
기능아이템별테스트아이디어수행내역ㅇ초기설정기능 - MediaWiki가설치된서버 PC의브라우저에서 Set Up 설정후 설치완료하려면 LocalSettings.php 다운받으세요 Message 확인 - Set Up 설정 LocalSettings.php not found Message 표시되는지확인 - LocalSettings.php 파일을아파치서버가실행되고있는파일로이동후브라우저에접속하여 설치가완료되었습니다 문구확인ㅇ개인설정 ( 관리자 ) 계정 & 토론기능 - 관리자로그인시개인설정확인 - 사용자문서확인 - 토론확인ㅇ개인설정 ( 관리자 ) 환경설정기능 - 관리자로그인시환경설정확인 - 사용자정보확인 - 문서보이기설정확인 - 최근바뀜확인 - 주시문서목록확인ㅇ개인설정 ( 사용자 ) 환경설정기능 - 관리자로그인시환경설정확인 - 사용자정보확인 - 문서보이기설정확인 - 최근바뀜확인 - 주시문서목록확인 - 11 -
ㅇ메뉴및도구편집 ( 관리자 ) 기능 - 관리자로그인시메뉴및도구확인 - 개인설정에서메뉴별로선택후메뉴및도구확인ㅇ메뉴및도구편집 ( 사용자 ) 기능 - 관리자로그인시메뉴및도구확인 - 개인설정에서메뉴별로선택후메뉴및도구확인ㅇ접속기능 - 여러대의 PC에서사이트접속후정상적으로로그인되며문서작성및편집기능확인 - 브라우저탭추가후한탭에서는관리자로그인을하고, 다른한탭에서는사용자로그인하여브라우저중복로그인불가능한지확인. - MediaWiki Server PC 종료후다른 PC에서접속시접속불가능한지확인. ㅇ데이터보기및편집기능 - 관리자계정으로로그인하여문서작성후사용자계정으로로그인하여편집할수있는지확인. - 사용자계정으로로그인하여문서작성후관리자계정으로로그인하여편집할수있는지확인. - MediaWiki Server PC 종료후재시작시임의의 PC에서접속하여이전문서작성기록이상유무확인. - MediaWiki Server PC 종료후재시작시 MediaWiki Server PC에서접속하여이전문서작성기록이상유무확인. - 12 -
4. 테스트수행결과 MediaWiki의테스트를수행한결과기능카테고리별정리된내용은아래와같다. 분류 기능아이템 기본 PASS FAIL N/T N/A 차터 초기설정기능 1 3 0 0 0 개인설정 ( 관리자 ) 기능 5 14 0 0 0 개인설정 ( 사용자 ) 기능 5 14 0 0 0 메뉴및도구편집 ( 관리자 ) 기능 1 6 0 0 0 메뉴및도구편집 ( 사용자 ) 기능 1 6 0 0 0 접속기능 1 4 0 0 0 데이터보기및편집 1 4 0 0 0 [ 표 4. 테스트결과 ] - MediaWiki 테스트결과시스템에영향을미치는이슈는발생되지 않았으며매우안정적인운용및동작성을보여주었다. - 13 -
IV. 종합 MediaWiki 테스트수행결과, 공개 SW로구성된 Stack 환경에서이슈발생없이 MediaWiki 시스템의기능들이각기능 Resource들과유기적으로동작함을확인하였다. MediaWiki는 TEST 결과에서보듯이각분류된기능및테스트아이디어를통해위키시스템으로서의매우안정적인기능동작을보여주었다. MediaWiki 는위키시스템으로서다국어지원및여러 OS에서서버및클라이언트로사용할수있는 Open Software이다. - 14 -
참고자료 [1] MediaWiki 공식사이트 - https://www.mediawiki.org/wiki/mediawiki [2] 도움말매뉴얼 - https://www.mediawiki.org/wiki/help:contents/ko [3] DEMO사이트 - http://www.mediawikibootstrapskin.co.uk/nexus/index.php/wiki_demo [4] 포럼 - https://www.mediawiki.org/wiki/extension:wikiforum [5] 커뮤니케이션즈 (Mailing Lists, SNS, Blog, Newsletter, Websites) - https://www.mediawiki.org/wiki/communication/ko - 15 -