代码覆盖率浅谈

简介:

BullseyeCoverage

Kind of Tool
Code Coverage Analyzer for C++/C
Organization
Bullseye Testing Technology
http://www.bullseye.com/
Software Description
BullseyeCoverage is a full-featured code coverage analyzer for C++/C running on Microsoft and Unix operating systems. BullseyeCoverage quickly finds untested code and measures testing completeness. BullseyeCoverage increases testing productivity by showing you the regions of your source code that are not adequately tested.
Platforms
Windows and Unix

Entry updated January 7, 2003.


Insure++

Kind of Tool
Runtime error detection, memory monitor, coverage analysis
Organization
ParaSoft Corporation
http://www.parasoft.com/
Software Description
Insure++ is a powerful automatic runtime error detection tool for C/C++ that improves software quality, accelerates time to market, and reduces development costs. Insure++ automatically detects errors in your code, regardless of whether you know they exist. Insure++ identifies compile-time, runtime and algorithmic errors, including memory corruption, operations on uninitialized, NULL, or "wild" pointers, memory leaks, errors that allocate and free dynamic memory, operations on unrelated pointers, and more. Insure++ includes a graphical "Malloc Monitor" that helps developers understand how their programs manipulate memory and a total coverage analysis tool that provides information about which pieces of the code have been tested to insure that all of the program is bug-free, not just the most frequently used parts.
Platforms
SunOS, HP, IBM RS6000, SGI 5.X, Digital UNIX, Lynx, Linux, SCO


CTC++

Kind of Tool
C and C++ code coverage
Organization
Testwell Oy
http://www.testwell.fi/ctcdesc.html
Software Description
CTC++ (Test Coverage Analyzer for C/C++) is an instrumentation-based tool for measuring test coverage and studying the dynamic behaviour of C and C++ programs. CTC++ is available in two packages: 1) as a host-based tool ("CTC++") and 2) as a tool, which facilitates coverage measuring in target platforms ("CTC++ Host-Target & Kernelcoverage"). GUI integration to Visual C++.
Platforms
Windows 2000/NT/9x, HPUX, Solaris, Linux.

Entry updated April 23, 2001.


TCMON

