inhalt & lehrplan
Automatisiertes Testen durch zielgerichtetes Testen verbessern
Es ist üblich, dass Teams eine große Anzahl von automatisierten Tests an der Benutzeroberfläche durchführen. Wenn Teams mit der Automatisierung von Tests beginnen, ist dies in der Regel die erste Ebene, auf der sie automatisieren. Dies ist auch sinnvoll, da sich viele Teams auf dieser Ebene wohl fühlen, über das nötige Wissen verfügen und eine Vielzahl von Werkzeugen zur Auswahl haben. Ganz zu schweigen davon, dass dies die Schicht der Anwendung ist, mit der die meisten Kunden interagieren werden.
Die meisten dieser Tests sind jedoch in der Regel nicht sehr zielgerichtet, sondern durchlaufen den gesamten Stack mehrmals. Diese Tests sind leicht zu identifizieren, wenn sie fehlschlagen, da man keine Ahnung hat, warum der Test fehlgeschlagen ist und man normalerweise sehr lange suchen muss, um die Ursache zu finden. Beispielsweise testest Du, ob eine neue Bestellung aufgegeben werden kann, aber Du tust dies auf der Benutzeroberfläche, indem Du den gesamten Prozess durchläufst und sicherstellst, dass dem Benutzer eine Bestell-ID angezeigt wird. Wenn dieser Test fehlschlägt, können mehrere Dinge schief gelaufen sein: Die Bestell-ID hatte das falsche Format, die Bestellung ist fehlgeschlagen, die API ist ausgefallen, die Bestellung wurde aufgegeben, aber der Bestätigungsbildschirm ist fehlgeschlagen und vieles mehr.
Die beste Strategie zur Risikominimierung ist ein gezielter Ansatz zur Automatisierung auf niedriger Ebene. Heutzutage gibt es eine ganze Reihe von Tools, mit denen man UI-, API-, Javascript-, Unit- und andere Tests automatisieren kann. Ganz zu schweigen von den verschiedenen Optionen, die wir haben, wenn es darum geht, unsere Aussagen zu formulieren.
In diesem Tutorial beginnen wir mit einigen bestehenden UI-Tests, die nicht sehr zielgerichtet sind, und lernen Techniken und Ansätze kennen, um herauszufinden, warum das so ist und wie sie verbessert oder verschoben werden können. Anschließend werden wir diese Tests implementieren und die erzielten Verbesserungen evaluieren. Der Kurs wird mit Typescript-basierten Open-Source-Tools durchgeführt.