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.

3. 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.

4. 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.

5. 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.

6. 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.

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.
19. Juli 2020

Ü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: