Testen ist ein extrem wichtiger Punkt in der Vorgehensweise, der oft nicht genug Aufmerksamkeit bekommt, weil es oft schwer ist ein Test durchzuführen, wenn das Zielbild oder die Lösung noch nicht klar, oder die Daten nicht vorhanden sind.
Das Testen kann in folgende Bereiche aufgeteilt werden.
- Modul-Test: Wenn etwas umgesetzt wird, muss es vor der Fertigstellung mit Testdaten getestet werden
- Funktions-Test: Eine Funktion, also ein Schritt in der Anwendung der über eine (später beschriebene) User Story formuliert ist, soll anhand der definierten Abnahmekriterien und Testdaten getestet werden können
- Integrations-Test: Sind mehrere Funktionen realisiert und in einer Prozess-Phase oder als gesamter Prozess fertig, muss dies integriert mit Daten getestet werden – also eine Liste von Funktionen
Ein Prozess oder eine Prozess-Phase hat Use Cases. Diese Use-Cases sind in konkrete Test Cases beschrieben und haben User Stories, die wiederum konkrete Umsetzungs-Aufgaben haben. Genau die letzten 3 Elemente sind Teil des Testens.
Bei der bisherigen Vorgehensweise ist immer von oben nach unten vorgegangen worden. Also ein Use Case ist ein einem Prozess oder Prozess Schritt beschrieben, und daraus werden in der Umsetzung konkrete Anwendungsfälle identifiziert und mit Anforderungs-Beispieldaten in Test Cases beschrieben, die im System getestet werden sollen. Ist der Test Case nicht möglich im System anzuwenden, so müssen User Stories erstellt werden, die die Anforderungen an die Test Case Schritte beschreibt. Aus den User Stories werden Aufgaben zu Umsetzung erstellt, was konkret technisch realisiert werden soll. Abklärungs-Aufgaben sind hier aktuell nicht relevant.
Das ist die Herangehensweise die Elemente zu erstellen. Ab dem Schritt der Umsetzung der Anforderung im System startet das Testen. Jetzt wird die Reihenfolge herumgedreht.
Das Testen:
- In der Aufgabe, wenn sie umgesetzt wird, ist sie nicht abgeschlossen, wenn sie ungesetzt wurde, sondern wenn das Umgesetzte auch funktioniert. Der oder die Umsetzende beendet die Aufgabe mit dem ersten Test – Das ist genau das umgesetzte „Modul“, was auch immer es ist. Es kann eine Tabelle oder Feld sein, die neu erstellt wurde und es muss getestet werden, ob Daten dort gespeichert werden können. Es kann aber auch eine Funktionalität sein, die in der Programmierumgebung oder im System angewendet wird. Oft wird der Modul-Test auch Unit Test genannt. Also ein Test der kleinsten funktionalen Codeeinheit bei Programmierungen. Es klingt so klar, aber oft passiert es, dass Aufgaben umgesetzt und das umgesetzte dann erst auf der nächsten Ebenen getestet wird. Das erfolgreiche Testen einer Aufgabe setzt sie auf „Gelöst“
- In der User Story können mehrere Aufgaben sein, daher kann das Testen der User Story erst beginnen, wenn alle Aufgaben „Gelöst“ sind und die Qualitätsprüfung die Aufgaben auf „abgeschlossen“ gestellt hat. Die User Story ist eine Funktionalität, die in der Oberfläche oder systemisch, wie beispielsweise eine Schnittstelle testbar ist. Daher ist hier der Funktions-Test relevant. Wie es in der Definition einer User Story formuliert ist, kann das "Wer, Was, Warum" hier getestet werden. Das erfolgreiche Testen einer User Story setzt sie auf „Gelöst“
- In dem Test Case können mehrere User Stories sein, daher kann das Testen der Test Cases erst beginnen, wenn alle User Story „ gelöst“ sind und die Qualitätsprüfung die User Story auf „abgeschlossen“ gestellt hat. Test Cases sind ein Arbeitsablauf mit Daten, der mehrere Schritte beinhaltet, daher ist dieser Test ein Integrativer Test. Integrativ heisst nicht nur Systemübergreifend, sondern Funktionsübergreifend. Kann also ein Ablauf innerhalb einer Anwendung oder eines Bereichs, oder eben übergreifend sein. Das erfolgreiche Testen eines Test Cases setzt ihn auf „Gelöst“
Das Überprüfen der 3 Elemente und finale "Abschliessen" ist eine Qualitätsprüfung, die in den 3 Ebenen inhaltlich unterschiedlich ist.
- Aufgaben werden technisch überprüft, ob sie den Vorgaben der Umsetzung/ Programmierung entsprechen und das geplante Ziel inhaltlich erfüllen.
- User Stories werden funktional überprüft, ob sie im System wie geplant funktionieren und die Funktionalität nach der Umsetzung auch Sinnvoll ist.
- Test Cases werden integrativ getestet, ob sie im gesamten Ablauf funktionieren und übergreifend auch wie geplant genutzt werden können.