WARUM SOLLTE MAN SEINE FUNKTIONALEN TESTS AUTOMATISIEREN? INVESTITIONEN, GEWINNE...
Schnelligkeit, Häufigkeit, Quantität, Qualität: Die Automatisierung von Funktionstests bietet viele Vorteile, um Ihr Geschäft zu sichern.
Mr Suricate stellt Ihnen vor, warum dies eine langfristige Investition sein kann.
Die große Mehrheit der Tests wird manuell von den Entwicklungsteams (Entwicklern, Testern usw.) durchgeführt, die durch so genannte manuelle Tests selbst überprüfen, ob alles richtig funktioniert. Einige Tests, insbesondere funktionale Tests, können jedoch automatisiert werden. Das bedeutet, dass sie ohne menschliches Zutun, sondern mithilfe von "Robotern" anhand eines festgelegten und im Vorfeld erstellten Pflichtenhefts durchgeführt werden. Die Entscheidung zwischen manuellen und automatisierten Tests hängt dann von mehreren Kriterien ab, die mit dem Projekt selbst und organisatorischen Zwängen zusammenhängen, aber die Entscheidung für automatisierte Tests bringt erhebliche Vorteile mit sich, die nicht außer Acht gelassen werden sollten.
1. Verbesserung des Move To Prod
Je schneller die Validierungsaufgaben ausgeführt werden, desto schneller haben Sie einen Expressblick auf die Qualität Ihrer Anwendungen, was wiederum zu einer schnelleren Produktionsfreigabe führt. Und wenn Sie schneller in die Produktion gehen, verkürzen Sie die Time To Market, d. h. die Zeit, die Ihr Produkt braucht, um auf den Markt zu kommen. Dies ist ein wichtiger Vorteil, wenn Sie sich von Ihren Konkurrenten abheben wollen, indem Sie erwartete Funktionen schneller bereitstellen.
Die Verbesserung des Move To prod bei optimaler Qualität ist eine unverzichtbare Konstante in der Agilität, wo regelmäßig Inkremente in Produktion gehen müssen. Die Automatisierung in eine Kette aus kontinuierlicher Integration und kontinuierlicher Bereitstellung zu integrieren, ist daher keine Option.
2. Zeit sparen
Einer der einflussreichsten Vorteile der Automatisierung ist die Reduzierung der Zeit, die für die Durchführung von Tests benötigt wird. Manche Prüfungen können mehrere Stunden dauern, wenn sie manuell durchgeführt werden, während ein Roboter sie in wenigen Minuten erledigen kann, wenn man die hundertfache Parallelisierung der Ausführungen ermöglicht. Es wird übrigens empfohlen , die am häufigsten wiederkehrenden und sich wiederholenden Tests zu automatisieren, wie z. B. Nicht-Regressions- und Akzeptanztests.
Als Beispiel: Bei Mr Suricatehaben wir im Jahr 2021 10 741 424 Szenarioausführungen durchgeführt, mit einer durchschnittlichen Dauer von 3,7 Minuten pro Ausführung. Das entspricht 27 600 Tagen oder 75 Jahren manueller Tests, die all unseren Kunden zusammengenommen in diesem Jahr erspart wurden.
3. Entlastung der technischen Teams
Mit der Automatisierung sich wiederholender Validierungsaufgaben werden die technischen Teams von einem Teil der Tests entlastet und kümmern sich nur noch um die Analyse und Behebung von Vorfällen. Sie können sich daher auf andere wertschöpfende Aufgaben konzentrieren, z. B. die Validierung anstehender Entwicklungen, die Erstellung von Testfällen aus den Anforderungen mit dem Team, die Durchführung komplexerer manueller Tests und die Einführung neuer automatisierter Tests.
4. Gewährleistung einer konstanten Abdeckung
Die gute Praxis beim Testen ist es, früh und überall zu testen. In der Realität ist das jedoch komplizierter. Nicht alle Funktionen können bei jedem Rezept manuell überprüft werden, nur die kritischsten. Dank der Automatisierung kann man bei jeder Korrektur, jedem Update, jeder Bereitstellung Tests einführen. Und man kann sie auch so früh wie möglich im Prozess durchführen, von der Konzeption des Webprojekts bis zur Produktionsfreigabe und sogar darüber hinaus. Auf diese Weise kann eine konstante Abdeckung der Funktionalität gewährleistet werden.
5. Die Qualität der Tests verbessern
Fehler sind menschlich und werden oft bei sich wiederholenden Aufgaben gemacht, weil man sich nicht konzentrieren kann oder müde wird. Die Automatisierung von Funktionstests hilft, diese Art von Verzerrung zu vermeiden, indem sie vollständige und identische Tests anbietet, was zu einer Qualitätssteigerung führt. Trotzdem ist es wichtig, beides miteinander zu kombinieren, indem man Prüfungen durch menschliche Teams einführt, wenn die Ausführung eines Testszenarios fehlschlägt, um sicherzustellen, dass es sich um echte Anomalien und nicht um falsch positive Ergebnisse handelt.
Um auch das " Pestizidprinzip " zu vermeiden, ist es auch relevant, die verwendeten Testdaten regelmäßig zu überwachen und weiterzuentwickeln, um mehr Fälle abzudecken.
Zusammenfassend lässt sich sagen, dass der R.O.I. der Automatisierung langfristig nicht zu beweisen ist, aber es handelt sich um eine " Investition ", da die Einstiegskosten beträchtlich sind und eine echte Automatisierungsstrategie erfordern, um das richtige Werkzeug auszuwählen und die richtige technische Architektur und die richtigen Teamprozesse einzuführen.
Aber das kommt in einer der nächsten Episoden!