2006년 설립된 STA테스팅컨설팅은 ISO/IEC 29119 SW 테스팅 표준 활동과 국제 테스트 전문가와의 교류를 통한 네트워크 활동, 도서 출판, 테스트 커뮤니티 운영, 테스트 관리 도구 개발 등의 활동을 통해 SW테스팅 분야의 발전을 주도하는 전문 기업으로 성장하고 있다.
많은 산업분야에서 SW활용이 증가함에 따라 SW테스팅 수요도 늘어나는 추세다. SW가 불완전할 경우 그에 따른 피해는 예측을 불허한다. 일례로 국내에서 일어난 금융 전산사고도 버그에서 비롯된 것이었다. SW품질은 단순히 금전적, 노동력의 손실에 그치는게 아니라 사회 시스템 전체 혼란을 끼칠 수 있는 것이다. SW품질에 대한 관심이 높아짐에 따라 테스팅 관리 도구의 필요성도 증가하고 있다.
국내 실정에 맞는 공개SW 테스트 관리 도구 필요
SW품질 관리를 위해 기업들은 테스트 관리 도구 도입을 원한다. 그러나 도입에 따른 높은 비용 부담과 이후 유지관리도 걱정거리다. 국내 많은 중소기업들이 공통적으로 겪는 애로 중 하나 일 것이다. 기업들은 대안으로 공개SW 테스트 관리 도구를 사용한다. STA테스팅컨설팅의 강민정 책임에 따르면, 주로 사용하는 공개SW 테스트 관리 도구들이 해외에서 개발된 것이기 때문에 언어를 비롯해 국내 특성에 적합한 기능들이 부족하다. 또 해당 커뮤니티가 활동이 저조해서 필요한 기능의 업데이트 속도가 늦거나, 레퍼런스 등 활용 생태계 구축이 미미한 경우가 더러 있어 국내 기업이 이를 효과적으로 사용하는데 한계가 있다는 것이다. 그래서 SW 테스트가 필요한 기업에서는 이미 외산 공개SW 테스트관리 도구를 사용하는 사례부터 관리 도구로 MS의 엑셀로 관리를 하는 기업에 이르기까지 천차만별이라고 전한다.
실제로 STA테스팅컨설팅은 테스팅 세미나, 컨설팅을 통해서 국내 중소기업들이 활용할 수 있을만한 공개SW 테스트 관리 도구에 대한 필요성을 실감했다고 한다. 이것에 착안해 개발하게 된 것이 OTestManager(이하 ‘OTM')이다. 기술 수준이 높은 해외 상용 테스트 관리가 이미 다수 존재하고 이들은 대부분 서비스 형태로 제공되고 있으며 비용이 높다. 국내의 경우 일부 대기업이 필요에 따라 자체적으로 개발해 사용 중인 테스트 관리 도구가 다수 존재 하지만 상용화나 공개되어 있지 않다. 드물게 상용화된 테스트 관리 도구 중 일부는 금융 등 특정 산업 분야에 국한돼 있어 테스트 관리 관련 기술 수준은 높지만 일반적인 사용에는 한계가 있다.
구분 | 국내 | 국외 |
공개SW | - 없음 | - RTH (테스트 관리) - Testlink (테스트 관리) - Testopia (테스트 관리) - Bugzilla (BTS) - Redmine (BTS) - Trac (BTS) - Mantis (BTS) |
상용SW | - Web TestRo (테스트 관리) | - Jama contour (테스트 관리) - QA Complete (테스트 관리) - HP QC (프로젝트 관리) - Jira (프로젝트 관리) |
구분 | OTestManager | Jira | Redmine | Mantis | TestLink |
TestCase 관리 기능 | O | X | X | O | O |
결함 관리 기능 | O | O | O | X | X |
프로젝트 관리 기능 | O | O | O | O | O |
메일 알림 기능 | O | O | X | X | △ |
결함 추적기능 | O | O | O | X | X |
TC 가져오기/내보내기 | O | O | X | O | O |
플러그인 | O | O | O | O | O |
언어(한글) | O | O | O | O | X |
▲ 국내외 테스팅 관리 도구 비교
회사는 정보통신산업진흥원(nipa)의 공개SW 개발지원사업을 통해 공개SW 기반 테스트 관리 플랫폼 개발에 착수했다. 비단 개발에 그치는 것이 아니라 프로젝트가 이후에도 지속가능하도록 생태계를 형성하는 것도 과제로 삼았다. 회사는 OTM의 주요 이용 대상자를 개인 또는 중소기업으로 설정했다. 대기업의 경우 자체적인 테스트 도구를 구비하는 경우가 많기 때문에 더 필요로 하는 대상에 맞춘 것이다.
OTM 개발에는 다양한 공개SW가 활용됐다. UI는 HTML5 기반의 Ext JS 라이브러리를 사용했다. Ext JS는 자바스크립트의 라이브러리 프레임워크 중 하나로 순수 웹표준 방식을 지원하고 HTML5/CSS3/JS로 표현 할 수 있어 도표 구현에 강점을 가진 것을 특징으로 한다. 비즈니스 로직 개발은 PHP 대표 프레임워크인 코드이그나이터(Codeigniter)를 썼다. 코드이그나이터의 장점은 애드온(Add-on) 구조로 개발되었기 때문에 필요한 기능만 사용이 가능하며 보안성과 확장성이 우수하다는 점을 꼽는다. 강 책임은 OTM이 Ext Js, Codeigniter와 같은 표준프레임워크로 개발되어, 누구나 쉽게 커스터마이징이 가능하다고 설명한다.
DB는 오래되고 가장 널리 많이 쓰이는 공개SW를 선정기준으로 삼아 MySQL을 택했다.
▲ OTM(OTestManager) 구조도
OTM는 SW테스팅과 테스트 프로세스 관리를 지원해주는 도구로써 테스트 계획, 설계, 실행, 리포팅, 테스트 프로세스 개선 등의 활동을 지원한다. 특히 테스트 관리에 필요한 고유의 기능을 웹 기반으로 구현될 수 있도록 해 하나의 조직에 속한 프로젝트 관리자, 개발자, 테스터가 다같이 활용할 수 있어 협업을 통한 SW품질 관리를 가능하게끔 했다. 다양한 사용자가 현재 상황을 실시간 확인 및 조치 가능하도록 해 사용성을 높인 것이다. 크로스 플랫폼을 지원하고 APM (Apache, PHP, MySQL)이 설치된 환경이라면 사용이 가능해 접근성도 높였다.
▲ OTM 기능
회사측은 OTM의 주요한 특징 중에 추적성을 먼저 꼽았다. 테스트 케이스와 결함의 추적성, 모니터링으로 요구사항과 테스트케이스와의 추적성을 통해 오류나 결함을 정확하고 신속하게 발견할 수 있다고 한다. UI도 심플하게 제작해 사용자들이 기능을 쉽게 사용할 수 있게 했다. 각 조직에 맞게 사용할 수 있도록 사용자 정의 및 환경설정 기능 제공으로 커스트마이징이 용이하다. 또 테스트 케이스와 결함 그리고 프로젝트의 전반적인 진행 상황을 확인하고 보고에 활용할 수 있는 리포트 기능도 제공한다.
▲ OTM Report를 통해 결함 추이나 빈도를 확인할 수 있다
프로젝트 생태계 조성을 위한 온·오프라인 활동 박차
OTM은 출시 초기임에도 불구하고 업계의 반응이 뜨겁다. 많은 문의가 있는데 주로 사용자 또는 기업에서 직접 커스트마이징을 하는데 필요한 질문이 대부분이다. 뿐만 아니라 OTM 오프라인 세미나의 신청률과 참석률도 높다. 회사는 정기교육과 온라인 카페 운영을 통해 사용자와 주기적으로 소통을 꾀하고 있다. 세미나를 통해 필드에서 활약중인 QA, QC, 테스트 엔지이어들로부터 많은 피드백을 받고 있는데, 그들은 대부분 국산 공개 SW테스트 관리도구가 개발되고 있는 상황 자체만으로도 반색을 표하는 한편 걱정과 당부도 전한다. 현업종사자들은 OTM이 현재 사용 중인 외산 공개SW 도구를 충분히 대체 할 수 있을지, 지속적인 기능 추가나 성능 향상이 가능한지에 대한 여부를 묻는다. 강 책임은 동시에 테스트 관리 도구로써 OTM의 기능과 사용성이 우수한데 왜 상용화하지 않고 공개SW화 했냐는 질문도 되려 받고 있다며 웃어 보인다.
사용자들의 요구사항은 데이터 이관, OTM과 기 사용중인 시스템과의 연동, 사용성 개선, 기능 추가에 관심이 높다고 말한다. 자체적으로도 사용 후 회의를 통해 기능 요구사항을 정리하기도 하고 운영중인 온라인 커뮤니티를 통해서도 이러한 요구사항을 수집하고 있다. 다양한 조직에서 도출된 요구사항을 신속하게 반영해 꾸준히 업데이트 할 예정이라고 밝혔다.
사용 레퍼런스도 차츰 늘어나는 중이다. 모바일 보안 업체인 I사에서 OTM을 도입하여 사용중에 있다. 업체에서 OTM을 도입한 가장 큰 이유는 테스트케이스와 결함간의 추적, 각각의 차수별로 테스트케이스를 공통테스트케이스, 백로그 등의 기능편의성을 꼽았다. 약 만 건의 테스트케이스를 가지고 있는데 그 동안 테스트케이스를 고도화 하지 못하고 있다가 OTM을 도입하면서 깔끔하게 정리 할 수 있었다는 소감을 밝혔다.
클라우드 테스팅을 전문으로 하는 관계기업인 콘크릿도 OTM 베타 버전을 시작으로 적극 업무에 활용하고 있다. 이를 통해 일반적인 개발 프로젝트 외에도 클라우드 기반 테스팅의 특성에 맞도록 커스터마이징하는데 힘을 보태고 있다.
최종 모델은 ALM(Application Lifecycle Management)
회사는 지난 4월 OTM 1.0 버전이 오픈된 이후로 현재 사용하고 있는 사용자들로부터 도출된 요구사항을 올 연말까지 반영할 예정이다. 우선 이달 말에는 테스트케이스, 결함 아이디 체계 관리, 가져오기/내보내기 기능강화, 테스트케이스-결함 추적 기능 강화, 기능통합, 리포트 기능 강화를 릴리즈하고 이후 매달 대시보드, 프로젝트 간 데이터 이동, 요구사항 추적 관리, 리소스 관리 등 기능을 차례로 보완할 계획이라고 한다.
또 2016년 부터 플러그인과 유틸리티, 오픈API, 에코시스템 순으로 개발을 목표로 잡았다. OTM이 추구하는 최종 모델은 ALM(Application Lifecycle Management, 애플리케이션 생명주기 관리)이다. 이는 개발주기 상의 모든 활동을 관리해 개발 생산성 향상을 도모하는 기법으로 요구사항 관리, 아키텍처, 코딩, 테스팅, 이슈추적, 릴리즈 관리 등을 포함한다. OTM은 특히 테스팅, 이슈추적, 요구사항관리에 특화된 기능을 제공해 ALM 상 주요 역할을 담당할 수 있도록 하는데 목표를 두고 있다. 회사관계자는 지속적으로 프로젝트를 개선하고 보완해 나갈 것이며, 공개SW 테스트 관리 도구로 널리 알려져 테스팅에 어려움을 겪는 많은 이들에게 도움이 되었으면 한다는 바램을 밝혔다.
소스포지 : http://sourceforge.net/projects/otestmanager/
OTestManager 온라인 커뮤니티 : http://www.sten.or.kr/otm
[인터뷰]
STA테스팅컨설팅 권원일 대표
공개SW 테스트 관리도구의 필요성은 무엇인가?
공개SW 도구이든지, 유료 도구이든지 도구를 사용하는 것은 프로젝트를 수행하면서 발생할 수 있는 여러 가지 리스크를 최소화 할 수 있으며, 프로젝트를 성공적으로 이끄는데 필요한 요소다. 공개SW 도구와 상용도구와의 일반적인 차이점이라면 구매 비용, 구현된 기능의 수와 깊이, 도구의 사용성, 도구의 품질 등을 들 수 있다. 상호 간 가장 큰 차이점은, 용어에서 의미하고 있듯이 사용자에게 소스가 오픈되어 있느냐 그렇지 않느냐 하는 것이다.
상용 도구의 경우 동종 업계의 제품과 경쟁을 해야 하기에 폐쇄정책을 적용하게 되고, 사용자들의 요구사항을 적극적으로 반영하는데 제약이 있을 수 있다.
또한, 폐쇄성으로 사용자들이 원하는 기능을 직접 도구에 반영할 수 없는 단점이 있다.
반면 공개SW 테스트 관리 도구의 경우는 사용자들에게 소스가 공개돼 있어 사용자들이 원하는 기능을 직접 추가 또는 최적화 하는데 용이하다는 것이 강점이다.
이러한 기술력들이 쌓이면 장기적으로 공개SW 테스트 관리 도구를 사용에 따른 테스트 프로젝트 관리 도구의 발전이 기대되며, SW 테스팅 업계는 물론 SW 품질 발전의 가속화로 이어지리라 본다.
해외 공개SW 테스트 5관리 도구와 차별점은?
공개 교육과 세미나를 통해 현재 많은 기업이 외산 상용도구 또는 외산 공개SW 테스트 관리 도구를 많이 사용을 하고 있는 것으로 파악됐다.
외산 공개SW 테스트관리 도구의 한계는 크게 두 가지로 뽑을 수 있다.
커뮤니티 활동성 저조와 추적관리가 미흡하다는 점이다.
위에서도 언급했듯이 커뮤니티 활동이 저조할수록 기술지원을 받는 것이 용이하지 않고, 상세 정보를 구하기 어렵다. 또한 외산 도구 대부분은 테스트관리 도구로 보기 보다는 이슈 관리도구의 성격이 더 크다. 하나의 이슈가 생성되고, 종료될 때까지의 추적 관리의 용도인 것이다.
SW 테스팅에서의 생명주기(LifeCycle), 즉 『요구사항 -> 리스크 분석 -> 전략 수립 -> 테스트 케이스 -> 테스트 케이스 실행 -> 이슈 -> 종료 -> 리포트』의 과정에 맞는 국내 실정에 적합한 테스트 관리 도구가 필요하다. OTM 아직은 초기 버전으로 완벽하게 추적 관리하지는 못하지만, 궁극적으로 생명주기의 전 과정을 커버하는데 중점을 두고 고도화하는 것이 목표이다.