Perspektive

Modellbasierte Testautomatisierung

Aman Kumar,

Beigeordneter Direktor - Technologie, Intelligente Automatisierung (IAT)

Veröffentlicht: März 31, 2022

Überblick und aktuelle Herausforderungen bei bestehenden Tests

Das Paradigma der Testautomatisierung „entwickelt sich ständig weiter“. Organisationen haben diese Entwicklung im Laufe der Jahre miterlebt und mitgestaltet. Testteams sind Teil des "Been there, done that" Clubs, wenn es um konventionelle Testautomatisierungstechniken geht. Einige von uns sitzen buchstäblich auf dem Haufen der automatisierten Testskripte und sind nervös, weil sie nicht wissen, ob das Projektteam eine angemessene Testabdeckung hat. Automatisierungsingenieure haben die Testfälle immer automatisiert und die Skripte bei Änderungen der Testfälle aktualisiert, neue Testfälle erstellt und nicht mehr gültige Testskripte entfernt. Die Teams bemühen sich, verschiedene Versionen von Testfällen und Testskripten zu pflegen; die Liste ist unendlich lang.

Es ist schwierig, die auszuführenden Tests zu ermitteln und zu planen und die exponentiell steigende Nachfrage nach Tests in verschiedenen Umgebungen zu bewältigen. Dann gibt es eine Gruppe, die immer sagt: „Es ist automatisiert … Warum nicht alles ausführen!“

Die Herausforderungen, mit denen Testmanager heute konfrontiert sind, sind nicht neu, werden aber angesichts der Geschwindigkeit, mit der sich die Dinge verändern, immer kritischer. Die Reaktionszeit wird immer kürzer, und jeder kämpft darum, Innovation und KI in die Testautomatisierung einzubringen.

Automatisierung Strategiewechsel

Im Laufe der Jahre haben herkömmliche Testautomatisierungsansätze zwar Vorteile gebracht, aber sie sind mit enormen Vorlaufkosten verbunden, die von verschiedenen Faktoren wie Infrastruktur, Tools, Technologien und Fähigkeiten abhängen. Wir beobachten eine Verlagerung von herkömmlichen Testautomatisierungsmethoden, die Testfälle/Storys als Grundlage für die Erstellung von Testautomatisierung verwenden, hin zu einem "Modell" basierten Testansatz.

Auch wenn der Übergang nicht schwierig ist, besteht ein größerer Bedarf, die Denkweise zu ändern und ein höheres Maß an Vertrautheit mit der modellbasierten Testautomatisierung zu erlangen. Testmanager, die es gewohnt sind, große Mengen und Versionen von Testfällen zu verwalten, fühlen sich vielleicht etwas unwohl, wenn sie ein Modell und überhaupt keine Testfälle sehen!

Es gibt bereits Werkzeuge zur Erstellung eines Systemmodells, und viele von ihnen bieten einen Mechanismus zur Ausführung eines Modells, der verschiedene Pfade und Punkte der Überprüfung abdeckt. Mit ein paar Iterationen und etwas Übung kann man Modelle erstellen und ausführen, um zu verstehen, wie und welche Arten von virtuellen Testfällen aus dem Modell entwickelt und implementiert werden.

Was ist modellbasiertes Testen (MBT)?

MBT ist eine Testtechnik, bei der wir ein abstraktes Modell definieren, das ein Softwareverhalten beschreibt, und dieses Modell dann verwenden, um die reale Software auf der Grundlage von Pfadvorhersagen zu testen.

Der abstrakte Testfall dient als Basis, auf der die ausführbare Testsuite abgeleitet wird. Die ausführbare Testsuite (Automatisierungsskripte), die mit den abstrakten Testfällen abgebildet wird, kann direkt mit dem SUT (System Under Test) kommunizieren.

Schlüsselkomponenten der modellbasierten Prüfung

Modell

Ein Modell ist eine grafische Darstellung des Verhaltens des Systems mit Zuständen und Aktionen. Das Modell beginnt mit den Anfangsbedingungen und endet mit den Endbedingungen. Das Verhalten kann in Form von Eingabesequenzen, Aktionen, Bedingungen, Ausgaben und Datenfluss von der Eingabe zur Ausgabe beschrieben werden.

Ein Modell wird als Zustandsübergangssystem oder endliche Automatisierung interpretiert oder in ein solches übersetzt. Das Zustandsübergangsdiagramm wird durch das Modell der Anwendung dargestellt, einen gerichteten Graphen, bei dem Knoten die Zustände der Anwendung und Kanten die Übergänge darstellen.

Ein typisches Modell kann je nach dem gewählten Werkzeug in verschiedenen Formen dargestellt werden. Nachfolgend sind einige solcher Beispiele aufgeführt:

Image
Image

Testpfade

