Nehmen wir an, ein Scrum-Team muss eine neue Funktion implementieren.
Schreiben QA-Ingenieure automatisierte Tests für die Funktion, während Entwickler Code für die Funktion schreiben? Mit anderen Worten, QA-Ingenieure haben noch nichts zu testen, aber schreiben sie bereits automatisierte Tests? Es ist also wie die TDD- Praxis (bei der wir zuerst einen Test erstellen und dann Code schreiben), richtig?
Schreiben QA-Ingenieure automatisierte Tests für die Funktion zur gleichen Zeit wie die Entwickler den Code der Funktion schreiben?
Im Idealfall ja. Die beiden Aktivitäten müssen von einer Zusammenarbeit zwischen Entwicklern und Testern durchgeführt werden. TDD ist eine andere Technik, die verwendet werden kann. Die Idee ist, sich von dem Verhalten abzuwenden, an das viele gewöhnt sind, nämlich dass Entwickler den Code schreiben und ihn dann schrittweise an Tester weitergeben.
Wenn Sie die oben erwähnte Zusammenarbeit nicht von Anfang an erreichen oder erst testen oder TDD verwenden können und Sie sich noch in einer Übergangsphase vom alten Ansatz befinden, sollten Sie zumindest versuchen, die Zeit zwischen dem Schreiben der zu verkürzen Code und Testen und vermeiden Sie, dass sich das Testen am Ende des Sprints häuft .
Im Scrum-Framework ist es Sache des Teams, zu entscheiden, wie Backlog Items geliefert werden. Viele Teams verfolgen einen Ansatz im TDD/BDD-Stil, obwohl dies normalerweise auch von explorativen Tests und UAT begleitet wird.
Wenn es um die Verwaltung von TDD mit kontinuierlicher Integration geht, lautet die Antwort auf Ihre Frage Verzweigung . Von Entwicklern wird normalerweise erwartet, dass sie einen neuen Zweig für zu inkrementierenden Code und dann eine Pull-Anforderung für getesteten Code (einschließlich der Tests) für die Peer-Review erstellen. Alles hängt davon ab, wie Ihr Team arbeitet, also ist dies letztendlich eine Frage, die Ihr Entwicklungsteam klären muss.
Die Antwort darauf hängt von der Story und der Definition of Done für Ihr Unternehmen ab. Sie könnten den Test für ein Feature in einem Sprint entwickeln und das Feature in einem anderen. Wenn Ihre Definition von erledigt keinen Test enthält, kann ein Test später hinzugefügt werden oder nicht.
Ich würde empfehlen, dass Sie sich auf das konzentrieren, was Sie erledigen möchten, und Scrum verwenden, um dies zu erreichen, anstatt sich darauf zu konzentrieren, was Scrum zulässt oder nicht.
Daniel
Bogdan
Daniel
Bogdan
chrylis -vorsichtigoptimistisch-
Nicht der Typ
Daniel
Nicht der Typ