Kind of Tool
Ada code coverage
Organization
Testwell Oy
http://www.testwell.fi/
Software Description
TCMON (Test Coverage Monitor and Program Bottleneck Finder for Ada'83) is an instrumentation-based tool for measuring test coverage and studying the dynamic behaviour of Ada programs. Read more from http://www.testwell.fi/tcmdesc.html.
Platforms
Windows 2000/NT/9x, VAX/VMS, Solaris. Ask also for source code licensing (written in 'vanilla' Ada'83). On a given platform independent of the used Ada compiler.

Entry updated April 23, 2001.


GCT

Kind of Tool
C test coverage (freeware)
Organization
Testing Foundations
913 W. White
Champaign IL 61821
Phone and fax: 217-351-7228
E-mail: marick@testing.com http://www.testing.com/
Software Description
The Generic Coverage Tool (GCT) is a freeware coverage tool that measures how thoroughly tests exercise C programs. It measures branch, multicondition, loop, relational operator, routine, call, race, and weak mutation coverage for C programs. See cs.uiuc.edu: pub/misc/testing/GCT.README
Platforms
Most UNIX


TCAT C/C++

Kind of Tool
Test Coverage Analysis Tool
Organization
Software Research, Inc.
http://www.soft.com/TestWorks/
Software Description
TCAT C/C++ coverage analysis tool, part of the TestWorks/Coverage suite, uses a new consolidated C and C++ instrumentor to measure logical path and branch completeness at the individual function level (C1) and at the system level (S1). This new compiler-based technology combines the functionality of previous releases of TCAT and S-TCAT.

TCAT C/C++ measures the number of times logical branches have been exercised for both True and False conditions using its C1 metric. The S1 measurement expresses test effectiveness as the percentage of function-calls exercised in a program by a set of tests, relative to the number of such function-calls in the system.

TCAT C/C++ instruments the program, placing markers at each logical branch and function-call. When test cases have been run against the instrumented code, the C1 and S1 metrics collect data on the markers and store it in a trace file, from which TCAT C/C++ extracts information to create tabular coverage reports that show which code remains untested or frequently tested, and which test cases duplicate coverage. TCAT C/C++ also creates an archive file that stores all cumulative test information.

Platforms
SPARC SunOS 4.1.3; SPARC Solaris 2.3, 2.4, 2.5, 2.5.1, 2.6; x86 Solaris 2.4, 2.5; RS-6000/AIX 3.2.5, 4.1.2, 4.2; HP-9000/7xx HP-UX 9.05, 10.10; HP-9000/8xx HP-UX 9.04, 10.01, 10.10; x86 SCO/ODT 2.0, 5.0(3.0); SGI Irix 5.3, 6.2; DEC-Alpha OSF1 3.2, 4.0; NCR 3000; SCO/UnixWare 2.1.1; DOS; MS-Windows 95/98/NT/2000

Entry updated October 23, 2003.


TCAT-PATH

Kind of Tool
Path Coverage Analysis Tool
Organization
Software Research, Inc.
http://www.soft.com/TestWorks/
Software Description
TCAT-PATH is a path coverage analysis tool that works as a stand-alone product or as part of the fully integrated TestWorks/Coverage tool suite. TCAT-PATH analyzes a large number of module paths (sequences of logical branches) by grouping paths into equivalence classes, including multiple instances of iterations. For critical modules, path coverage can be used to extend TestWorks/Coverage's TCAT logical branch coverage at the unit test level. While TCAT's C1 metric determines how many logical branches in a module are exercised, TCAT-PATH's Ct metric determines how many of the possible path combinations in a module are exercised.
Platforms
SPARC SunOS 4.1.3; SPARC Solaris 2.3, 2.4, 2.5, 2.5.1, 2.6; x86 Solaris 2.4, 2.5; RS-6000/AIX 3.2.5, 4.1.2, 4.2; HP-9000/7xx HP-UX 9.05, 10.10; HP-9000/8xx HP-UX 9.04, 10.01, 10.10; x86 SCO/ODT 2.0, 5.0(3.0); SGI Irix 5.3, 6.2; DEC-Alpha OSF1 3.2, 4.0; NCR 3000; SCO/UnixWare 2.1.1; DOS;

Entry updated October 23, 2003.


Rational PureCoverage

Kind of Tool
Code Coverage Analysis Tool
Organization
IBM Rational Software
http://www.rational.com/products/purecoverage/
Software Description
Rational PureCoverage® is a powerful code coverage analysis tool designed for use by developers and testers during daily unit tests to increase software quality by preventing untested code from reaching end users.  It is unsurpassed for ease of use and flexibility. With a single click, you can take advantage of an annotated source view that provides line-by-line analysis of either tested or untested code.
Platforms
UNIX Platforms
Sun SPARC� workstations running Solaris 2.4 through 2.6
HP9000 Series 700 workstations running HP-UX 10.0x through 11.00
HP9000 Series 800 workstations running HP-UX 10.0x through 11.00
HP-UX 11.0 for narrow-mode applications only (no 64-bit pointers)
NT Platforms
Windows NT 4.0 or above (including Japanese Windows NT 4.0)

Listing Updated June 7, 1999


" src="/CuteSoft_Client/CuteEditor/Images/anchor.gif">

LDRA Testbed

Kind of Tool
Static Analysis and Code Coverage tool suite
Organization
LDRA
http://www.ldra.co.uk/testbed.asp
Software Description
LDRA Testbed is a unique quality control tool that provides powerful source code analysis and testing facilities for the validation and verification of software applications.

Static Analysis analyses the code and provides an understanding of the code structure. The analysis capabilities include programming standards verification, structured programming verification, complexity metric production, full variable cross reference, unreachable code reporting, static data flow analysis, code reformatting, information flow analysis, loop analysis, analysis of recursive procedures and procedure interface analysis.

Dynamic Analysis analyses the code and provides an understanding of the code structure and measures code coverage of statements, branches, test paths (lcsaj coverage), sub conditions, & procedure calls. Several coverage levels are available including MC/DC level A of the DO-178B standard.

The tool suite is available for C, C++, Ada83, Ada95 & Assemblers (Intel, Freescale and Texas Instruments).

Platforms
Windows 9x/NT/2000/XP, Unix (Sun Solaris & HP-UX), Linux (Red Hat/Fedora, SUSE, Debian, Thalix) and HP OpenVMS (Alpha & IA-64 Itanium)

Entry updated May 17, 2007.


Logiscope

Kind of Tool
Quality and Productivity for the development, test and maintenance of software applications
Organization
IBM
http://www.telelogic.com/products/logiscope/
Software Description
1) LOGISCOPE TestChecker: Measures the completeness of tests implemented on your application regardless of whether performed on host or target platforms in terms of source code test coverage. Highlights areas of non-executed code (i.e., not checked) during tests.
- Displays test coverage "on-line", i.e., during the execution of the test (even when it is performed on a target platform)
- Identifies effective non regression if program files have been modified
- Identifies inefficient test (regarding test coverage level)
- Identifies test conditions required to test unreached parts of the application,
- Record and re-execute tests cases automatically
2) LOGISCOPE RuleChecker: Checks coding rules, naming conventions and presentation rules. It allows you to select rules from the set of 50 pre-established rules provided with the tool, or introduce rules specific to your company, reused from one project to another.
3) LOGISCOPE ImpactChecker: It proposes a request system for checking the use of resources. These requests are relevant to location, type of data used and dependencies between data.
4) LOGISCOPE Audit: is a graphic tool used to evaluate program quality. It provides users with relevant diagnosis based on computation of a set of software metrics (more than 90). Maintenance teams can rely on graphic overviews to understand the program logic and architecture.
Platforms
UNIX: sun, hp, ibm, digital / WINDOWS

