Agiles Testmanagement in der CI/CD Pipeline. Entdecken Sie jetzt unser neues E-Book!

Jetzt unser neues E-Book entdecken!

6 goldene Regeln der Testautomatisierung im Softwaretest

Die goldenen Regeln für eine reibungslose Testautomatisierung.
Lesedauer: 2 Minuten

Testautomatisierung ist kein Selbstläufer: Sie funktioniert nicht alleine durch ihre Einführung. Es müssen Prozesse erstellt, Vorbereitungen getroffen und wichtige Punkte beachtet werden. Richtig implementiert führen automatisierte Tests zu mehr Effizienz und Qualität in der Entwicklung Ihres Softwareprodukts bei gleichzeitigen Zeit- und Ressourceneinsparungen. Damit die automatisierten Tests bei Ihrer Qualitätssicherung zum Erfolg führen, sollten Sie diese 6 Tipps beachten, die wir Ihnen im Folgenden vorstellen.

1. Testbarkeit

Wichtig ist zunächst die Frage, ob und unter welchen Umständen eine Testautomatisierung möglich ist. Ihre Software wurde nicht für automatisierte Tests entwickelt, sondern für Funktionalitäten, die sie erfüllt. Eventuell müssen Sie keine Änderungen durchführen, vielleicht müssen Sie aber auch das Testobjekt anpassen, damit Testautomatisierung möglich ist. Unbedingt wichtig ist es, dass Sie auch in Zukunft daran denken, die Software bei Anpassungen testbar bleiben zu lassen.

2. Testarchitektur

Die klassische Testpyramide zeigt auch die sinnvollsten Bereiche der Testautomatisierung: die Basis bilden wie üblich die Komponenten- oder Unittests. Diese werden sehr schnell durchgeführt und auch die Entwicklung ist durch die Simplizität der zugrundeliegenden Prozesse meist schnell gemacht.
Die Integrationstests - im Bereich der Komponenten- oder Systemintegration - integrieren die neueste Programmierung erstmals automatisiert und dürfen deshalb auf keinen Fall vernachlässigt werden.
Die Automatisierung von Systemtests lohnt sich vor allem bei agilen Projekten mit häufiger Durchführung von Regressionstests.

Testpyramide zur Testautomatisierung
Bild: Testpyramide zur Testautomatisierung. [Quelle: Qytera]

Nicht in der Testpyramide enthalten, aber auch sehr wichtig und teils sehr gut automatisiert testbar, sind nicht-funktionale Tests. Vor allem Last- und Performancetests (z.B. mit Apache JMeter) können sehr gut automatisiert getestet werden.

Auswahl der richtigen Testautomatisierungsarchitektur

Zu Beginn eines Projektes ist eine der Aufgaben der Aufbau einer Testautomatisierungsarchitektur.

Testautomatisierungs-Framework für den Testautomation Engineer
Bild: Testautomatisierungs-Framework für den Testautomation Engineer. (Klicken zum Vergrößern) [Quelle: Qytera]

3.1 Das Testobjekt ändert sich

Das Testobjekt, für das die Automatisierung erstellt wird, ändert sich. Zum einen dadurch, dass Weiterentwicklung stattfindet, die mit den automatisierten Tests geprüft wird. Zum anderen, weil sich das Umfeld ändert, indem beispielsweise neue Versionen des Betriebssystems installiert werden oder sich Applikationsversionen (Datenbank, Webserver) ändern. Nicht zu vergessen sind Datenänderungen, z.B. bei Preisen in Shops oder bei Passwörtern von Usern. Diese Änderungen sollten Sie stets im Auge behalten, damit Sie bereits im Vorfeld gegensteuern können.

3.2 Testdaten und Tests

Die Daten, die in den Tests genutzt werden, sollten von den ausgeführten Testroutinen getrennt werden. Vor allem wenn sich Informationen ändern, können diese Daten dadurch einfacher und schneller aktualisiert werden. Eine Trennung ist auch dann vorteilhaft, wenn beispielsweise geprüft werden soll, ob bestimmte Daten noch benötigt werden (z.B. Logindaten) oder welche Daten genutzt werden.

Die meisten Systeme bieten hier von sich aus datei- oder datenbankbasierte Lösungen an. Der kleine Mehraufwand bei der Initialanlage rechnet sich sehr schnell bei einer späteren Änderung der Daten.

3.2 Konventionen und Standards

