Diese Frage richtet sich an erfahrene Tester oder Testleiter. Dies ist ein Szenario aus einem Softwareprojekt:
Angenommen, das Entwicklerteam hat die erste Iteration von 10 Funktionen abgeschlossen und für Systemtests freigegeben. Das Testteam hat Testfälle für diese 10 Funktionen erstellt und 5 Testtage veranschlagt. Das Entwicklerteam kann natürlich nicht 5 Tage im Leerlauf sitzen und beginnt mit der Erstellung von 10 neuen Funktionen für die nächste Iteration. Während dieser Zeit fand das Testteam Fehler und brachte einige Fehler hervor. Die Fehler werden priorisiert und einige müssen vor der nächsten Iteration behoben werden. Der Haken ist, dass sie die neue Version mit neuen Funktionen oder Änderungen an vorhandenen Funktionen erst akzeptieren würden, wenn alle diese Fehler behoben sind. Das Testteam sagt, dass wir auf diese Weise eine stabile Testversion garantieren können, wenn wir neben der Fehlerbehebung auch neue Funktionen einführen. Sie können auch nicht bei jeder Iteration Regressionstests für alle Testfälle durchführen.
Dies bedeutet, dass das Entwicklerteam einen Codezweig ausschließlich zur Fehlerbehebung und einen weiteren Zweig erstellen muss, in dem die Entwicklung fortgesetzt wird. Insbesondere durch Refactoring und architektonische Änderungen wird mehr Aufwand für das Zusammenführen verursacht.
Können Sie zustimmen, ob dies ein gängiges Testprinzip ist? Ist das Anliegen des Testteams gültig? Haben Sie dies in Ihrem Projekt in der Praxis erlebt?