Entry updated April 28, 1998.


CodeTEST

Kind of Tool
Family of software verification tools for embedded systems
Organization
Freescale Semiconductor Inc.
http://www.codewarrior.com/MW/Products/Integration.htm
Software Description
CodeTEST is the first software verification tool suite specifically designed for embedded systems software. CodeTEST traces embedded programs and verifies software performance, test coverage, and memory allocation.

CodeTEST can monitor an entire program at once, eliminating the difficulty of deciding what part of the program to watch, and how to set up the tool for each measurement. It can produce reliable traces and measurements when programs are executed out of cache or are dynamically relocated.

The CodeTEST tool suite includes:

Performance Analysis

  • Measures function and task execution times
  • Counts call-pair linkages to identify thrashing
  • Non-sampled measurements of 32,000 functions at one time

Coverage Analysis

  • Displays coverage at program, function, or source levels
  • Plots coverage over time
  • Interactive measurements simplify test creation and refinement

Memory Allocation Analysis

  • Dynamic display shows memory leaks in progress before system crashes
  • Pinpoints memory allocation and free errors to offending source line
  • Measures true worst case allocation

Trace Analysis

  • Traces embedded programs at source, control-flow, or high (task) level
  • Deep trace captures over 100 thousand source lines of execution
  • Powerful triggering and trace display options zero in on problems

Platforms
MS Windows, Sun Sparc, HP 9000


TCAT for Java