Das Modell gibt nur Benutzerszenarien möglicher Pfade auf der Grundlage von Anfangs- und Endbedingungen aus. Die Testpfade umfassen alle möglichen Permutationen und Kombinationen des Durchlaufs der Zwischenknoten zwischen Anfangs- und Endbedingungen. Im Gegensatz zum traditionellen Testautomatisierungsansatz sind die Testpfade nicht von den geschriebenen Testskripten abhängig. Der während der Ausführung eingeschlagene Weg ist zufällig und hängt vom Algorithmus der Ausführungsmaschine ab, der verschiedene Kriterien wie "coverage percentage, "weightage," usw. berücksichtigt.

So kann modellbasiertes Testen helfen

Mit dem Aufkommen der modellbasierten Testautomatisierung am Horizont begannen die Möglichkeiten futuristischer Testautomatisierungsideen die Runde zu machen. Einige unserer Kunden, die Produktunternehmen, konnten die Vorteile und den Nutzen von MBT in sich ständig verändernden Umgebungen sofort erkennen.

MBT hat dem Testmanagement geholfen, den Aufwand für Testfälle, Skripterstellung, Überprüfung und Nacharbeit drastisch zu reduzieren. Einer der Hauptvorteile von MBT ist jedoch die Testabdeckung. Beim herkömmlichen Testautomatisierungsansatz wird die Abdeckung durch die Anzahl der manuell erstellten Tests oder die Anzahl der automatisierten Testfälle beeinflusst. 

Es besteht die Gefahr, dass beim Verfassen der manuellen oder automatisierten Testskripte mehrere Testszenarien übersehen werden. Im Falle von Modellen definiert ein Testingenieur oder Business Analyst alle möglichen Zustände und Aktionen für einen Bildschirm oder ein Anwendungsszenario. Der Prozentsatz der Testabdeckung wird drastisch erhöht, da die Tests automatisch für alle möglichen Kombinationen von Zuständen und Aktionen zwischen Anfangs- und Endzustand erstellt werden. 

Es gibt immense Möglichkeiten für eine weitere Verbesserung der Testabdeckung durch modellbasierte Testautomatisierung mit KI/ML.

Konventionell vs. modellbasiertes Testen

Beim herkömmlichen Testansatz, bei dem das menschliche Urteilsvermögen die Grundlage bildet, folgen die Testfälle festgelegten Verfahren. Um verschiedene Pfade oder Verfahren abzudecken, müssen neue Tests erstellt werden. In MBT werden die meisten Pfade jedoch von Modellen abgeleitet, die eng mit den Anforderungen und automatisch generierten Testskripten oder -suiten verknüpft sind. Der Unterschied wird deutlich, wenn wir uns die folgenden Arbeitsabläufe ansehen.

Image
Image
Image

Vorteile und Fazit

Der herkömmliche Ansatz erfordert einen erheblichen Aufwand für die Testautomatisierung, selbst bei einer geringfügigen Änderung der Geschäftsanforderungen. Durch die Aktualisierung der jeweiligen Modellkomponente mit MBT lassen sich die Änderungen jedoch schnell umsetzen. Für Testexperten ist MBT eine überzeugende Methodik mit den folgenden Vorteilen:

  • Es beginnt mit den Spezifikationen, indem es die Idee bekräftigt, dass die Beteiligung der Qualitätssicherung am Anfang der Entdeckungsphase steht.  
  • In der Regel werden Design- und Spezifikationsfehler gefunden, bevor der Code überhaupt existiert.
  • Präzise Definition der funktionalen Anforderungen, um die Erwartungen der Benutzer besser zu erfüllen. 
  • Reduzieren Sie die Planungszeit durch die Bereitstellung von Komponenten der Funktionsspezifikationsdokumente.
  • Die Testabdeckung kann bereits vor der Erstellung von Testskripten durch Offline-Testläufe mit Modellen ohne SUT ermittelt werden.
  • Automatisieren der Testfallerstellung und Erstellen von mehr Testfällen in kürzerer Zeit.
  • Maximierung der Testabdeckung mit weniger Testfällen
  • Weniger Wartung von Automatisierungsskripten 
  • Kürzere Prüfzykluszeit 
Aman Kumar

Aman Kumar

Beigeordneter Direktor - Technologie, Intelligente Automatisierung (IAT)

Aman Kumar ist ein leitender Architekt für Testautomatisierung mit über 16 Jahren Erfahrung in der Bereitstellung von End-to-End-Testautomatisierungslösungen unter Verwendung von Open-Source & Lizenztools und -technologien für Web, GUI, Mobile, API, Vision & Voice in verschiedenen Bereichen. Sein Interesse gilt auch der Erforschung und Entwicklung intelligenter Automatisierungslösungen unter Verwendung von KI/ML-Techniken.

 

Transformative digital technology solutions

Dramatically increase the success of your digital transformation

Verwandte Inhalte