Automatisiertes Testverfahren | Technologischer Blog

15.06.2021

Tests spielen eine unersetzliche Rolle bei der Entwicklung von Informationssystemen. Heute werden wir über automatisierte Tests sprechen, die bei der Lösung großer Projekte verwendet werden. Interview mit Mária Dujsíková, der leitenden Managerin für Testverfahren bei ANASOFT.

Was können wir uns unter einem automatisierten Test vorstellen?

Automatisierte Tests können mehrere Ebenen haben. In diesem Fall werden wir über Tests sprechen, die eine andere Anwendung verwenden - einen Roboter.

Die heutigen Technologien ermöglichen es, den Anwendungen das Endbenutzerverhalten zu simulieren. Es ist daher durchaus üblich automatisierte Tests für häufig wiederholte Testfälle in einer speziellen Anwendung zu programmieren, die für diesen Zweck entwickelt wurde. Dies kann man sich so vorstellen, indem der Auto-Test die getestete Anwendung startet und beispielsweise ein Formular darin öffnet.

Er füllt nach und nach die erforderlichen Werte in die Formularfelder ein, als würde dies ein Live-Benutzer tun. Letztendlich versendet er das ausgefüllte Formular und prüft, ob alles richtig lief. Beispielsweise wird in der Datenbank geprüft, ob die Daten aus dem Formular korrekt eingegeben wurden.

Solche Tests sind bei großen und langfristigen Projekten sinnvoll, bei denen einige Testfälle viele Male wiederholt werden und die Automatisierung viel manuellen Aufwand sparen kann.

Wo überall können automatisierte Tests eingesetzt werden?

Einer der Bereiche, in denen automatisierte Tests intensiv genutzt werden, sind die sogenannten Stresstests.

Es geht darum, die Frage zu beantworten, ob die Anwendung oder das System die erforderlichen Leistungsparameter aufweist. Wie sich die Anwendung verhält, wenn sie von einer bestimmten Anzahl von Benutzern gleichzeitig verwendet wird.

Wie wird ihre Antwort sein? Wird die Anwendung "einfrieren"? Wie viele Sekunden wartet der Benutzer, bis der Vorgang abgeschlossen ist? Usw.

Solche Tests sind für die Automatisierung von Vorteil, da sie skaliert werden können. Wenn der automatisierte Test gut konzipiert ist, ist es relativ einfach, das Benutzerverhalten gleichzeitig flexibel zu ändern. Ein ähnlicher Test mit echten Benutzern wäre logistisch und organisatorisch sehr anspruchsvoll.

Welche Rolle spielt Sicherheit beim Testverfahren? Konzentrieren sich die Tests auch auf diesen Bereich?

Natürlich ist die Sicherheit der Informationstechnologie heute ein sehr wichtiges Thema, und das Testen muss diese Anforderungen widerspiegeln. Wie detailliert man die Sicherheit testet, hängt immer noch von sehr vielen Kriterien ab.

Aus der Sicht der Sicherheit wird eine Anwendung für nur einen Benutzer mit einer Verbindung zum lokalen Netzwerk anders getestet als ein Internetportal für Zehntausende von Benutzern. Der Tester kann und sollte immer die grundlegenden Sicherheitsaspekte der Anwendung überprüfen.

Die Anwendungssicherheit ist jedoch ein separates Kapitel in der Entwicklung von Informationssystemen, das Projekt muss dies berücksichtigen. Zu beweisen, dass etwas nicht möglich ist, ist normalerweise schwieriger als zu beweisen, dass etwas möglich ist. Wenn dies aufgrund der Art des Systems erforderlich ist, müssen bei der Implementierung umfangreiche Penetrationstests berücksichtigt werden, die von spezialisierten Unternehmen oder ethischen Hackern durchgeführt werden sollten.

Wann ist ein Tester mit dem Testergebnis zufrieden?

Es ist wichtig zu erwähnen, dass das Testen endlos fortgesetzt werden könnte. Beim Testen werden niemals alle Fehler aufgedeckt, und es ist wichtig zu verstehen, dass bei jeder Anwendung aufgrund ihres Umfangs und Zwecks immer ein imaginärer Schnittpunkt zwischen dem Testaufwand und der erforderlichen Qualität besteht.

Beim Testen geht es einfach darum, mit angemessenem Aufwand die gewünschte Qualität zu erreichen. In diesem Sinne bin ich zufrieden, wenn die Testergebnisse die festgelegten Akzeptanzkriterien erfüllen. Diese variieren von Fall zu Fall.

Was lerntest du in all den Jahren, die du dich diesem Thema widmest?

Ich denke, auch wenn es auf den ersten Blick nicht so aussieht, geht es beim Testen auch um Kooperation und angemessene Kommunikation. Es beginnt beim Entwerfen einer Anwendung, wenn der Tester viele Fragen benötigt, um die Absicht der Anwendung zu verstehen.

Es ist auch sehr wichtig, Testergebnisse sinnvoll kommunizieren zu können. Viele Menschen arbeiten an der Entwicklung von Informationssystemen, und die Fertigstellungstermine sind oft unerbittlich. Wenn der Test einige Fehler feststellt und dies nicht sensibel kommuniziert wird, kann es leicht den Eindruck erwecken, dass einer der Entwickler oder Analysten die Arbeit nicht gut genug machte.

Bei Projekten geht es jedoch nicht darum, Verantwortlichkeiten zu verlagern, sondern sich gemeinsam um das bestmögliche Ergebnis zu bemühen. Der Tester sollte auch daran denken.

 

Vielen Dank für das Gespräch

Das Interview wurde von Boris Rybár, Teammanager für Softwareentwicklung vorbereitet

KÖNNTE INTERESSANT SEIN

Testen ist wie ein Kriminalroman | Technologischer Blog

Jede Anwendung oder jedes komplexe Informationssystem muss einen langen Weg zurücklegen, bevor es in die Hände des Endbenutzers kommt.

Software-Analyse durch die Augen des Profis | Technologischer Blog

Die Softwareanalyse wird oft als technische Aktivität angesehen. Im Allgemeinen kann gesagt werden, dass die Softwareentwicklung überwiegend eine männliche Domäne ist. 

Architektonische ansätze | Technologischer blog

Im heutigen Teil des Technologie-Blogs unterhalten wir uns mit Martin Vozár, einem der SW-Designer von ANASOFT.