Gui Testing

Gui-Test

XSYST: GUI-Tests basierend auf Untersuchungen von Florian Gross, Gordon Fraser, Andreas Zeller. Die UFT-Anleitung für GUI-Tests für Webanwendungen ist ein Handbuch für. In der Software spielt die grafische Benutzeroberfläche (GUI) eine wichtige Rolle. Abot ist ein einfaches Framework für Unit- und Funktionstests von Java-GUIs, ein GUI-Framework zur Generierung automatisierter Tests für Desktop-, Web- und mobile Anwendungen.

spannen class="mw-headline" id="Einführung">Einleitung

Neben dem Test der Software-Komponenten ist der Test der Bedienoberfläche Teil der Qualitätskontrolle. Damit die Funktionalitäten ihren geschriebenen Vorgaben entsprechen, muss der Anwendungsentwickler entsprechende Test Cases entwickeln. Ausschlaggebend ist ein qualitativer Satz von Testcases, der den gesamten Funktionsumfang einer graphischen Bedienoberfläche erprobt.

Ein manueller Test macht aus Zeit- und Kostenthemen wenig Sinn. Die Prüfung wird in der Regel automatisiert mit Werkzeugunterstützung durchgeführt. Prüfung der Nutzerfreundlichkeit durch eventuelle psychologische Betreuung. Test der graphischen Benutzeroberfläche mit diversen Tests. Dadurch entsteht ein mögliches Testbild, das eine Liste aller beteiligten Tests auflistet. Der Kern einer GUI-Testsitzung ist das Überprüfen der Wechselwirkung zwischen der Anwendung und dem Benutzer.

Es ist jedoch nahezu nicht möglich, alle Eingabevarianten mit einem Testfall zu versehen. Insbesondere schwierig zu bedienende Tests können sich nicht auszahlen. Und nicht zu vergessen die Tests, die eine körperliche Beeinflussung voraussetzen. Ein Abnahmetest ist der Versuch der ausgelieferten Waren. Im Rahmen eines End-to-End-Tests sind einzelne oder alle Bestandteile eines Verfahrens beteiligt und werden mit End-to-End-Testfällen erprobt.

Mit ihnen werden Testfälle auch im laufendem Prozess wiederholt. Prinzipiell ist es möglich, Testfälle per Hand zu programmieren und automatisiert auszuführen. Eine sehr gebräuchliche Möglichkeit ist jedoch die Capture-Replay-Methode, die von den hier beschriebenen GUI-Testwerkzeugen gestützt wird. Bei der Erfassung können Inspektionspunkte angelegt werden.

Sie ist daher sehr gut für den Regressionstest geeignet. Die Entkoppelung vom aktuellen Test-Skript ermöglicht es, durch Änderung oder Erweiterung des Datenpools sehr rasch neue Testszenarien zu erstellen. Dies ist auch eine oft verwendete Möglichkeit zur Verbesserung der testgetriebenen Weiterentwicklung. In der folgenden Auflistung ist eine eingeschränkte Anzahl von Testtools, so genannte CAST-Tools (Computer Aided Software Testing Tool), aufgeführt, die die Automation von Test Cases im Hinblick auf grafische Schnittstellen ermöglichen.

Es ist ein Open-Source-Framework von ThoughtWorks zum Test von Web-Interfaces. Indem Anwenderaktionen (User Stories) aufgezeichnet werden, können Tests so oft wie nötig wiederholt werden. Im Rahmen von SELENIUM kann als Testfallsprache für das Erstellen von Testskripten über die Entwicklungsumgebung (IDE) verwendet werden.

Mit dem Testwerkzeug SRC (Selenium Remote Control ) lassen sich Testskripte erstellen, die gegen eine Web-Anwendung ausgeführt werden, und schliesslich gibt es die Möglichkeit, größere Testsuiten oder verschiedene Test-Umgebungen zu managen. Mit Hilfe der IDE können Sie auf einfache und schnelle Weise Tests auf der Grundlage von XML erstellen. "Anmelden. html" "./SuchenWerte. html" "./SpeichernWerte. html" wird als ein Dienst zum Start und Stoppen von Web-Browsern verwendet.

Die Befehle werden von der Firma RK empfangen und ausgewertet. Mit SRC können Sie die generierten Tests an alle gängigen Webbrowser wie z. B. Microsoft Explorer, Safari, Chrome oder Oper senden, um den Fokus auf diesen zu vermeiden. Zur Sicherstellung der Funktionsfähigkeit verwendet selenium zur Steuerung des entsprechenden Browsers Java-Script.

Selbstauslöser unterstützen Capture Replay. Ein kleines Beispiel zeigt, wie man mit dieser Technik einen simplen Web-Testfall erstellt. Hierfür wird die Selenium-IDE verwendet. Selbst die IDE von Rexroth verfügt über alle notwendigen Funktionalitäten, um die Capture-Wiedergabe wiederzugeben. Im Pop-Up-Fenster befinden sich mehrere Schaltflächen zur Kontrolle der Aufnahme. Damit wird die Aufnahme der Anwenderaktion gestartet.

