What is difference between Test coverage and Requirement traceability matrix?
Test coverage is an umbrella term for any type of objective number on risk investigation some testing endeavor have performed.
One type of coverage is Requirement / Acceptance Criteria coverage: "Which requirement statements were investigated in a testing session?"
One way of calculating a number for it is to use the RTM in reverse.
Req 1 -> Testing idea (TI) 1, TI 3, TI 4
Req 2 -> TI 2, TI 1, TI 5
Req 3 -> TI 2, TI 5, TI 1
TI 1 -> Req 1, Req 2
TI 2 -> Req 2, Req 3
TI 3 -> Req 1
TI 4 -> Req 1
TI 5 -> Req 2, Req 3
If you have exercised the TIs 1 and 4 during a testing session, you can say you (somehow) covered Requirements 1 and 2.
Test coverage is the measure to know how much testing we have done. Test coverage tells are we satisfied with the testing or not. Test coverage tell how much area, how much functionality or features we have tested.
Requirements traceability matrix is one of the way to measure the test coverage specially requirements coverage.
These days software testing company follow the approach of creating Requirement Traceability Matrix
RTM lists out the test cases covering the aspects of that specific requirement.
- Let say the requirement of Sign up feature
- The matrix will include details like Requirement ID, Requirement description, Testcase ID and status.
- This would help the team to understand the level of testing activities done for the specific product.
Test Coverage -> Test coverage is a measure of how much of the product being tested is covered by tests
Test-cases can be executed either for the whole product or product modules(which covers multiple requirements/features)
In this case, it will represent the percentage for the features/modules covered in tests
Let say, executing test-cases for the main website page -> It will cover multiple features/requirements like-> Login feature, Sign up feature and Main links on the web page
Test coverage matrix is a checklist that ensures that the functionality of the given screen(unit) is checked in all possible combinations (positive and negative) which have not been covered in test cases. Test coverage matrix is usually prepared for a screen having large number of controls (text boxes, dropdowns, buttons, etc) usually, test coverage matrix is prepared in a spreadsheet having all the controls (text boxes, dropdowns, buttons, etc) in the columns and then all possible entries in those fields in the rows with an ''yes'' or ''no'' in the rows against the controls listed in the columns. For example, consider a ''login'' screen wherein we have ''username'' and ''password" text fields.
While preparing the test coverage matrix, the first column will be ''s.no'' and the second will be ''username" and ''password" will be the third field followed by ''ok'' and ''Cancel'' button. Then, in the first row for s.no 1, enter ''yes'' for both ''user name'' and ''password'' columns, ''yes'' implying that a value is entered in that field. In the second row, enter ''yes'' and ''no'' and in the third row, ''no'' and 'yes'' and so on.
The complexity increases with the number of controls on the screen. Each of the rows is considered as one condition and executed while testing. This is how we prepare the test coverage matrix. (this is a black-box testing technique).
While the Traceability matrix serves in mapping the test cases to the requirements. It serves as a checklist wherein all the requirements (of srs) are listed and the test cases covering the corresponding requirement are listed against each requirement. Every company may have its own template for RTM, but they serve the same purpose as described above