0
0
Testing Fundamentalstesting~10 mins

Defect lifecycle in Testing Fundamentals - Test Execution Trace

Choose your learning style9 modes available
Test Overview

This test simulates the defect lifecycle process in a software project. It verifies that a defect moves through all expected states from New to Closed, ensuring proper tracking and resolution.

Test Code - PyTest
Testing Fundamentals
class Defect:
    def __init__(self):
        self.state = 'New'

    def assign(self):
        if self.state == 'New':
            self.state = 'Assigned'

    def start_progress(self):
        if self.state == 'Assigned':
            self.state = 'In Progress'

    def fix(self):
        if self.state == 'In Progress':
            self.state = 'Fixed'

    def verify(self):
        if self.state == 'Fixed':
            self.state = 'Verified'

    def close(self):
        if self.state == 'Verified':
            self.state = 'Closed'


def test_defect_lifecycle():
    defect = Defect()
    assert defect.state == 'New'

    defect.assign()
    assert defect.state == 'Assigned'

    defect.start_progress()
    assert defect.state == 'In Progress'

    defect.fix()
    assert defect.state == 'Fixed'

    defect.verify()
    assert defect.state == 'Verified'

    defect.close()
    assert defect.state == 'Closed'

    print('Defect lifecycle test passed')

if __name__ == '__main__':
    test_defect_lifecycle()
Execution Trace - 7 Steps
StepActionSystem StateAssertionResult
1Test starts and creates a new defect instanceDefect state is 'New'Assert defect.state == 'New'PASS
2Assign the defectDefect state changes to 'Assigned'Assert defect.state == 'Assigned'PASS
3Start progress on the defectDefect state changes to 'In Progress'Assert defect.state == 'In Progress'PASS
4Fix the defectDefect state changes to 'Fixed'Assert defect.state == 'Fixed'PASS
5Verify the defect fixDefect state changes to 'Verified'Assert defect.state == 'Verified'PASS
6Close the defectDefect state changes to 'Closed'Assert defect.state == 'Closed'PASS
7Test ends successfullyDefect lifecycle completed-PASS
Failure Scenario
Failing Condition: Defect state does not change as expected at any lifecycle step
Execution Trace Quiz - 3 Questions
Test your understanding
What is the initial state of the defect when created?
AAssigned
BNew
CIn Progress
DClosed
Key Result
Always verify each state transition in a defect lifecycle with assertions to ensure defects are tracked correctly through all stages.