Qytera News

6 goldene Regeln der Testautomatisierung

Testautomatisierung ist kein Selbstläufer: sie funktioniert nicht allein durch ihre Einführung, sondern es müssen Prozesse erstellt, Vorbereitungen getroffen und wichtige Punkte beachtet werden. Damit Ihre Testautomatisierung zum Erfolg führt, sollten Sie diese 6 Tipps beachten, die wir Ihnen im Folgenden vorstellen.

1. Testbarkeit - Testautomatisierung

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 - Testautomatisierung

Die klassische Testpyramide zeigt auch die sinnvollsten Bereiche der Testautomatisierung: die Basis bieten 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.

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 - Testautomatisierung

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 - z.B. werden neue Versionen des Bretriebssystems installiert oder Applikationsversionen (Datenbank, Webserver) ändern sich usw. Nicht zu vergessen können sich Daten (Preise in Shops, Passwörter von Usern usw.) ändern.

Diese Änderungen sollten Sie stets im Auge behalten, damit Sie bereits im Vorfeld gegensteuern können.

4. Testdaten und Tests - Testautomatisierung

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

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

5. Konventionen und Standards - Testautomation

Spätestens dann, wenn man sich in fremden Sourcecode einarbeiten und -denken muss, fällt es auf, wie wichtig es ist, gemeinsame Konventionen und Standards für Code zu finden und zu nutzen. Aber nicht nur für fremden Code - innerhalb oder auch außerhalb des Teams - gilt dies, sondern auch für solchen, den man selbst erstellt. 

Wir alle ändern uns, lernen dazu, werden besser. Und 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 IDE bieten Lösungen oder Plugins, um die Prüfung auf Einhaltung zu automatisieren.

6. Reporting - Testautomatisierung

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, da bei diesem eben kein Mensch eigene Einschätzungen abliefern kann. Am Ende reicht diese Einschätzung allein selbstverständlich nicht aus, Daten - Tabellen, Diagramme, Statistiken - müssen geliefert werden.

Wichtig ist, dass Sie 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, es gibt auch weitere Produkte, die hier direkt unterstützen.

Tags: 

Neue Meetup-Guppe für Studierende und Young Professionals - Meetup zu Selenium

Neue Gruppe "IT Quality TechTalks for Young Professionals"

Von der Qytera GmbH wurde bereits die Xing-/Meetup-Gruppe "Agile Testing Frankfurt/Rhein-Main" initiiert. Nun haben wir eine weitere Gruppe gegründet, die sich vor allem an Studierende bzw. Young Professionals richtet: IT Quality TechTalks for Young Professionals

Warum haben wir uns dazu entschlossen?

In der Gruppe Agile Testing Frankfurt/Rhein-Main gibt es sehr viele Expertinnen und Experten aus dem Test-Umfeld, die sich auf der einen Seite naturgemäß vor allem für neue Themen interessieren und hier einen schnellen Einblick wünschen und die auf der anderen Seite sich vor allem auch austauschen möchten (Networking betreiben). Die Gruppentreffen werden somit direkt aus dieser Sicht geplant.

Andererseits fiel uns auf, dass Studentinnen und Studenten sowie Young Professionals vor allem tiefere Einblicke wünschen. Wir haben nun die neue Gruppe so konzipiert, dass es längere Vorträge und vor allem auch direktes Ausprobieren/Lernen erfolgt.

Erste Meetup "Testautomatisierung mit Selenium"

Wir haben auch direkt ein erstes Meetup eingestellt: Testautomatisierung mit Selenium. In diesem lernt ihr/lernen Sie, was Selenium WebDriver ist, wie es funktioniert, wie es eingesetzt wird...

Das Meetup findet am 13.12.2018 von 17:00 bis 20:00 in Frankfurt statt, die Teilnahme ist kostenfrei.

Hier gibt es nähere Informationen zur Gruppe "IT Quality TechTalks for Young Professionals", hier könnt ihr/Sie sich zum Meetup anmelden. Bei Eventbrite erhältst du/erhalten Sie ein entsprechendes - kostenfreies - Ticket.

Tags: