Search code examples
unit-testingtestingregression-testing

Regression test in a ISTQB test exam


This is the problem statement:


You are testing a user story with three acceptance criteria: AC1, AC2 and AC3. AC1 is covered by test case TC1, AC2 by TC2, and AC3 by TC3. The test execution history had three test runs on three consecutive versions of the software as follows:

Execution 1
TC1 (1) Failed
TC2 (2) Passed
TC3 (3) Failed
Execution 2 Execution 3
(4) Passed (7) Passed
(5) Failed (8) Passed
(6) Failed (9) Passed

Tests are repeated once you are informed that all defects found in the test run are corrected and a new version of the software is available. Which of the above tests are executed as regression tests? a) Only 4, 7, 8, 9 b) Only 5, 7 c) Only 4, 6, 8, 9 d) Only 5, 6 Select ONE option


The correct answer is supposedly B but I don't understand why. In my opinion, all the tests that have passed in the latest version should be executed (7, 8 and 9). Can someone explain to me?

I have tried to think about what tests are necessary to ensure that the regression is covered. I don't see the point in the answer marked as correct, since it executes tests that are not from the last execution.


Solution

  • Take this with a grain of salt since I'm studying myself for ISTQB right now. Comments with improvements are welcome. I assume they want to know in which cases you are 100% sure it must have been a regression test.

    Summarized, a regression test is to make sure something didn't break based on a change somewhere else in a system. Confirmation testing is testing where you recheck if something broken is now fixed.

    • In execution round 1, everything was tested the first time, so it's not regression.
    • In execution round 2:
      • TC4 and 6 could have been a confirmation test, since something that was broken is now working again.
      • TC5 must have been regression test. Something that was working before now is suddenly broken. So they tested something that was already working AKA regression.
    • round 3:
      • TC7 must have been a regression test, because something that was already tested was tested again.
      • TC8 and TC9: could have been confirmation test, since something that failed is now working.

    So it must have been 5 and 7 since they are the only ones where you are sure that they retested something that was already working.