Aufbauende Testketten vs Einzeltestfall – oder warum Testautomation anders tickt
Aufbauende Testketten vs Einzeltestfall – oder warum Testautomation anders tickt
Die Testabdeckung, ein heiliges Gut in der Qualitätssicherung, soll möglichst hoch ausfallen, um die Qualität der zu betestenden Systeme bestmöglich sicherzustellen.
Warum in Zeiten von Testautomation Ansätze aus dem manuellen Testen nicht mehr das optimale Mittel sind, wollen wir in unserem heutigen Blogbeitrag erläutern.
Aufbauende Testketten oder End to End Testfälle
Im manuellen Test sind Tester bestrebt, und dies absolut berechtigt, möglichst effizient eine hohe Testabdeckung im Testzyklus zu erreichen. Meist geschieht dies durch die Aneinanderreihung von Einzeltests zu aufbauenden Testketten bis hin zu vollständigen End to End Testszenarien.
Im Zuge des manuellen Tests baut sich der Tester, ausgehend von den Initialtestdaten, ein komplettes Szenario auf und testet mit diesem Testdatenset seine kompletten, sich meist über viele Transaktionen und Module erstreckenden, Testketten.
Findet sich im Zuge der Durchführung dieses Tests ein Fehler, kann der Tester entsprechend reagieren und einen Fehlzustand melden.
Der Problematik, dass im Zuge dieser Testkette nun vielleicht die Folgeschritte nicht mehr mit den Testdaten des bisherigen Testdurchlaufs durchgeführt werden können (z.B.: weil ein Auftrag aufgrund eines Fehlers nicht angelegt werden konnte und man nun mit diesem Auftrag in der Kette nicht weiterarbeiten kann), wirkt der Tester durch Adaption der Testdaten (durch Auswahl eines bereits vorhandenen Auftrags oder durch Umgehung des Problems bei der Auftragsanlage) entgegen.
Diese lineare Durchführung von zusammenhängenden Tests hat sich beim manuellen Testen, durchaus berechtigt, zu einer beliebten Art des Testvorgehens entwickelt. Der Aufwand für Testdatensuche kann so optimiert werden
Testketten in der Testautomation
Verwendet man dieselbe Vorgehensweise der aufbauenden Testketten in der Testautomation, stößt man auf das Problem, dass im Fehlerfall der Automat nicht einfach wie ein manueller Tester eine Alternative sucht, um mit den restlichen Schritten der Testkette fortzufahren, sondern es wird ein Fehler für den Testfall ausgegeben.
Passiert dieser Fehler früh im Prozess, bekommen wir eine Aussage zur Qualität und Funktionalität unseres Systems nur bis zum entdeckten Fehlzustand. Der Testfall endet an diesem Punkt und wir bekommen keinerlei Aussage zum Rest der Testkette.
Dies ist ineffizient und nicht zeitgemäß.
Was ist die Alternative?
Wir wollen der Bedeutung von aufbauenden Testketten als auch End to End Tests nichts von ihrer Wichtigkeit nehmen. Es ist essentiell, auch das Zusammenspiel der einzelnen Systemmodule, den durchgängigen Prozessdurchlauf, zu testen.
Für die Testautomation, um möglichst effizient und mit hoher Testabdeckung zu testen, empfehlen wir, möglichst granulare Tests einzeln auszuführen, und zu den einzelnen Verifikationsobjekten Einzelaussagen zu bekommen.
Aber der Aufwand für die Testdatenbereitstellung …
Natürlich dürfen auch Einzeltestfälle nicht aufeinander aufbauend sein (erst wenn man sie z.B.: dem Bausteinsystem des suxxesso Test Pilots zu Ketten zusammenfügt), sondern sollen völlig autonom ausführbar sein.
Um dies sicherzustellen, muss jeder Einzeltestfall seine eigenen Testdaten bekommen. Dies kann den Aufwand der Testdatenbereitstellung massiv erhöhen, ist aber aufgrund der Überlegungen von zuvor, unumgänglich.
Ein Lösungsweg hier ist der innovative Testdatenbereitstellungsansatz des suxxesso Data Managers: wir lehren dem Data Manager einmalig die Voraussetzungen der Testdaten für den jeweiligen Testfall. Ab diesem Zeitpunkt kann der suxxesso Data Manager bei jedem Aufruf des Testfalls live akkurate, den Testdatenanforderungen entsprechende, unverbrauchte Testdaten zur Verfügung stellen und somit dem Tester den kompletten Testdatenbereitstellungsaufwand abnehmen.
Das Beste aus zwei Welten
Somit können wir sowohl Einzeltests als auch komplexe, aufeinander aufbauende, Testketten testen, ohne jeglichen Aufwand für die Testdatensuche betreiben zu müssen.
Diese Möglichkeit ist für die Qualitätssicherung, vor allem im agilen Umfeld, extrem wertvoll, da sowohl granulare Funktionalitäten als auch End to End Prozesse gleichermaßen abgedeckt sind und somit die Testabdeckung maximiert werden kann.
Versuchen Sie also schon bei der Konzeption Ihrer Testautomationsstrategie auf die durchaus unterschiedliche Art der Verifikationsmöglichkeiten, die Ihnen im Gegensatz zum manuellen Test zur Verfügung stehen, zu reagieren.
Optimieren Sie Ihr Testvorgehen und maximieren Sie somit den Nutzen Ihrer Investition in die Testautomation – die Qualität Ihrer Systeme wird es Ihnen danken!
Haben Sie Interesse an unserer einzigartigen Testdatenbereitstellung durch den suxxesso Data Manager?
Kontaktieren Sie uns gerne für ein unverbindliches Gespräch!