During the process of software testing, there are different matrix types that come into play. It is important to understand the different types and their applications.
What is a test matrix?
A test matrix is used to capture the actual quality, the effort, the plan, resources and time required to complete all phases of software testing. Using the test matrix, the software tester can write the test cases in detail to ensure that all requirements are covered.
What is a coverage matrix?
A coverage matrix is used to make sure that a piece of software has been thoroughly tested. It includes new feature testing, application coverage and code coverage.
A coverage matrix is used to trace the requirements from the client to the tests that are needed to verify whether the requirements are fulfilled. Like all other testing artefacts, a coverage matrix will vary between organisations.
A coverage matrix, also known as a traceability matrix, maps the test cases and customer requirements.
A coverage matrix helps to break down test cases per requirement, which is very helpful when requirements, test cases and results are laid out next to each other in a document.
A coverage matrix can help to answer the following questions:
- Are we testing enough?
- Are we testing too much?
- What is the level of testing coverage that our test cases achieve?
- If a deadline is looming, what is the level of coverage that we could achieve in half as many tests as we have planned?
Benefits of a coverage matrix
- Assures the quality of the test,
- It can help identify which portions of the code were modified for the update, fix or release,
- It can help to determine the paths in your software that have not been tested,
- It can prevent defects,
- It can assist in keeping time, scope and cost under control,
- It can pick up bugs in the early stages of the project life cycle,
- It can help to determine all the decision points in the software, which can assist with test coverage, and
- It can identify gaps in requirements, test cases and defects at the unit level.