Software LifeCycle Group - Engineering Quality into your software lifecycle.

C++Test

  • The leader in automated unit testing
  • Auto-generates test cases, harnesses & stubs
  • Tests individual classes or large, complex applications

C++Test Product Overview

An automated C/C++ unit testing and coding standard analysis product. It automatically generates and executes unit tests for instant verification, and allows users to customize and extend these tests as needed. In addition, it checks whether code follows over 700 coding standard rules.

Parasoft C++test is an automated code analysis and unit testing product for C and C++ development teams. Using C++test reduces the time and resources required to effectively assess and improve C/C++ software reliability, security, and performance. C++test features automation of both static and dynamic analysis, extensive coverage reporting, and support for heterogeneous multi-platform development environments.

To prevent errors and ensure code satisfies the team's designated coding standards, C++test checks whether code complies with over 700 C/C++ development rules and any number of custom rules. To expose reliability, security, and functionality problems within each unit, C++test examines each class or function, then generates and executes unit test cases designed to achieve the selected testing goal (expose exceptions through stress testing, create a regression test suite that captures the current code behavior, and so on). Additionally, it provides fast and easy ways to add and execute user-defined test cases. To ensure continued functionality, C++test's automated regression testing identifies problems introduced by code modifications.

C++test helps teams improve C/C++ code quality throughout the software lifecycle and increase productivity across the entire team. Developers can use it to test code as they write it, and developers and QA team members can use it in concert with Parasoft Insure++ to identify critical problems before an imminent release/deployment deadline. C++test works as part of a comprehensive team-wide Automated Error Prevention solution that reduces delivery delays and improves the quality and security of complex, multi-language enterprise applications.

C++test is packaged and licensed in the following editions designed to separate functionality to specific roles and processes in the typical software development environment:

  • C++test Professional Edition
  • C++test Architect Edition
  • C++test Server Edition

Edition details are described in C++test Editions and Licenses.

Benefits

  • Decrease time-to-market by identifying and fixing defects early in development cycle
  • Improve team development efficiency by automating best practices and deploying a consistent workflow for code static analysis and unit testing
  • Implement and automatically enforce team-or company-specific coding standards and guidelines
  • Prevent code errors by utilizing custom coding rules to catch application-specific defects
  • Raise effectiveness of code reviews by focusing on functional and design aspects and leveraging static analysis for basic conformance checks
  • Automatically generate baseline unit and module tests
  • Ensure code correctness using highly sensitive regression testing at the API level
  • Assess effectiveness of existing tests using built-in coverage engine with six code coverage metrics
  • Support multi-platform development with one code quality management tool

Features

  • Coding standards static analysis with configurable sets of over 700 built-in rules, including nearly 50 security rules
  • RuleWizard for creating custom rules using graphical code representation or automatically from code samples
  • Team-wide or company-wide rule sharing with Team Configuration Manager
  • Context-sensitive and traceable suppression of rule violations
  • Automated generation of executable unit and API tests for C and C++ code
  • Direct import of existing CppUnit tests
  • Built-in code coverage analysis, including line, path, basic block, branch (decision), simple condition, MCDC coverage metrics
  • Seamless integration with code debuggers to monitor execution and results of unit tests
  • Graphical test case editor
  • Object repository with graphical object editor
  • Support for external data sources
  • Text, HTML, and XML reports
  • GUI (interactive) and command-line (batch) mode
  • Seamless integration with Microsoft Visual Studio

System Requirements

Windows

  • Windows NT, Windows 2000, or Windows XP
  • One of the following compilers: Microsoft® Visual C++® 6.0, .NET®, .NET ® 2003, or 2005; GCC 2.95.x, 3.2.x, 3.3.x, or 3.4.x; Green Hills MULTI for Windows x86 Native v4.0.1
  • Pentium class processor 800MHz
  • 512 MB RAM (1 G recommended)
  • 150 MB free disk space for C++test installation
  • Additional disk space for C++test projects data

UNIX

  • Linux Red Hat kernel 2.4 (with System V IPC) or higher with glibc 2.2 or higher and an x86-compatible processor OR Solaris 7, 8, 9 and an UltraSPARC processor
  • One of the following compilers:
  • Linux: GCC 2.95x, 3.2.x, 3.3.x, 3.4.x , or 4.0.x
  • Solaris: GCC 2.95x, 3.2.x, 3.3.x, 3.4.x, or 4.0.x; Sun® C++ 5.3® (Sun Forte C++ 6 Update 2), Sun® C++ 5.5® (Sun ONE Studio 8), or Sun® C++ 5.6® (Sun ONE Studio 9); Green Hills MULTI for SPARC Solaris Native v4.0.1
  • 512 MB RAM (1 G recommended)
  • 150 MB free disk space for C++test installation
  • Additional disk space for C++test projects data

C++test Editions/Licenses

C++test is available in the following editions:

  • Professional Edition: A completely integrated tool suite that enables developers/testers to perform automated code analysis (with built-in coding standards/rules and any custom rules developed in the Architect Edition) and automated unit testing (with automatically-generated and user-defined test cases) from the desktop. Tests that scan multiple classes/files/directories can be performed directly from the development environment, with results immediately reported in the GUI for review/repair. Additionally, problems identified by Server Edition tests can be imported into the GUI for review/repair. The Professional edition is intended to be installed and licensed on every developer and tester desktop.
  • Architect Edition: Includes the Professional Edition functionality, and adds the RuleWizard module, which enables the creation of custom coding standards/rules using a graphical interface. The Architect Edition is intended for use by an architect or the individual responsible for establishing coding standards for the organization.
  • Server Edition: Includes the Professional Edition functionality, and adds support for performing automated code analysis and unit testing as batch or “server” processes. The provided command-line interface can test the complete project code base and be integrated into the automated build process. Results are written to customizable reports, which can be easily accessed by team members. Additionally, developers and QA can import Server Edition test results into the desktop GUI for review/repair. The Server Edition includes the Team Configuration Manager (TCM) module that enables centralized administration and sharing of coding standards/rule sets, unit testing configurations, and test assets. TCM is designed for development teams that want to ensure consistency in test practices across the team. When TCM is implemented team-wide, the architect/lead developer can configure and upload standard team-wide test settings/configurations/files, then TCM will automatically share them across all team C++test installations. TCM may be installed and run on any supported computer system (e.g., one of the developers' workstations, the server hosting a Parasoft Server Edition product, or an independent system).

The following optional licenses are available:

  • Desktop Command Line: Allows UNIX and Make users to use selected command-line options from the desktop. Developers/QA can execute tests using scripts or Make, and then analyze the results via the C++test GUI. It is available for all team Professional Editions and Architect Editions when a Server Edition has been purchased.
  • Security: Adds a comprehensive knowledge base of security issues and guidelines that C++test can apply when scanning and analyzing source code. When applied, this module will search and identify a broad range of security vulnerabilities, including such issues as improper input handing, malicious code, concurrency issues, improper logging, command injections, improper error handling, string formatting issue, denial of service, authentication, and many more. This module provides the ability to define a security policy that will guide, direct, and enforce secure coding practices in application development.

C++test Reviews