Spätestens dann, wenn man sich in fremden Sourcecode einarbeiten und eindenken muss, fällt es auf, wie wichtig es ist, gemeinsame Konventionen und Standards für den Code zu finden und zu nutzen. Dies gilt sowohl für fremden Code als auch für selbsterstellten Code.

Wir alle ändern uns, lernen dazu, werden besser. Dieses Dazulernen spiegelt sich auch im geschriebenen Code wider. Hier helfen Konventionen und Standards, die möglichst früh im Projekt (oder Team) eingeführt werden, und die dafür sorgen, dass immer die gleiche Notation verwendet wird. Viele Integrierte Entwicklungsumgebungen bieten Lösungen oder Plugins, um die Prüfung auf Einhaltung zu automatisieren.

4. Reporting

Um den aktuellen Stand der Qualität einschätzen zu können, wird ein Reporting benötigt. Dies gilt für das manuelle Testen, aber noch mehr für das automatisierte Testen, da diese Einschätzung hier alleine nicht ausreichen. Es müssen Daten, wie Tabellen, Diagramme und Statistiken, geliefert werden.

Sie sollten unbedingt darauf achten, dass bei der Testautomatisierung die Reporting-Funktionalitäten bereits bei der Erstellung der Tests bzw. der Ablaufprozesse berücksichtigt werden. Viele Tools bieten hier Lösungen an und es gibt auch weitere Produkte, die hier direkt unterstützen.

5. Proof of Concept: Ein POC sagt mehr aus tausend Bilder

One size fits all?

Ein Testtool für alle Testphasen und Produkte ist leider eine Illusion.

Die Praxis zeigt: IT-Systeme werden immer komplexer. Deshalb ist es umso wichtiger, den Projektbeteiligten die Möglichlichkeiten zu geben, diese nicht nur zu betrachten, sondern sie anhand eines Machbarkeitsnachweises praktisch auszuprobieren.
Der PoC liefert den Beweis dafür, ob eine Automatisierung des Testprozesses in den Grenzen der spezifischen Umgebung des Unternehmens funktioniert oder nicht und legt den Grundstein für die weitere Entwicklung.

6. Neue Rolle – Der Test Automation Engineer:

Sie fragen sich, wer die Testautomatisierung durchführt bzw. diese entwickelt? Ein Softwaretester, eine Softwareentwicklerin?

Die Entwicklung der Testskripte ist eine Aufgabe, die zwischen dem Testbereich und der Entwicklung verortet werden kann. Deshalb gibt es hierfür auch eine neue Rolle: Der Test Automation Engineer.

In dieser Rolle sind sowohl solides Wissen aus dem Testbereich wie auch Praxiserfahrung aus der Softwareentwicklung vertreten; genau das Wissen und Können, das für die Testautomatisierung benötigt wird!

Die Aufgaben befinden sich zwischen den Bereichen und erfordern Wissen aus beiden: ein Tester weiß, wie getestet wird, Testfälle geschrieben werden, Tests auszuwerten sind und eine Entwicklerin, wie gute Software programmiert wird. Also werden beide Eigenschaften benötigt, die im Test Automation Engineer vereint sind.

Fazit

Mit diesen goldenen Regeln können Sie die Vorbereitung und reibungslose Durchführung der Testautomatisierung in Ihrem IT-Projekt sicherstellen. Der Aufwand bei der Implementierung der Testautomatisierung zahlt sich langfristig um ein Mehrfaches wieder aus und sie können die frei gewordenen Kapazitäten in anderen Bereichen zum Einsatz bringen.

Gerne beantworten wir Ihnen Fragen und beraten Sie genauer zur Testautomatisierung in Ihrem Projekt. Kontaktieren Sie uns hierfür einfach oder vereinbaren Sie direkt einen kostenlosen Testautomatisierungs-Workshop mit unseren Qytera-Testexperten. Wir wünschen Ihnen viel Erfolg bei Ihrer Testautomatisierung!

Kostenlosen Testautomatisierungs Workshop mit unseren Testexperten unverbindlich vereinbaren.Kostenlosen Testautomatisierungs Workshop mit unseren Testexperten unverbindlich vereinbaren.
10. August 2021

Über den Autor

Bild des Benutzers Wilson Campero
Geschäftsführer, Senior Testmanager
Wilson Campero ist IT-Unternehmer und Experte für Softwarequalität sowie ISTQB Certified Full Advanced Tester. Seit 13 Jahren ist das Testen von Software sein Spezialgebiet.

Finden Sie weitere interessante Artikel zum Thema: