아래의 내용은 "공개소프트웨어포털"에서 연재한 "공개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/ |
'IT 와 Social 이야기' 카테고리의 다른 글
저 발표 합니다. ^^ 2012 Database Grand Conference (0) | 2012.08.30 |
---|---|
도표로 살펴보는 국내 (개인)정보 침해 사례 (0) | 2012.08.25 |
[Hackmageddon] 2012년 8월 15일까지의 Cyber Attack Timeline (Part I) (0) | 2012.08.21 |
취약점 분석(Vulnerability Assessments) 솔루션 소개 : Host Scanner (0) | 2012.08.13 |
[Symantec] 가장 많이 사용되는 해킹 공격 툴 킷(Attack Toolkits) (0) | 2012.08.13 |