Migrieren Sie ältere Anforderungen zu BDD

11

F: Wie kann ein großes Unternehmen am besten nach Cucumber verlegt werden, wenn mindestens 15 Jahre alte Softwareanforderungen in einer Anforderungsdatenbank gespeichert sind?

Derzeit erwägt:

1) Alles migrieren

Nachteil: Wir haben nicht unbegrenzte Zeit / Budget, wir müssen vorwärts gehen, um zu überleben, wir können nicht alles aufhalten und GC 100% unserer Legacy-Anforderungen und Legacy-Testsuiten.

2) Pfadfinderregel

Lass alles besser als du es gefunden hast. Wenn Sie Anforderungen berühren oder ändern, schreiben / aktualisieren Sie eine Gurkenfunktion. Nachteil: Wir werden zwei Aufzeichnungssysteme haben (Cucumber, Legacy Req. DB), möglicherweise für immer vorausgesetzt, dass es Ecken einer bestimmten Anwendung gibt, die für eine sehr lange Zeit nicht berührt werden.

3) Pfadfinderregel Plus

Wie # 2, aber setzen Sie Anforderungen, die wir nicht netto auf Cucumber verschieben, in Features mit einem einzigen ausstehenden Szenario und kopieren Sie die alten Anforderungen in den Beschreibungsabschnitt. Auf diese Weise erhalten wir Metriken (über ausstehende Szenarien), wie "abgedeckt" wir von Cucumber sind, und machen uns auch klar, dass das alte Anforderungssystem beibehalten werden muss. Ich kann keine Nachteile finden, außer dass es ein großes Durcheinander in Cucumber sein könnte.

4) Fügen Sie hier Ihre Idee ein.

Hintergrund:

Einige Projekte, die zu Cucumber wechseln, verfügen über automatisierte Testsuiten, andere verwenden nur manuelle Tests. Alle von ihnen verwalten ihre Anforderungen in einer Legacy-Anforderungsdatenbank. Wir müssen dies tun, weil unsere Anforderungen eine Mischung aus Gesetzen / Vorschriften und komplexer Logik für Finanzinstrumente (Risiko, Preisgestaltung, Struktur usw.) sind.

Denken Sie daran, dass dies ein sehr großes Unternehmen ist, das den Schritt macht, was die Lösungen weiter verkompliziert.

Wir haben bereits einige Projekte, bei denen Cucumber für ihre "neuen" Anforderungen verwendet wird. Also haben wir die Technologie pilotiert und sie funktioniert bisher für uns. Wir haben eine Mischung aus Web- und reinen Datenprojekten.

Vielen Dank

Bearbeiten: Um auf die Fragen zu antworten ... Die Legacy-Anforderungsverwaltungs-Datenbank verbindet Anforderungen nicht mit Tests. Es ist nicht "testbar". Heutzutage erfolgt das Verbinden von Anforderungen mit Tests durch einen mühsamen und fehleranfälligen manuellen Prozess, bei dem Anforderungen am Ende jedes Projekts mit unserem Testfallmanagementsystem verknüpft werden. Gurke ist eine offensichtlich bessere Lösung für uns. Das steht außer Frage. Die Frage ist nur, wie man den Schritt für eine große Organisation mit einer immensen Menge wichtiger Anforderungen macht, die aus rechtlichen und anderen Gründen nicht verloren gehen können.

Ryan Marsh
quelle
1
+1 auf die Frage; aber in einer allgemeineren Umgebung: Wie kann man von einem Testsystem zu einem anderen wechseln?
Sjoerd Job Postmus
Ist die "Legacy" -Anforderungsdatenbank bei der Überprüfung der Anforderungsübereinstimmung automatisiert? Müssen Sie die Anforderungen neu formulieren, um sie an die Gurkensyntax anzupassen (und wenn ja: Stellen Sie sicher, dass die Anforderungen durch die Neuformulierung nicht auf subtile Weise geändert werden)?
Sjoerd Job Postmus
Nur Neugier, ist diese Datenbank mit Anforderungen "testbar"? Wenn ja, können Sie versuchen, den Prozess als Option Nr. 4 zu automatisieren, indem Sie ein Programm ausführen, das die Legacy-Tests liest und versucht, einen Gurkentest für Sie zu schreiben, AUCH wenn die Tests nicht lesbar sind. Zwei True-Quellen zu haben, wird normalerweise nicht empfohlen, da Missmatches möglich sind (2 Anforderungsquellen, die
Datenbank
1
Sie haben geschrieben "Wir haben die Technologie pilotiert und sie funktioniert bisher für uns", aber Sie haben nicht geschrieben "Sie hat besser funktioniert als die vorherige Technologie". Sind Sie also zu 100% sicher, dass dies eine Verbesserung sein wird? Andernfalls könnte der beste Weg sein, es nicht zu tun ;-)
Doc Brown

