Written by Member
Software Testing Techniques
BullseyeCoverage Code Coverage Analyser for C++ and C
Code Coverage analysing tool that tells you how much of your source code was tested. You can use this information to quickly focus your testing effort and pinpoint areas that need to be reviewed. Code coverage analysis is useful during unit testing, integration testing, and final release. BullseyeCoverage enables you to create more reliable code and save time.
* Function coverage gives you a quick overview and condition/decision coverage gives you high precision
* Works with everything you can write in C++ and C, including system-level and kernel mode
* Short learning curve
* Integrated with Microsoft Visual Studio
* Include or exclude any portion of your project code
* Run-time source code included, for custom environments
* Simple licensing.
GCT (free, open source)
GCT By Brian Marick. His third coverage tool. It instruments C code in a source-to-source translation, then passes the instrumented code to a compiler. Its first major use was on a Unix kernel, so it is suitable for measuring the coverage of embedded systems. In addition to branch and multiple-condition coverage, it also has boundary-condition and loop coverage.
NCover, the open source code coverage tool for .NET.
NCover provides statistics about your code, telling you how many times each line of code was executed during a particular run of the application. The most common use of code coverage analysis is to provide a measurement of how thoroughly your unit tests exercise your code. After running your unit tests under NCover, you can easily pinpoint sections of code that are poorly covered and write unit tests for those portions. Code coverage measurement is a vital part of a healthy build environment.
PartCover
This is analog for NCover application, but has some advantages. It specifies which assemblies and classes you want to report and can work not only assemblies that have debug symbols. Manuals are included and will be placed in program directory
Testwell CTC++ (for C and C++ code)
develops and markets code level testing tools for C, C++ and Java languages."code coverage measuring, dynamic analysis (C/C++: CTC++)
code complexity measuring, static analysis (C/C++/Java: CMT++ and CMTJava)
unit test execution framework (C++: CTA++)
In these categories Testwell is one of the leading vendors. The Testwell tools are simple to use.The tools are light but still contain all the essential "must" features of an industry-strength testing tool.
CppUnit - A C++ unit testing framework that started as a port of JUnit to C++.
LeakTracer - Library for tracing and analyzing memory leaks in C++ programs. [Public Domain]
Libcwd - A thread-safe library to support C++ developers with debugging their applications. It includes support for ostream-based debug output to custom debug channels, memory allocation debugging and run-time support like printing source file locations and demangled names of template parameters.
log4cplus - Port of the log4j logging library to C++.
Log4cpp - A library for flexible logging to files, syslog, IDSA and other destinations, modeled after the Log4j Java library. [Open Source, LGPL]
Memory Supervision System - Helps in the infamous task of finding bugs related to dynamical memory during the development of programs. [Open Source, GPL]
mockpp - Mock Objects for C++, a platform independent generic unit testing framework for C++. Its goal is to facilitate developing unit tests in the spirit of Mock Objects for Java, EasyMock and jMock.
mpatrol - A powerful debugging tool that attempts to diagnose run-time errors that are caused by the wrong use of dynamically allocated memory. [Open Source, LGPL]
Pantheios - A C/C++ logging API library, offering an optimal combination of 100% type-safety, efficiency, genericity and extensibility. [Open Source]
Compile-Time Assertions & Debugging - It's common practice to use assertions to check invariants at runtime, but assertions can be equally useful at compile time for doing things like checking arrays for proper size and order.