and Test Analysis
Automated testing can be effective but is often inefficient in practice. Code coverage is commonly used as the metric to determine ‘adequate vs. inadequate’ testing. While coverage tools provide some basic guidance about the percent of the code that’s covered by an automated test, they lack the ability to understand the ripple effect of change or help teams prioritize their automated testing efforts.
With Coverity Test Advisor, you can:
- Focus and prioritize your testing efforts on the most critical areas of the code.
- Define a meaningful testing policy based on your high-risk code criteria.
- Automatically analyze your code with every change and accurately identify critical areas of the code that are not covered by an automated test.
Test Rule Configurator
Establish and enforce consistent unit testing rules across projects and teams based on your high-risk criteria. This ensures high-risk and changed code is tested sufficiently as part of a standardized process. For example, a sample test rule could be defined as follows:
100% coverage must be achieved for:
- All new code since the last release
- Critical components A, B and C
- Excluding exception handling code
Coverity Test Advisor provides sample rules to help you get started and supports the creation of customized rules based on your organization and codebase. Testing rules guide users on what tests they need–and don’t need–to write.
Accelerate testing time with insight into what needs attention and what you can ignore. Coverity Test Advisor provides a list of recommended tests based on the change in the source code since the last analysis was run, and identifies which tests to run first.
Change Impact Analysis
The Coverity platform provides sophisticated source code analysis, leveraging patented techniques for a deep understanding of behavior, criticality and change impact. It automatically maps code and function dependencies to analyze all impacted code related to a change–both code that has been directly modified and unmodified code impacted by the code change. Risk and code change go hand-in-hand, so the only way to ensure complete testing coverage over high-risk code is to understand the full scope and impact of a change.
Test Data Correlation Analysis
Automatically correlate discrete data from multiple sources, including the Coverity platform, test coverage and source control management, turning data into actionable testing intelligence so you can easily identify test rule violations based on your defined rules.
For example, the only way to verify if the above testing rule has been met is to correlate multiple pieces of information.
Test coverage data provides:
SCM change history data provides:
- all new code since the last release
The Coverity platform’s analysis data provides:
- components A, B, and C
- all other code impacted by code changes
- excluding exception handling code
Test rule violations are surfaced by Coverity Test Advisor for quick and easy remediation.
Automated Test Violation Management
Provide information and guidance to help users efficiently manage test rule violations to closure.
- Prioritize violations to focus on the most critical test issues.
- Automatically assign violations to the developer responsible for the change.
- Provide specific remediation guidance including level of coverage, covering tests, code age and code not requiring coverage.
Coverity Connect is the collaborative issue management interface that efficiently manages all issues surfaced by the Coverity or third party analysis engines from identification to resolution, within a unified, automated workflow.
Coverity also provides seamless bi-directional integration with existing lifecycle tools to make development testing a natural part of the SDLC process.
Check out our complete list of SDLC integrations here.
Coverity Test Advisor drives accountability by establishing a standard testing process across your organization and ensuring test completeness.
Verify that developers have created and executed the necessary unit tests in lock step with code development. Create a testing stage gate within Coverity Policy Manager to validate code has been completely tested before it’s promoted to QA.