Kind of Tool
Test Coverage Analysis Tool
Organization
Software Research, Inc.
http://www.soft.com/TestWorks/
Software Description
TCAT for Java is a test coverage analysis tool configured specifically for Java applets and for use on Java-enabled browsers. Developers of animated Web sites can use TCAT for Java to determine that their Java applets are fully exercised by their test suites -- a critical quality verification when Java applets support financial transactions on the Web. TCAT for Java provides the programmer with a concise summary of the logical conditions executed and not executed during test runs of the program. TCAT for Java does this by instrumenting every conditional statement in the program, identifies the true an false paths, and produces execution time reports -- all automatically.
Platforms
SPARC SunOS 4.1.3; SPARC Solaris 2.3, 2.4, 2.5, 2.5.1, 2.6; x86 Solaris 2.4, 2.5; RS-6000/AIX 3.2.5, 4.1.2, 4.2; HP-9000/7xx HP-UX 9.05, 10.10; HP-9000/8xx HP-UX 9.04, 10.01, 10.10; x86 SCO/ODT 2.0, 5.0(3.0); SGI Irix 5.3, 6.2; DEC-Alpha OSF1 3.2, 4.0; NCR 3000; SCO/UnixWare 2.1.1; DOS; MS-Windows 95/98/NT/2000

Entry updated October 23, 2003.


Rational Test RealTime Coverage

Kind of Tool
Rational Test RealTime Coverage brings efficient, easy-to-use, robust coverage technologies to real-time embedded systems.
Organization
IBM Rational Software
http://www.rational.com/
Software Description
Rational Test RealTime Coverage has the flexibility to address all the coverage needs of developers and QA according to the verification phase of the development or maintenance process, the coverage level and rate to be achieved, and the specific testing requirements. The Coverage feature does this by providing nine code-coverage levels:

Integration testing: assesses actual program call graph coverage:

1. Function/procedure entries
2. Function/procedure entries and exits
3. Call-pair

Module testing: verifies covered statement density for:

4. Statement block coverage
5. Decision coverage
6. Loop coverage
7. Basic condition

Checks compliance with safety-critical testing requirement standards such as DO-178B Level A:

8. Modified condition/decision coverage (MC/DC)
9. Multiple conditions

Find out more about Rational Test RealTime at: http://www.rational.com/products/testrt/.

Platforms
Rational Test RealTime is available for most development and target systems including Windows, Unix (Solaris, HP-UX, Linux)

Entry updated May 22, 2002.


Aonix Validator/Req

Kind of Tool
Specification-Based Test Case and Script Generator
Organization
Aonix North America, Inc.
http://www.aonix.com/
Software Description
Validator/Req reads spcifications as models and generates, that is it designs and documents, test cases and test scripts. Validator/Req generates the fewest test cases that will exercise every specified or modled action and every historicallt frequent failure.
Platforms
Windows/NT, SOLARIS, UNIX OSs on many hardware platforms

Entry updated December 11, 2001.


TCA

Kind of Tool
TCA is a tool developers can use to determine the coverage of Insure++.
Organization
ParaSoft Corporation
http://www.parasoft.com/

Entry added April 4, 2001.


Java Test Coverage

Kind of Tool
Test Coverage Analyzer for Java
Organization
Semantic Designs, Inc.
http://www.semdesigns.com/Products/TestCoverage/index.html
Software Description
The Java Test Coverage Tool enables testers to evaluate how thoroughly their tests exercise Java software systems. The tool can handle extremely large Java suites, has very low probe overhead so realtime performance is minimally affected, can test standalone Java applications and/or servlets, and can combine multiple test runs for coverage summaries and displays. The Java Test Coverage tool is a member of larger family of coverage tools, customizable for unusual languages and/or execution environments.
Platforms
Probe installer operates on Win/NT, Win2K, WinXP Java applications under test and the coverage display tool can run on any Java2 platform.

Entry updated March 15, 2002.


Clover

Kind of Tool
Ant-based Code Coverage tool for Java
Organization
Atlassian Pty Ltd
http://www.atlassian.com/software/clover/
Software Description
Clover is a low cost code coverage tool for Java. It is tightly integrated with the popular Ant build tool. If you are using Ant to build your project, Clover can be integrated into your build process quickly and easily.

Clover provides accurate, configurable coverage analysis. Clover gathers Method, Statement and Branch coverage data. Compile-time properties and source level directives allow for precise control over the coverage gathering process.

Coverage reporting is in XML, HTML, or via a Swing GUI. Report-time options allow for the exclusion of particular statement types from coverage analysis.

