Wir haben drei Testsuiten:
- Eine "kleine" Suite, deren Betrieb nur ein paar Stunden dauert
- Eine "mittlere" Suite, die mehrere Stunden dauert und normalerweise jede Nacht (jede Nacht) ausgeführt wird.
- Eine "große" Suite, deren Ausführung eine Woche + dauert
Wir haben auch einige kürzere Testsuiten, aber ich konzentriere mich hier nicht darauf.
Die aktuelle Methode besteht darin, die kleine Suite vor jedem Commit für den Trunk auszuführen. Dann wird die mittlere Suite jede Nacht ausgeführt, und wenn sich am Morgen herausstellte, dass sie fehlgeschlagen ist, versuchen wir zu isolieren, welche der gestrigen Commits schuld waren, diese Commits zurückzusetzen und die Tests erneut zu versuchen. Ein ähnlicher Vorgang wird für die große Suite nur wöchentlich statt nachts durchgeführt.
Leider fällt die Medium Suite ziemlich häufig aus. Das bedeutet, dass der Kofferraum oft instabil ist, was äußerst ärgerlich ist, wenn Sie Änderungen vornehmen und testen möchten. Es ist ärgerlich, denn wenn ich aus dem Kofferraum auschecke, kann ich nicht sicher wissen, ob es stabil ist, und wenn ein Test fehlschlägt, kann ich nicht sicher wissen, ob es meine Schuld ist oder nicht.
Meine Frage ist, gibt es eine bekannte Methode, um mit solchen Situationen so umzugehen, dass der Kofferraum immer in Topform bleibt? zB "Commit in einen speziellen Precommit-Zweig, der dann den Trunk jedes Mal regelmäßig aktualisiert, wenn die Nacht vergeht".
Und spielt es eine Rolle, ob es sich um ein zentrales Versionsverwaltungssystem wie SVN oder ein verteiltes wie git handelt?
Übrigens bin ich ein Junior-Entwickler mit einer eingeschränkten Fähigkeit, Dinge zu ändern. Ich versuche nur zu verstehen, ob es einen Weg gibt, mit diesen Schmerzen umzugehen, die ich erlebe.