To pytanie skierowane jest do doświadczonych testerów lub przewodów pomiarowych. Oto scenariusz z projektu oprogramowania:
Powiedzmy, że zespół programistów ukończył pierwszą iterację 10 funkcji i udostępnił ją do testów systemowych. Zespół testowy stworzył przypadki testowe dla tych 10 funkcji i oszacował 5 dni na testowanie. Zespół twórców oczywiście nie może siedzieć bezczynnie przez 5 dni i zaczynają tworzyć 10 nowych funkcji do następnej iteracji. W tym czasie zespół testowy znalazł wady i podniósł kilka błędów. Błędy są traktowane priorytetowo i niektóre z nich muszą zostać naprawione przed następną iteracją. Problem polega na tym, że nie zaakceptują nowej wersji z nowymi funkcjami lub zmianami w istniejących funkcjach, dopóki wszystkie te błędy nie zostaną naprawione. Zespół testowy mówi, że w ten sposób możemy zagwarantować stabilne wydanie do testowania, jeśli wprowadzimy również nowe funkcje wraz z poprawką błędu. Nie mogą również wykonywać testów regresji wszystkich swoich przypadków testowych podczas każdej iteracji.
Oznacza to, że zespół programistów musi utworzyć gałąź kodu wyłącznie w celu naprawy błędów i inną gałąź, w której będą kontynuować rozwój. Jest więcej łączących się kosztów ogólnych, szczególnie ze zmianą faktorów i zmianami architektonicznymi.
Czy możesz się zgodzić, czy jest to powszechna zasada testowania. Czy problem zespołu testowego jest ważny? Czy spotkałeś się z tym w praktyce w swoim projekcie.