Free licenses are available for Open Source projects.

Platforms
Any Java 2 platform. Tested on Windows NT,2000,XP, Linux, Solaris. Works with Ant 1.4.1 or greater.

Entry updated June 14, 2002.


Koalog Code Coverage

Kind of Tool
Code coverage analyzer for Java applications.
Organization
Koalog SARL
http://www.koalog.com/
Software Description
Koalog Code Coverage is a code coverage computation application written in the Java programming language. Its main features are:
  • in-process or remote coverage computation,
  • capability of working directly on Java binaries (no recompilation),
  • predefined (XML, HTML, LaTeX, CSV, TEXT) or custom report generation,
  • session merging,
  • portability,
  • ease-of-use,
  • Ant integration.
Platforms
Linux, Solaris, Windows, Mac OS X

Entry updated November 27, 2002.


Dynamic Code Coverage

Kind of Tool
Instrumentation-free code coverage for Unix
Organization
Dynamic Memory Solutions
http://www.dynamic-memory.com/
Software Description
Dynamic Code Coverage re-invents the test coverage tool.

Dynamic Code Coverage does not require any compile/link time instrumentation. Through an innovative strategy, runtime instrumentation is used to gather coverage information.

Each function/method, line, decision and branch is evaluated for execution. As the process runs, a detailed coverage file is accumulated. Coverage files from multiple runs can be assembled together. The result is a detailed Coverage Analysis of a particular process.

With Dynamic Code Coverage information can be gathered at any point in the software lifecycle. In development, Dynamic Code Coverage can be used for unit testing. In testing, Dynamic Code Coverage can be used to determine test suite effectiveness. In pre-production, Dynamic Code Coverage can determine which modules are of most interest to a particular customer. In production, Dynamic Code Coverage can be used to determine which features and modules are actually being used.

With this wealth of information, an incremental, iterative strategy can be developed to make sure all of the software is tested before it makes it to your customers.

The output can be summarized in a variety of ways in order get different views on the depth of coverage. Each source file can be annotated with function, line, decision and branch information.

Platforms
Solaris, Linux

Entry updated July 15, 2004.


JavaCov

Kind of Tool
Decision-level Java Coverage Tool
Organization
Alvicom
http://www.alvicom.hu/products/JavaCov
Software Description
JavaCov is a coverage-testing Eclipse plugin which can be used in various J2SE and J2EE projects. JavaCov is capable of verifying the so-called MC/DC (Modified Condition/Decision Coverage) testing criterion. It monitors each branch and MC/DC criterion, even in the case of multi-thread applications. It monitors the coverage contribution of new test cases. Test cases are optimized. The test cases covering a certain branch can be displayed. It is also supports Apache Ant, and generates HTML/XML reports.
Platforms
Java+

Entry updated July 13, 2006.


CoverageMeter

Kind of Tool
Code Coverage Tool for C/C++
Organization
CoverageMeter
http://www.coveragemeter.com/
Software Description
CoverageMeter is a complete code coverage tool chain. It analyzes the performance of a software validation and permits to optimizes the testing process of a C/C++ applications: finding untested code sections, reducing the amount of tests by finding redundant tests, finding unused source code. (dead code), ... CoverageMeter instruments your source code during the compilation and generates an instrumented program. The instrumented program keeps track of the code instructions that were executed while the program was running and produces an execution report (csexe file) upon program termination. It is composed of 2 tools: CoverageScanner and CoverageBrowser. CoverageScanner is a command line tool which substitutes the compiler. Principally, it inserts instrumentation instructions into the preprocessed source code and calls up the native compiler. (GCC, Borland C, Microsoft Visual C compiler,...) A database (.csmes file), which contains the list of instrumentations and a copy of the instrumented source code, is generated at the same time. CoverageScanner is configurable via a profile and can be adapted to most compilers present on the market. After the generation, the program can be run as usual and produces an execution report on exit. (.csexe file) The execution report can be analyzed and managed using CoverageBrowser. CoverageBrowser is a graphical interface which enables the user to browse and manage the execution reports. It therefore enables the user to find untested code portions, dead code and inefficient tests.
Platforms
Windows and UNIX Systems for the compiler wrapper.