Antworten:

8

Ich habe den Fehler gemacht, einen Raum bis auf die Stollen auszuziehen, als ich die Fenster ausgetauscht habe. Es ist ein altes Haus. Das Zimmer war in einem schlechten Zustand. Bei jedem Schritt auf dem Weg stieß ich auf Probleme. Eine alte Pfeife bröckelte in meiner Hand. Die jetzt baumelnde 25-Pfund-Klempneröffnung fiel und krachte durch die Küchendecke. (Zum Glück wurde niemand verletzt, aber das aufladende Handy meiner Freundin war kaputt. Sie war nicht amüsiert.) Ich schockierte mich selbst, als ich gleichzeitig gegen einen geerdeten und nicht geerdeten Stromkreis streifte. Es gab freiliegende alte Kabel, die durch eingeblasene Isolierung verliefen.

Bei jeder Ausgabe musste ich meine Energien umlenken. Ich habe angehalten, um das Problem zu beheben. Dann, manchmal Tage später, nahm ich den Fortschritt wieder auf. Im Herbst gab ich auf. (Ich hatte vor, bis zum Spätsommer fertig zu sein.) Ich blieb einfach stehen und ging weg. Es war zu viel. Meine Freundin wollte einen Auftragnehmer anrufen. Ich lehnte ab, da ich schon so viel Arbeit geleistet hatte. Ich wollte nicht, dass sie den "Ruhm" bekommen. (Außerdem bin ich ein bisschen besonders und wollte nicht, dass jemand Ecken schneidet, von denen ich wusste, dass ich es nicht tun würde.) Also saß der Raum unvollendet.

Vor fast einem Jahr, nach Neujahr, hatte ich eine Offenbarung: Es gab keine Regel, die besagte, dass ich ausschließlich an dem Raum arbeiten musste, bis er fertig war. Es gab keine Eile. Ich musste es nicht so groß machen. Wenn ich ein wenig Freizeit hätte, könnte ich stattdessen nach oben gehen und ein oder zwei Stunden im Raum verbringen ... ein Blatt Sheetrock aufhängen, Schlamm und Klebeband an eine Wand kleben, eine Tür zuschneiden. Bevor ich es wusste, war ich fertig. Meine Freundin hat mich wieder geliebt. Ich schlief mit einem Grinsen im Gesicht. Auf der Welt war alles in Ordnung.

Ich denke, es gibt etwas Ähnliches für Ihre missliche Lage. Sei die weise Schildkröte - langsam und stetig. Der Pfad "Alles migrieren" ist zu stressig. Es wird dich dazu bringen, deine Hände zu erheben und wegzugehen. Die Pfadfinderregel lässt Merkmale zurück, wenn sie sich nie ändern. Die Boy Scout Rule Plus schafft unterdurchschnittliche Anforderungen. Nehmen Sie das Beste aus Ihren Ansätzen:

  1. Wenn Sie eine Anforderung berühren, verschieben Sie sie in Gurke.
  2. Legen Sie in der Zwischenzeit ein wöchentliches Migrationsziel fest. Mach jede Woche ein bisschen. Machen Sie es nicht zu einem Alles-oder-Nichts-Vorschlag. Möglicherweise stellen Sie fest, dass die gelegentliche Migrationsarbeit eine schöne Abwechslung zu allen anderen Arbeiten darstellt, für die Sie sich engagiert haben.

Bevor Sie es wissen, sind Sie fertig. Ihr Chef wird Sie lieben. Ihr Team wird Sie lieben. Du wirst mit einem Lächeln auf deinem Gesicht schlafen.

Scant Roger
quelle