본문 바로가기
IT 와 Social 이야기

[공개SW포털] 공개 소프트웨어 테스트 도구 소개

by manga0713 2012. 8. 22.




아래의 내용은 "공개소프트웨어포털"에서 연재한 "공개SW 테스트 가이드"중 "⑩공개SW 테스트 도구"의 내용을 옮겨 온 것입니다.




▣ 테스트 활동에 따른 도구 분류


테스트 활동 테스트 도구 내용
테스트 계획 요구사항 관리 고객 요구사항 정의 및 변경사항 관리
테스트 분석/설계 테스트 케이스 생성 테스트 기법에 따른 테스트 데이터 및 케이스 작성
커버리지 분석 대상시스템에 대한 테스트 완료 범위 척도
테스트 수행 테스트 자동화 기능 테스트 등 테스트 도구를 활용하여 자동화를 통한 테스트의 효율성을 높일 수 있음
정적분석 코딩표준, 런타임 오류 등을 검증
동적분석 대상시스템 시뮬레이션을 통한 오류 검출
성능 테스트 가상사용자를 인위적으로 생성하여 시스템 처리능력 측정
모니터링 시스템 자원(CPU, Memory 등) 상태 확인 및 분석 지원 도구
테스트 통제 형상관리 테스트 수행에 필요한 다양한 도구 및 데이터 관리
테스트 관리 전반적인 테스트 계획 및 활동에 대한 관리
결함 추적/관리 테스트에서 발생한 결함 관리 및 협업 지원



▣ 주요 공개SW 테스트 도구 소개

테스트 도구는 프로세스화 되었을 때 큰 효과를 볼 수 있기 때문에, 테스트 도구에 대한 도입시 조직적이고 장기적인 측면에서 고려해야 하며, 활용 가능한 주요 공개SW 테스트 도구는 아래와 같다.


 정적분석 도구

소스코드에 대한 코딩 표준/스타일, 복잡도 및 잔존 결함을 발견하기 위하여 사용하는 도구

분류 제품명 세부정보
결함
예방
/발견
pmd(cpd) 개요 자바 소스코드에 대한 잠재적인 문제에 대한 분석
지원 환경 Linux, Windows
개발도구 지원 Eclipse, NetBeans 등
홈페이지 http://pmd.sourceforge.net/
findbugs 개요 자바 소스코드에 대한 잠재적인 문제에 대한 분석
지원 환경 Cross-Platform
개발도구 지원 Eclipse, NetBeans 등
홈페이지 http://findbugs.sourceforge.net/
cppcheck 개요 C/C++ 소스코드에 대한 잠재적인 문제에 대한 분석
지원 환경 Windows
개발도구 지원 Eclipse, gedit 등
홈페이지 http://cppcheck.sourceforge.net/
sonar 개요 지속적인 소스 품질 검사를 수행하기 위한 통합 플랫폼으로 C/C++, Java 등 다양한 언어 지원 및 PMD, CheckStyle 등 플러그인을 통하여 확장 가능
지원 환경 Cross-Platform
개발도구 지원 eclipse
홈페이지 http://www.sonarsource.org/
코딩
표준
checkstyle 개요 자바 프로그램에 대한 코딩 표준 준수 검사 도구로, 다양한 개발 도구에 통합하여 활용 가능
지원 환경 Cross-Platform
개발도구 지원 Ant, Eclipse, NetBeans 등
홈페이지 http://checkstyle.sourceforge.net/
N'SIQ CppStyle 개요 C/C++ 프로그램 언어에 대한 코딩 표준 준수 검사 도구
지원 환경 Cross-Platform
개발도구 지원 Visual Studio, eclipse
홈페이지 http://dev.naver.com/projects/nsiqcppstyle/
StyleCop 개요 C# 프로그램 언어에 대한 코딩 표준 준수 검사 도구
지원 환경 Windows
개발도구 지원 Visual Studio
홈페이지 http://stylecop.codeplex.com/
cpplint 개요 구글에서 사용하고 있는 C++ 스타일 가이드 준수 검사 도구로 CLI(파이썬) 형태로 지원됨
지원 환경 Cross-Platform
개발도구 지원 -
홈페이지 http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#cpplint
코드
복잡도
ccm 개요 소스코드 복잡도 분석 도구이며, Linux, Mac환경에서는 CLI 형태로 지원됨
지원 환경 Cross-Platform
개발도구 지원 Visual Studio
홈페이지 http://www.blunck.info/ccm.html
eclipsemetrics 개요 소스코드 복잡도 분석 소스 코드 통계 정보 제공 도구
지원 환경 Cross-Platform
개발도구 지원 Eclipse
홈페이지 http://www.stateofflow.com/projects/16/eclipsemetrics
sourcemonitor 개요 윈도우 기반 소스코드 복잡도 분석 도구
지원 환경 Windows
개발도구 지원 -
홈페이지 http://www.campwoodsw.com/sourcemonitor.html
cobertura 개요 자바언어에 대한 소스코드 복잡도 분석 및 커버리지 측정
지원 환경 Cross-Platform
개발도구 지원 Ant, Maven
홈페이지 http://cobertura.sourceforge.net/
javancss 개요 자바언어에 대한 소스코드 복잡도 분석 도구, CLI 형태로 지원됨
지원 환경 Cross-Platform
개발도구 지원 Ant, Jacob
홈페이지 http://www.kclee.de/clemens/java/javancss/


 동적분석 도구