In der Google-Seite wird das Stichwort "Selen" in das Suchfeld eingegeben und gesendet. Mit einem weiteren Mausklick auf den rot markierten Aufnahmeknopf der IDE wird die Aufnahme der ausgeführten Vorgänge gestoppt. Dadurch entsteht ein einfacher Testrahmen und das folgende Resultat erscheint. Die Registerkarte "Tabelle" beinhaltet die von uns erzeugten Befehle.

Bei laufender Aufnahme kennzeichnet das Programm alle erfolgreichen Events mit grünem Hintergrund und speichert alle Prozesse in einem Log-Bereich. Wenn alle Befehle mit einem grünen Haken versehen sind, ist der Durchlauf gelungen. In der IDE gibt es auch ein Dropdown-Feld "Befehl", mit dem weitere Befehle an das Test-Framework angehängt werden können. Der generierte Befehlscode kann von der Firma SALENIUM exportiert werden.

Aus dem von uns generierten Beispiel wurde eine Java-Datei exportiert. Paket com.example. testet; importiert com.thoughtworks.selenium. Muster; setUp("http://www.google. com/", "*firefox"); Selen. open("/"); Selen. type("q", "selenium rc"); Selen. click ("btnG"); Selen. waitForPageToLoad("300000"); assertTrue(selenium. isTextPresent("Results * for Selenium rc")); Selenium stellt den Javascript-Code zusätzlich in die Web-Seiten ein, was seinerseits erfordert, dass dieses Werkzeug während der Abarbeitung vorhanden ist.

Diese Befehle setzen sich aus Statements zusammen, die der Webbrowser verarbeiten soll. Zu diesem Zweck verwendet sie die JavaScript-Fähigkeiten des Webbrowsers. Selen überprüft die Applikation gegen ihre Spezifikationen, ohne die interne Struktur des Code zu wissen. Es können Text, Verweise und HTML-Elemente automatisiert überprüft und alle Javascript-Ereignisse über die Funktion des Seleniums ausgelöst werden. Um Testfälle erstellen und ausführen zu können, ist es erforderlich, dass der SelfServer in Betrieb ist.

Dies startet einen Jetty-Webserver und es ist eine Selenium-Fernbedienung verfügbar. Die PHPUnit ist ein Open-Source-Framework zum Test von PHP-Skripten. Aus dem PHPUnit Framework können die von der IDE generierten Test Cases aufgerufen werden. Ein PHP-Client wird als Dolmetscher zwischen PHPUnit und Selen verwendet. Ein Beispiel zeigt die Vorgehensweise (aus einem Selenium-Tutorial).

1'); $this->setPort(5000); $this->setBrowser('*firefox'); $this->setBrowserUrl('www.google. de'); In der GUITest wird der Verbindungsaufbau zur Herstellung der Verbindung mit dem Selen SRC durchgeführt. Dies wird in der Set-Up () Methodik durchgeführt. Die abgeleitete Klassen PHPUnit_Extensoins_SeleniumTestCase enthält die Methoden runSelenese(). Dieses Verfahren setzt den Weg zu den Selenium-Testfällen voraus. runSelenese(Weg zu den Selenium-Testfällen); damit kann der von selenium standardmäßig generierte HTML-Testfall aufgerufen werden.

In der Regel sendet das Programm einen HTTP-Aufruf an das SRC und bearbeitet seine Reaktion in den Assert-Anweisungen von PHPUnit. Es ist auch möglich zu prüfen, ob ein DOM-Element auf der zu prüfenden Webseite zu sehen ist. Wie kann Selen nicht getestet werden? Selen speichert diese Einwirkungen nicht.

Ähnlich wie bei Selbstauslöser können Sie mit der Capture-Replay-Funktion einen Testfall erstellen. Die Generierung der Tests erfolgt als Java- oder Visual Basic-Code. Bei laufender Aufnahme wird der Fokus per Klick auf das Eingangsfeld gesetzt und die Anwenderdaten eingelesen. Anhand des Codes kann man sehen, dass beim Aufrufen der text_user ()-Methode ein Test-Objekt zurückgegeben wird, das sich auf das Benutzer-Textfeld mit den zugehörigen Coordinaten verweist.

In diesem Beispiel ist die Methodik text_user() in der hergeleiteten und zusätzlichen erzeugten Klassen der Klasse TestLoginSiteHelper implementiert. Das gleiche trifft auf die text_pass () Methodik zu. Die Informationen stammen aus der click (atPoint(36,13))-Methode, die ihrerseits aus der GuiTestObject-Subklasse kommt. Die Checkpoints wurden vorher während der Aufnahme mit dem Script Creator definiert. Die Basismethoden getProperty() und performTest() der Grundklasse TestObject sind für die Abfrage von Properties und das Prüfen von Inspektionspunkten verantwortlich.

Das hier vorgestellte Testwerkzeug ist ohne Zweifel eine große Unterstützung beim Test von grafischen Oberflächen. Allerdings sind sie auch mit einem bestimmten Arbeitsaufwand bei der Testfallerstellung verbunden. Beim Aufzeichnen von Anwenderaktionen werden meist bereits jetzt Störungen erkannt und umgehend nachgebessert.

Auch interessant

Mehr zum Thema