Entry updated May 25, 2006.


McCabe IQ

Kind of Tool
Dynamic Test Coverage and Static Complexity Analysis Tool
Organization
McCabe Software, Inc.
http://www.mccabe.com/
Software Description
McCabe IQ provides comprehensive test / code coverage to focus, monitor, and document software testing processes. Using industry-standard testing methods and advanced dynamic analysis techniques, McCabe IQ accurately assesses the thoroughness of your testing and aids in gauging the time and resources needed to ensure a well-tested application.
Platforms
McCabe IQ is platform independent.
 

Entry updated August 21, 2006.

 

 

本文转自CoderZh博客园博客,原文链接:http://www.cnblogs.com/coderzh/archive/2009/03/21/1418355.html,如需转载请自行联系原作者

相关文章
|
28天前
|
SQL Web App开发 编解码
如何编写全面的测试覆盖
【10月更文挑战第25天】在实际编写测试用例的过程中,需要根据项目的具体特点和需求,灵活运用各种测试方法和技术,不断完善测试覆盖,以确保软件系统的质量。
|
2月前
|
设计模式 关系型数据库 测试技术
进阶技巧:提高单元测试覆盖率与代码质量
【10月更文挑战第14天】随着软件复杂性的不断增加,确保代码质量的重要性日益凸显。单元测试作为软件开发过程中的一个重要环节,对于提高代码质量、减少bug以及加快开发速度都有着不可替代的作用。本文将探讨如何优化单元测试以达到更高的测试覆盖率,并确保代码质量。我们将从编写有效的测试用例策略入手,讨论如何避免常见的测试陷阱,使用mocking工具模拟依赖项,以及如何重构难以测试的代码。
62 4
|
7月前
|
前端开发 Java 测试技术
什么是回归测试?
什么是回归测试?
139 0
什么是回归测试?
|
7月前
|
数据可视化 Devops 测试技术
你喜欢什么样的测试报告?
你喜欢什么样的测试报告?
|
测试技术
代码覆盖率
  经常有人问这样的问题:“我们在做单元测试,那测试覆盖率要到多少才行?”。答案其实很简答,“作为指标的测试覆盖率都是没有用处的。”   Martin Fowler(重构那本书的作者)曾经写过一篇博客来讨论这个问题,他指出:把测试覆盖作为质量目标没有任何意义,而我们应该把它作为一种发现未被测试覆盖的代码的手段。
|
Java 测试技术
利用JaCoCo统计接口测试中代码覆盖率
做接口测试,很多时候都会听到,你接口测试的覆盖率是多少?很多人会回答80%,你怎么统计的,他说覆盖了80%的需求。这个回答没有错误,但是片面,我们不能只考虑需求的覆盖率,还有业务的覆盖率,场景的覆盖率,接口的覆盖率,代码的覆盖率等,本文介绍接口测试的代码覆盖率。那么我们来看看如何是实现的。
利用JaCoCo统计接口测试中代码覆盖率
|
安全 测试技术
如何进行回归测试
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的一种测试方法。回归测试是指重复以前的全部或部分的相同功能测试。新加入测试的模块,可能对其他模块产生副作用,因此要进行某些程度的回归测试。回归测试的重心,是以关键性模块为核心。
374 1
|
Ubuntu 测试技术 C语言
C++语言的单元测试与代码覆盖率
# 前言 测试是软件开发过程中一个必须的环节,测试确保软件的质量符合预期。 对于工程师自己来说,单元测试也是一种提升自信心的方式。 直接交付没有经过测试的代码是不太好的,因为这很可能会浪费整个团队的时间,在一些原本早期就可以发现的问题上。而单元测试,就是发现问题一个很重要的环节。 本文以C++语言为基础,讲解如何进行单元测试并生成测试报告。 在工具上,我们会使用下面这
4501 0
|
测试技术 Android开发