프로그램을 실행하여, 코드 내에 존재하는 메모리 누수, 쓰레드 결함 등을 분석하기 위하여 사용하는 도구

제품명 세부정보
Avalanche 개요 Valgrind 프레임워크 기반으로 구현되었으며, 프로그램에 대한 결함 및 취약점 동적 분석 도구
지원 환경 Linux, Android
개발도구 지원 -
홈페이지 http://code.google.com/p/avalanche/
Valgrind 개요 프로그램 내에 존재하는 메모리 및 쓰레드의 결함을 발견하는 동적 분석 도구
지원 환경 Cross-Platform
개발도구 지원 Eclipse, NetBeans 등
홈페이지 http://valgrind.org


 테스트 자동화 프레임워크

단위테스트, 통합테스트 등 테스트 단계별 자동화 도구를 활용한 기능 테스트 도구

제품명 세부정보
xUnit 개요 java(Junit), C++(Cppunit), .Net(Nunit) 등 다양한 언어를 지원하는 단위테스트 프레임워크
지원 환경 각각의 도구별 지원 환경 상이
개발도구 지원 eclipse 등
홈페이지 http://www.junit.org/
http://sourceforge.net/apps/mediawiki/cppunit/index.php?title=Main_Page
http://www.nunit.org/
STAF 개요 서비스 호출, 컴포넌트 재사용 등 다양한 환경을 지원하는 테스트 프레임워크
지원 환경 Cross-Platform
개발도구 지원 eclipse
홈페이지 http://staf.sourceforge.net/
FitNesse 개요 웹기반 테스트케이스 설계/실행/결과확인 등을 지원하는 테스트 프레임워크
지원 환경 Cross-Platform
개발도구 지원 eclipse
홈페이지 http://fitnesse.org/
NTAF 개요 NHN 테스트 자동화 프레임워크이며, STAF와 FitNesse를 통합
지원 환경 Cross-Platform
개발도구 지원 eclipse, Maven 등
홈페이지 http://dev.naver.com/projects/ntaf/
Selenium 개요 다양한 브라우저 지원 및 개발언어를 지원하는 웹 애플리케이션 테스트 프레임워크
지원 환경 Cross-Platform
개발도구 지원 -
홈페이지 http://seleniumhq.org/
watir 개요 Ruby 기반 웹 애플리케이션 테스트 프레임워크
지원 환경 Cross-Platform
개발도구 지원 -
홈페이지 http://watir.com/


 성능 테스트 도구

가상사용자를 인위적으로 생성하여 시스템의 처리량, 응답시간 등을 테스트하기 위한 도구

제품명 세부정보
JMeter 개요 HTTP, FTP, LDAP 등 다양한 프로토콜을 지원하는 부하 테스트 도구
지원 환경 Cross-Platform
개발도구 지원 eclipse, Ant
홈페이지 http://jmeter.apache.org/
AB 개요 아파치 웹서버 부하 테스트 도구이며, CLI기반으로 동작
지원 환경 Cross-Platform
개발도구 지원 -
홈페이지 http://httpd.apache.org/docs/2.2/programs/ab.html
OpenSTA 개요 HTTP, HTTPS 프로토콜에 대한 부한 테스트 도구
지원 환경 Windows
개발도구 지원 -
홈페이지 http://opensta.org/
LoadUI 개요 HTTP, JDBC 등 다양한 프로토콜을 지원하며, 서버 모니터링, Drag&Drop 등 사용자 편리성이 강화된 부하 테스트 도구
지원 환경 Cross-Platform
개발도구 지원 -
홈페이지 http://www.loadui.org/


 시스템 모니터링 도구

서버 자원(CPU, Memory 등)에 대한 사용 현황을 파악할 수 있는 도구

제품명 세부정보
Nagios 개요 웹기반 서버, 서비스, 애플리케이션 등에 대한 모니터링 도구
지원 환경 Cross-Platform
개발도구 지원 -
홈페이지 http://www.nagios.org/
Zenoss 개요 웹기반 서버, 서비스, 애플리케이션 등에 대한 모니터링 도구
지원 환경 Cross-Platform
개발도구 지원 -
홈페이지 http://community.zenoss.org/index.jspa
Zabbix 개요 웹기반 서버, 서비스, 애플리케이션 등에 대한 모니터링 도구
지원 환경 Cross-Platform
개발도구 지원 -
홈페이지 http://www.zabbix.com
Hyperic HQ 개요 웹기반 서버, 서비스, 애플리케이션 등에 대한 모니터링 도구
지원 환경 Cross-Platform
개발도구 지원 -
홈페이지 http://sourceforge.net/projects/hyperic-hq/