0
0
Testing Fundamentalstesting~10 mins

Why defect tracking improves quality in Testing Fundamentals - Test Execution Impact

Choose your learning style9 modes available
Test Overview

This test simulates a defect tracking process in a software project. It verifies that defects are logged correctly, assigned, fixed, and retested, ensuring quality improvement through systematic tracking.

Test Code - unittest
Testing Fundamentals
class DefectTracker:
    def __init__(self):
        self.defects = []

    def log_defect(self, defect):
        self.defects.append({'defect': defect, 'status': 'open', 'assigned_to': None})

    def assign_defect(self, index, developer):
        self.defects[index]['assigned_to'] = developer

    def fix_defect(self, index):
        if self.defects[index]['status'] == 'open':
            self.defects[index]['status'] = 'fixed'

    def retest_defect(self, index):
        if self.defects[index]['status'] == 'fixed':
            self.defects[index]['status'] = 'closed'

import unittest

class TestDefectTracking(unittest.TestCase):
    def test_defect_lifecycle(self):
        tracker = DefectTracker()
        tracker.log_defect('Login button not working')
        self.assertEqual(len(tracker.defects), 1)
        self.assertEqual(tracker.defects[0]['status'], 'open')

        tracker.assign_defect(0, 'Alice')
        self.assertEqual(tracker.defects[0]['assigned_to'], 'Alice')

        tracker.fix_defect(0)
        self.assertEqual(tracker.defects[0]['status'], 'fixed')

        tracker.retest_defect(0)
        self.assertEqual(tracker.defects[0]['status'], 'closed')
Execution Trace - 5 Steps
StepActionSystem StateAssertionResult
1Create DefectTracker instanceEmpty defect listdefects list length is 0PASS
2Log a new defect 'Login button not working'defects list has 1 defect with status 'open' and no assigneedefects list length is 1 and status is 'open'PASS
3Assign defect to developer 'Alice'defect assigned to Aliceassigned_to is 'Alice'PASS
4Fix the defectdefect status changed to 'fixed'status is 'fixed'PASS
5Retest the defectdefect status changed to 'closed'status is 'closed'PASS
Failure Scenario
Failing Condition: Defect status does not update correctly after fix or retest
Execution Trace Quiz - 3 Questions
Test your understanding
What is the first status of a newly logged defect?
Aclosed
Bfixed
Copen
Dassigned
Key Result
Tracking defects through clear statuses helps teams know what needs fixing and what is done, improving software quality by making the process visible and manageable.