Test Overview
This test calculates defect density and detection rate for a software module. It verifies that the calculations match expected values based on given defect counts and lines of code.
This test calculates defect density and detection rate for a software module. It verifies that the calculations match expected values based on given defect counts and lines of code.
import unittest class TestDefectMetrics(unittest.TestCase): def test_defect_density_and_detection_rate(self): total_defects_found = 25 total_lines_of_code = 5000 total_defects_reported = 30 # Calculate defect density (defects per 1000 lines of code) defect_density = total_defects_found / (total_lines_of_code / 1000) # Calculate detection rate (percentage of defects found vs reported) detection_rate = (total_defects_found / total_defects_reported) * 100 # Assert defect density is as expected self.assertAlmostEqual(defect_density, 5.0, places=2) # Assert detection rate is as expected self.assertAlmostEqual(detection_rate, 83.33, places=2) if __name__ == '__main__': unittest.main()
| Step | Action | System State | Assertion | Result |
|---|---|---|---|---|
| 1 | Test starts | Test framework initializes and prepares to run test_defect_density_and_detection_rate | - | PASS |
| 2 | Assign total_defects_found = 25, total_lines_of_code = 5000, total_defects_reported = 30 | Variables set with given values | - | PASS |
| 3 | Calculate defect_density = 25 / (5000 / 1000) = 5.0 | defect_density calculated as 5.0 defects per 1000 lines | - | PASS |
| 4 | Calculate detection_rate = (25 / 30) * 100 = 83.33 | detection_rate calculated as 83.33% | - | PASS |
| 5 | Assert defect_density equals 5.0 within 2 decimal places | defect_density is 5.0 | defect_density == 5.0 | PASS |
| 6 | Assert detection_rate equals 83.33 within 2 decimal places | detection_rate is 83.33 | detection_rate == 83.33 | PASS |
| 7 | Test ends successfully | All assertions passed, test completes | - | PASS |