본문 바로가기

TDD

소프트웨어 테스팅 : 자바 코드 커버리지 툴(Java Code Coverage Tool) 자바 코드 커버리지 툴(Java Code Coverage Tool) Code Coverage 분석을 위한 Tool들은 오픈 소스부터 시작해, 상용 솔루션까지 많은 Tool 들이 있습니다. 다음은, 무료 배포되고 있는 Java Code Coverage Tool을 비교 분석한 매트릭스입니다. 다음 표와 같이 각 Tool 마다, 제공되는 기능이 다양합니다. 저의 경우는 MC/DC Coverage 분석이 필요하기 때문에, 대부분 CodeCover를 사용합니다만, 간단하에 사용할 때에는 EMMA를 사용하기도 합니다. 분석 영역이 적은 만큼 빠르기 때문이죠. CodeCover로 MC/DC Coverage 까지 분석하는 경우, 클래스 갯수가 500 가 넘어가면, 한 번 분석하는데 굉장히 오래 걸립니다. 필요에 따라,.. 더보기
소프트웨어 테스팅 : Code Coverage 분석 Tool - CodeCover 리뷰 CodeCover 리뷰 CodeCover는 Java Code Coverage 분석 Tool 중의 하나로써, 무료로 배포되는 Tool 중에서는 그 기능이 최고라고 말할 수 있을 정도로 막강한 기능을 제공하는 Tool 입니다. 본 블로그에 등록된 Code Coverage 관련 글들의 예제들고 이 CodeCover를 이용하여 테스트되었습니다. Feature 1. Eclipse 기반 : 물론, 커맨드 라인 기반의 Standalone 패키지도 제공이 되지만, 막강한 기능중 하나는 Eclipse plug-In으로 설치되어 간단하게 사용할 수 있는 부분입니다. 2. 지원하는 Code Coverage Criteria : CodeCover는 Statement Coverage, Decision(Branch) Coverag.. 더보기
소프트웨어 테스팅 : Code Coverage - Decision Coverage Code Coverage - Decision Coverage Decision Coverage는 Code Coverage 분석의 7가지 척도 중 하나로써, 각 조건문이 True 혹은 False가 되는 조건이 모두 테스트되는 정도를 측정하는 척도입니다. 참조 : Code Coverage, Statement Coverage 예를 들어 다음과 같은 코드가 있을 경우, package codecoverage; public class DecisionCoverageTest { public int method(int param){ if(param > 0){ System.out.println("param is greater than 0"); } else{ System.out.println("param is equal or.. 더보기
소프트웨어 테스팅 : Code Coverage - Statement Coverage Statement Coverage Statement Coverage는 Code Coverage 분석의 7 가지 분석 척도 중 하나로써, 각 Statement 가 테스트되는 수준을 정의하는 척도입니다. 이 Statement Coverage 분석을 통해, 개발된 소프트웨어가 어느 정도 테스트가 수행되었는지를 파악할 수 있습니다. 참조 : Code Coverage 예를 들어 다음과 같은 소스 코드가 있을 경우, package codecoverage; public class StatementCoverageTest { public void method1(int param){ for(int i = 0 ; i < param ; i++){ System.out.println(i); } } } 이 소스 코드를 테스트 하기.. 더보기
코드 커버리지(Code Coverage) Code Coverage 코드 커버리지(Code Coverage)는 소프트웨어 테스트 시 사용되는 측정 기준 중에 하나이며, 이는 소스 코드가 테스트된 정도를 나타냅니다. 당연히, 소스 코드 내부를 들여다 봐야 하므로, 화이트박스 테스트(White box testing)에 속합니다. 코드 커버리지 기준은 다음과 같이 7개 기준이 있으며(아래 5개의 기준과 제일 밑에 2개의 기준), 특정 테스트 케이스(Test Case)를 어느 기준을 적용하여 테스트하느냐에 따라 커버리지 비율이 틀려지게 됩니다. Function coverage - 소프트웨어 내에 정의된 Function이 호출되는 정도 Statement coverage - 소프트웨어 내에 기술된 Statement가 수행되는 정도 Decision cover.. 더보기