Frage

Die klassischen Beschreibungen der agilen Entwicklung haben lösbaren Code am Ende einer Iteration. Wenn es weitere Tests und Validierung, die ein lösbares Produkt geschehen hat zu erstellen, wie integriert man, dass in den Prozess?

War es hilfreich?

Lösung

Was hält Sie von Ihrem eigenen Prozess zu machen? Wenn Sie etwas finden, besser sein können ... es einfach tun. Wenn es funktioniert, hält daran .. wenn nicht etwas anderes versuchen. Es gibt keine Set-in-Stein-Prozess, wenn Sie Agilität wollen.
Der Begriff, der häufiger verwendet wird, ist ‚ shippable ‘ Code am Ende jeder Iteration. Was bedeutet, dass Sie es an den Endverbraucher (als ein Bündel von DLLs einen Anteil oder persönlich liefern eine CD / DVD kopieren aus) geben kann und er wird Wert erhalten von dessen Verwendung. Ein solcher Code hat alle Unit-Tests bestanden (Entwickler) und Akzeptanztests (Kunden / QA / Analysten) , die für notwendig erachtet wurden für sie "FERTIG!" Zu sein Abnahmetests sind End-to-End-Kundenszenario Simulationen.

Ich bin mir nicht sicher, was Sie durch ‚weitere Tests und Validierung‘ bedeuten .. ich von anderen "Pre-Release-Aktivitäten denken kann

  • bestimmte Tätigkeiten wie „Training Konferenzen“ und die damit verbundene Erstellung von Inhalten.
  • Demos oder Bereitstellen auf Beta-Sites für einen Monat vor der Freigabe, wenn Kundeninstallationen selten oder undurchführbar sind häufig zu tun.
  • Potenzielle Kunden / Experten / Dienstleistungen ein Hands-on-Sneak-Peek an dem neuen Produkt erhalten, die sie hören, über wurden.

Sie stapeln es nur am Ende der letzten Iteration Endpunktes (Wenn Sie besonders pessimistisch wie ich .. nehmen historischen Durchschnitt .. wenn man früh los. Yay!) Also, wenn das Unternehmen hat entschieden, dass Iteration # 14 begrenzt einen guten Satz von Funktionen, die eine Freisetzung sein können .. Es ist nur 14 nach dem Ende der Iteration # ‚n Wochen Add‘ .. ohne komplexe mathematische oder uncertainity an diesem Punkt. Die entscheidende Punkt Wesen, das , wenn Sie die Akteure / Kunden regelmäßig Eingriff wurden, Feedback der und gepflegt akzeptables Maß an Qualität, sollten es keine Überraschungen in letzter Minute sein.

Wenn nötig, können Sie auch haben einen fliegenden Start .. heißt das Trainingsteam nimmt Arbeit als das Entwicklerteam betritt Iteration # 13. Das gibt ihnen einen Monat unter der Annahme, 2 Wochen Iteration .. und hoffentlich würden Sie nicht eine Tonne von Funktionen in der letzten Iteration haben Eingabe .. also bei maximal 2 Wochen nach der Iteration # 14 und unterliegen all Himmel / Organisation Ausrichtungen, sollten Sie sein mit Release und eine wohlverdiente Pause.

Andere Tipps

Zuerst erkennen, dass die Breite / Breite des Tests Sie sprechen von steigt wie das Projekt fortschreitet und die Software gewinnt Umfang und / oder Komplexität. Der Versuch, diese Bemühungen in eine Iteration setzen funktioniert nicht nach einer oder zwei Iterationen, weil dieser. Die Wohlfühl Regel für Iterationen ist ein konstantes Niveau der Arbeit in jedem, wie Projektgeschwindigkeit bestimmt.

Lösungen dieses dann kann man von zwei Straßen nehmen: mit oder ohne Automatisierung. Automation bei den höheren Teststufen würde den Aufwand reduzieren, die zum Ausführen von Tests, die Arbeit fit in der Iteration macht wieder da jeder Iteration nur auf den inkrementalen Umfang / Komplexität erhöht sich konzentrieren. Dies ist nicht immer erreichbar in allen Projektzusammenhängen, auch wenn das, was wir wollen. Überbewertung High-Level-Testautomatisierung ist eine Falle, die man ernst nehmen soll, mit anderen Worten, vermeidet unter der Bewertung, was ein einigermaßen erfahrener Sondierungs Tester auf den Tisch bringen.

Ohne Automatisierung, verschiebt sich das Problem auf eine basierend auf Testmanagement. Parallel, zeitverschobene Test Iterationen sind eine Kandidatenlösung. Zum Beispiel könnten Sie wählen ein Testbestand für System Prüfaufgaben zu schaffen, die mit dem gleichen Rhythmus wie die Entwicklung Iterationen aber verzögert wird, oder zeitverschoben, um so viel wie eine volle Iteration Dauer verwaltet wird. Dies ermöglicht die Tester auf neue Versionen in ihrer eigenen Sandbox ganzheitlich zu arbeiten und ihre eigenen Prioritäten.

Ich würde befürworten, dass die Test Iteration Backlogs in Zusammenarbeit mit den Entwicklern gebaut werden, als würde ich, dass der Entwickler Iteration Backlogs mit den Testern in Zusammenarbeit gebaut werden. Ich würde auch ein Testteam befürworten, die Automatisierung Erfahrung hat, so dass sie die Langeweile und Arbeit in einer explorato Mode automatisieren. Das Portfolio von automatisierten Tests soll bei jeder Iteration erhöhen. Sie sollten auch den Zugriff auf Entwickler Unit-Tests haben und in der Lage, sie auf Veröffentlichungen in der Test Sandbox ausgeführt werden.

Arbeiten out-of-Phase wie diese macht nicht das zunehmende Prüfumfang / Problem weg Komplexität gehen, aber es macht einen Mechanismus für diese Komplexität der Verwaltung, da das Team Backlog Items schafft, Prioritäten Anpassung Automatisierung einige, Erstellen von Checklisten usw. auf das, was sie denken, gemeinsam sollten sie als nächstes tun. Die Chancen sind, werden sie die großen Elemente treffen.

Die Erhaltung der Fähigkeit, für die Tester ganzheitlich zu arbeiten und ihr Verständnis zu entwickeln und ihr Wissen über das System durch automatisierte Tests zu teilen, scheinen alle wert zu sein Streben nach.

Automatisierte Tests nach jedem automatisierten Build bekommt man zumindest einen Teil des Weges.

In Systemtests auf Ihrem Sprint Backlog (in Scrum) oder das Äquivalent.

Ditto Benutzerdokumentation.

Die Durchführung von Systemtests ist in der Regel zu langsam, um fest in der agile Entwicklung integrieren. (Es gibt Ausnahmen, beispielsweise einen ausgereifter Anzug Tests des Browser nicht viel langsamer als typische Unit-Tests ausgeführt werden kann.)

Eine Möglichkeit der Integration ist eine über Nacht bauen oder kontinuierliche Build haben, dass die ganze Zeit läuft, und kann mehrere Stunden dauern, um alle Tests zu erstellen und ausführen. Wenn ein Build alle Tests bestanden (Unit-Test + Systemtests), wird es lösbar, können Sie diesen binären oder den Schnappschuss des Quellcodes liefern. Die Idee ist, x Versionen Ihrer Binärdateien / code Schnappschüsse haben, überprüfen sie asynchron, und liefern die grüne baut. Dies sollte mit automatisierten Systemtests sowie manuell diejenigen arbeitet beide.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top