GUI-Tests: UI-Testfälle & Beispiele

⚡ Intelligente Zusammenfassung

GUI-Tests überprüfen jedes sichtbare Element einer Anwendung – Schaltflächen, Menüs, Symbole, Textfelder und Layouts –, damit sich die Bildschirme über verschiedene Browser, Geräte und Bildschirmauflösungen hinweg genau wie spezifiziert verhalten und aussehen, bevor echte Benutzer sie jemals berühren.

  • Umfang: Überprüfen Sie Größe, Position, Ausrichtung, Schriftarten, Farben, Fehlermeldungen und Bilder für jedes Steuerelement, das ein Benutzer sehen oder anklicken kann.
  • 🎯 Geschäftsfall: Nutzer beurteilen eine Anwendung zunächst nach ihrer Benutzeroberfläche. Ein verwirrender oder fehlerhafter Bildschirm kostet daher Akzeptanz, selbst wenn die zugrundeliegende Logik einwandfrei ist.
  • 🧩 Fünf Typen: Funktions-, Benutzerfreundlichkeits-, Kompatibilitäts-, Zugänglichkeits- und visuelle Leistungsprüfungen beantworten jeweils eine andere Frage zum selben Bildschirm.
  • 🔍 Checkliste zuerst: Erstellen Sie eine wiederverwendbare GUI-Checkliste, die Elementgeometrie, Lesbarkeit, Auflösungsverhalten, Rechtschreibung, Scrollleisten und deaktivierte Felder abdeckt.
  • ⚙️ Drei Techniken: Manuelle Überprüfung, Aufzeichnung und Wiedergabe sowie modellbasierte Generierung, die unerwünschte Zustände vorhersagt, die ein Skript niemals erreichen würde.
  • 🤖 Wiederholungen automatisieren: Skripten Sie stabile, hochfrequente Regressionspfade und reservieren Sie menschliche Tester für explorative und erfahrungsbasierte Beurteilungen.
  • 🛡️ Wartungskosten senken: Verwenden Sie stabile Locators, trennen Sie Testdaten von Testschritten und Versions-Screenshots, damit kleinere Layoutänderungen nicht jedes Skript unbrauchbar machen.

Um GUI-Tests zu verstehen, sollten wir zunächst klären, was eine grafische Benutzeroberfläche (GUI) ist.

Was ist GUI?

Es gibt zwei Arten von Schnittstellen für eine Computeranwendung. Über die Befehlszeilenschnittstelle geben Sie Text ein und der Computer reagiert auf diesen Befehl. GUI steht für Graphical User Interface, bei dem Sie mit dem Computer über Bilder statt Text interagieren.

Im Folgenden sind die GUI-Elemente aufgeführt, die für die Interaktion zwischen Benutzer und Anwendung verwendet werden können:

GUI-Tests sind eine Validierung der oben genannten Elemente.

Was ist GUI-Testen?

GUI-Tests ist ein Softwaretesttyp, der die grafische Benutzeroberfläche der Software überprüft. Der Zweck des Testens grafischer Benutzeroberflächen (GUI) besteht darin, sicherzustellen, dass die Funktionalitäten von Softwareanwendungen gemäß den Spezifikationen funktionieren, indem Bildschirme und Steuerelemente wie Menüs, Schaltflächen, Symbole usw. überprüft werden.

Die grafische Benutzeroberfläche (GUI) ist das, was der Benutzer sieht. Besucht man beispielsweise guru99.com, ist die Startseite die GUI der Website. Der Quellcode bleibt verborgen; nur die Benutzeroberfläche ist sichtbar. GUI-Tests konzentrieren sich daher auf die Designstruktur und die korrekte Darstellung von Bildern.

Im obigen Screenshot beginnt der GUI-Test mit der Überprüfung, ob jedes Bild in verschiedenen Browsern vollständig sichtbar ist. Die restlichen Prüfungen auf derselben Seite sind:

  • Die Links sind verfügbar, und jeder Button funktioniert beim Anklicken.
  • Durch die Änderung der Bildschirmgröße werden Bilder oder Texte niemals verkleinert, beschnitten oder überlappt.
  • Nichts im Layout bricht zusammen, wenn das Browserfenster verkleinert wird.

💡 Tipp: Testen Sie dieselbe Seite in den Auflösungen 1920×1080, 1366×768 und 375×812, bevor Sie einen Fehler melden. Viele Meldungen über „Layoutfehler“ beruhen lediglich auf ungetesteten Haltepunkten.

Bedarf an GUI-Tests

Das Grundkonzept des GUI-Testings ist nun klar. Ihnen werden sicher folgende Fragen in den Sinn kommen:

  • Warum GUI-Tests durchführen?
  • Ist es wirklich nötig?
  • Reicht es nicht aus, die Funktionalität und Logik einer Anwendung zu testen, und warum sollte man zusätzliche Zeit für die Benutzeroberfläche aufwenden?

Um die Antwort zu finden, sollten Sie sich in die Lage eines Nutzers versetzen, nicht in die eines Testers. Ein Nutzer hat keine Kenntnis darüber, wie die Anwendung entwickelt wurde. Die Benutzeroberfläche entscheidet darüber, ob der Nutzer die Anwendung weiter verwendet oder aufgibt.

Ein normaler Nutzer achtet zunächst auf das Design und die Benutzerfreundlichkeit der Anwendung. Wenn ein Nutzer mit der Oberfläche nicht zurechtkommt oder die Anwendung als zu komplex empfindet, wird er sie nicht wieder nutzen. Die grafische Benutzeroberfläche (GUI) ist daher von entscheidender Bedeutung und sollte gründlich getestet werden, um sicherzustellen, dass sie fehlerfrei ist.

Arten von GUI-Tests

Zu wissen, warum die Benutzeroberfläche wichtig ist, ist nur die halbe Wahrheit. GUI-Tests lassen sich in fünf Typen unterteilen, und jeder Typ beantwortet eine andere Frage zum selben Bildschirm.

  • Funktionale GUI-Tests: Bestätigt, dass jede Kontrollfunktion ihre Funktion erfüllt. Eng verwandt mit FunktionsprüfungEs fragt, ob ein Button zum Absenden dient, ein Dropdown-Menü filtert und ein Feld gültige Eingaben akzeptiert.
  • Usability-Tests: Misst, wie leicht eine reale Person eine Aufgabe erledigt. Usability-Tests untersucht die Navigationstiefe, die Lesbarkeit und ob Fehlermeldungen tatsächlich hilfreich sind.
  • Kompatibilitätsprüfung: Wiederholt dieselben Bildschirme über verschiedene Browser, Betriebssysteme und Gerätegrößen hinweg. Cross-Browser-Tests Erkennt Darstellungsfehler, die nur in einer Engine auftreten.
  • Barrierefreiheitstests: Überprüft die Tastaturnavigation, die Beschriftungen von Bildschirmleseprogrammen und den Farbkontrast gemäß WCAG. Zugänglichkeitsprüfung ist in vielen Märkten mittlerweile eine Pflichtvoraussetzung und keine optionale Zusatzleistung mehr.
  • Visuelle und Leistungstests: Vergleicht gerenderte Screenshots mit einer Referenzlinie und misst, wie schnell die Benutzeroberfläche gerendert und reagiert, sowie die Überlappung.ping und Leistungstest.

Die meisten Teams nutzen alle fünf Aspekte, gewichten sie aber unterschiedlich: Bei einer öffentlichen Website steht Kompatibilität und Zugänglichkeit im Vordergrund, bei einem internen Dashboard hingegen die Funktionalität.

Was überprüft man beim GUI-Testing?

Die folgende Checkliste gewährleistet ein detailliertes GUI-Testing beim Softwaretesten.

  • Überprüfen Sie alle GUI-Elemente auf Größe, Position, Breite, Länge und Akzeptanz von Zeichen oder Zahlen. Sie müssen beispielsweise in der Lage sein, Eingaben in die Eingabefelder zu machen.
  • Prüfen Sie, ob Sie die vorgesehene Funktionalität der Anwendung über die GUI ausführen können
  • Überprüfen Sie, ob Fehlermeldungen korrekt angezeigt werden
  • Achten Sie auf eine klare Abgrenzung der verschiedenen Abschnitte auf dem Bildschirm
  • Überprüfen Sie, ob die in einer Anwendung verwendete Schriftart lesbar ist
  • Überprüfen Sie, ob die Textausrichtung korrekt ist
  • Überprüfen Sie, ob die Farbe der Schriftart und der Warnmeldungen ästhetisch ansprechend ist
  • Überprüfen Sie, ob die Bilder eine gute Klarheit haben
  • Überprüfen Sie, ob die Bilder richtig ausgerichtet sind
  • Überprüfen Sie die Positionierung von GUI-Elementen für unterschiedliche Bildschirmauflösungen.

GUI-Testtechniken

Sobald die Checkliste existiert, muss als nächstes entschieden werden, wie sie umgesetzt werden soll. GUI-Testtechniken kann in drei Teile kategorisiert werden:

Manuelles Testen

Bei diesem Ansatz werden grafische Bildschirme manuell von Testern auf Übereinstimmung mit den im Geschäftsanforderungsdokument genannten Anforderungen überprüft.

Aufnahme und Wiedergabe

GUI-Tests können mithilfe von Automatisierungstools durchgeführt werden. Dies geschieht in zwei Schritten. Während der Aufzeichnung werden die Testschritte vom Automatisierungstool erfasst. Während der Wiedergabe werden die aufgezeichneten Testschritte in der zu testenden Anwendung ausgeführt. Beispiele für solche Tools: QTP.

Modellbasiertes Testen

Ein Modell ist eine grafische Darstellung des Systemverhaltens. Es hilft uns, das Systemverhalten zu verstehen und vorherzusagen. Modelle unterstützen die Generierung effizienter Testfälle anhand der Systemanforderungen. Das folgende Diagramm veranschaulicht, wie ein Modell die Testgenerierung steuert:

Folgendes muss bei diesem modellbasierten Test berücksichtigt werden:

  • Erstellen Sie das Modell
  • Bestimmen Sie die Eingaben für das Modell
  • Berechnen Sie die erwartete Ausgabe für das Modell
  • Führen Sie die Tests durch
  • Vergleichen Sie die tatsächliche Ausgabe mit der erwarteten Ausgabe
  • Eine Entscheidung über das weitere Vorgehen am Modell

Einige der Modellierungstechniken, aus denen Testfälle abgeleitet werden können:

  • Diagramme – Stellt den Zustand eines Systems dar und überprüft den Zustand nach einigen Eingaben.
  • Entscheidungstabellen – Tabellen zur Bestimmung der Ergebnisse für jede angewendete Eingabe

Modellbasiertes Testen ist eine sich weiterentwickelnde Technik zur Generierung von Testfällen aus den Anforderungen. Der Hauptvorteil im Vergleich zu den beiden oben genannten Methoden besteht darin, dass unerwünschte Zustände ermittelt werden können, die Ihre GUI erreichen kann.

Manuelle vs. automatisierte GUI-Tests

Zwei dieser drei Techniken sind manuell, eine ist automatisiert, was die praktische Frage aufwirft, wo jede einzelne ihren Platz hat. Manuelle Prüfung Dadurch sitzt ein Mensch vor dem Bildschirm und erkennt so ungeschickte Arbeitsabläufe, ungeschickte Formulierungen und Animationen, die sich falsch anfühlen – Beurteilungen, die kein Drehbuch vornehmen kann.

Automatisiertes Testen Es wiederholt dieselben Interaktionen tausendfach ohne Ermüdungserscheinungen und eignet sich daher ideal für stabile Regressionstests und die wiederholte Ausführung einer Testsuite auf verschiedenen Browsern. Der Nachteil liegt im Wartungsaufwand: Automatisierte GUI-Skripte funktionieren nicht mehr, sobald sich ein Locator oder das Layout ändert. Die meisten erfahrenen Teams setzen daher auf einen Hybridansatz, bei dem wiederholbare Prozesse automatisiert und Mitarbeiter für interaktive Aufgaben freigestellt werden.

Faktor Manuelle GUI-Tests Automatisierte GUI-Tests
am besten für Neue Bildschirme, explorative Prüfungen, Erscheinungsbild Stabile Regressionstests, browserübergreifende Läufe
Geschwindigkeit pro Zyklus Langsam, begrenzt durch die Testerstunden Schnell, läuft über Nacht unbeaufsichtigt.
Kosten im Voraus Niedrig Hoch (Skripting und Framework-Einrichtung)
Wartung Nichts weiter als die Aktualisierung der Checkliste Von Bedeutung, wenn sich die Schnittstelle ändert
Erfasst subjektive Probleme Ja Nein

Beispiele für GUI-Testtestfälle

GUI-Tests beinhalten grundsätzlich

  1. Testen der Größe, Position, Breite und Höhe der Elemente.
  2. Testen der angezeigten Fehlermeldungen.
  3. Testen Sie die verschiedenen Bereiche des Bildschirms.
  4. Testen der Schriftart, ob sie lesbar ist oder nicht.
  5. Testen des Bildschirms in verschiedenen Auflösungen mithilfe von Vergrößern und Verkleinern wie 640 x 480, 600 x 800 usw.
  6. Testen Sie die Ausrichtung der Texte und anderer Elemente wie Symbole, Schaltflächen usw., ob sie an der richtigen Stelle sind oder nicht.
  7. Testen der Farben der Schriftarten.
  8. Testen der Farben der Fehlermeldungen, Warnmeldungen.
  9. Testen, ob das Bild eine gute Klarheit hat oder nicht.
  10. Testen der Ausrichtung der Bilder.
  11. Prüfung der Rechtschreibung.
  12. Der Benutzer darf bei der Nutzung der Systemschnittstelle nicht frustriert sein.
  13. Testen, ob die Schnittstelle vorhanden isttractive oder nicht.
  14. Testen der Bildlaufleisten entsprechend der Größe der Seite, falls vorhanden.
  15. Testen der deaktivierten Felder, falls vorhanden.
  16. Prüfung der Größe der Bilder.
  17. Prüfung der Überschriften, ob diese richtig ausgerichtet sind oder nicht.
  18. Testen der Farbe des Hyperlinks.

Demo: So führen Sie einen GUI-Test durch

Die obige Liste wird wesentlich übersichtlicher, wenn sie auf einen realen Bildschirm angewendet wird. Daher verwenden wir hier einige Beispieltestfälle für den folgenden Dialog.

Nachfolgend finden Sie ein Beispiel für Testfälle, das UI- und Usability-Testszenarien umfasst. Falls Sie noch keine Erfahrung mit dem Schreiben von Testfällen haben, lesen Sie bitte weiter. wie man Testfälle schreibt zuerst.

Testfall 01 – Überprüfen Sie, ob das Textfeld mit der Bezeichnung „Quellverzeichnis” ist richtig ausgerichtet.

Testfall 02 – Überprüfen Sie, ob das Textfeld mit der Bezeichnung „Verpackung” ist richtig ausgerichtet.

Testfall 03 – Überprüfen Sie, ob das Etikett den Namen „Jetzt entdecken„ ist eine Schaltfläche, die sich am Ende des Textes befindetBox mit dem Namen „Quellverzeichnis"

Testfall 04 – Überprüfen Sie, ob das Etikett den Namen „Jetzt entdecken„ ist eine Schaltfläche, die sich am Ende des Textes befindetBox mit dem Namen „Verpackung"

Testfall 05 – Überprüfen Sie, ob das Textfeld mit der Bezeichnung „Name” ist richtig ausgerichtet.

Testfall 06 – Überprüfen Sie, ob das Etikett „Modifikatoren„besteht aus 4 Optionsfeldern mit den Namen public, default, private, protected.

Testfall 07 – Überprüfen Sie, ob das Etikett „Modifikatoren„besteht aus 4 Optionsfeldern, die richtig hintereinander angeordnet sind.

Testfall 08 – Überprüfen Sie, ob das Etikett „Superklasse” unter dem Label „Modifikatoren„besteht aus einem Dropdown-Menü, das richtig ausgerichtet sein muss.

Testfall 09 – Überprüfen Sie, ob das Etikett „Superklasse„besteht aus einer Schaltfläche mit der Beschriftung „Jetzt entdecken” drauf, die richtig ausgerichtet sein muss.

Testfall 10 – Stellen Sie sicher, dass beim Klicken auf einen beliebigen Optionsknopf der Standardmauszeiger in einen Handmauszeiger geändert wird.

Testfall 11 – Stellen Sie sicher, dass der Benutzer im Dropdown-Menü „“ nichts eingeben kann.Superklasse"

Testfall 12 – Stellen Sie sicher, dass eine entsprechende Fehlermeldung generiert wird, wenn versehentlich etwas ausgewählt wurde.

Testfall 13 – Stellen Sie sicher, dass der Fehler gegebenenfalls in ROTER Farbe angezeigt wird.

Testfall 14 – Stellen Sie sicher, dass in den Fehlermeldungen die korrekten Bezeichnungen verwendet werden.

Testfall 15 – Stellen Sie sicher, dass die einzelnen Optionsfelder standardmäßig jedes Mal ausgewählt sind.

Testfall 16 – Stellen Sie sicher, dass die TAB-Taste während des Sprungs ordnungsgemäß funktioniert.ping auf einem anderen Feld neben dem vorherigen.

Testfall 17 – Stellen Sie sicher, dass alle Seiten den korrekten Titel enthalten.

Testfall 18 – Stellen Sie sicher, dass der Seitentext korrekt ausgerichtet ist.

Testfall 19 – Stellen Sie sicher, dass nach der Aktualisierung eines beliebigen Feldes eine entsprechende Bestätigungsmeldung angezeigt wird.

Testfall 20 – Stellen Sie sicher, dass nur 1 Optionsfeld ausgewählt sein darf, aber mehrere Kontrollkästchen ausgewählt sein können.

Herausforderungen beim GUI-Testen

Das Schreiben dieser Fälle ist unkompliziert; keeping Sie über mehrere Releases hinweg am Leben zu erhalten, ist nicht möglich. In der Softwareentwicklung ist das häufigste Problem beim … Regressionstests liegt darin, dass sich die Benutzeroberfläche der Anwendung häufig ändert. Es ist sehr schwierig zu testen und festzustellen, ob es sich um ein Problem oder eine Verbesserung handelt. Das Problem tritt auf, wenn Sie keine Dokumente zu GUI-Änderungen haben.

⚠️ Warnung: Skripte, die Elemente anhand von Bildschirmkoordinaten oder automatisch generierten IDs lokalisieren, werden beim nächsten Build fehlschlagen. Betrachten Sie die Lokalisierungsstrategie als Teil des Designs und nicht als nachträgliche Überlegung.

GUI-Testtools

Die richtigen Werkzeuge fangen einen Großteil dieser Schwankungen auf. Im Folgenden finden Sie eine Liste beliebter Werkzeuge. GUI-Testtools :

  1. Selenium
  2. QTP
  3. Cucumber
  4. Seidentest
  5. TestComplete
  6. Squish GUI-Tester

Klicken Sie hier, um zu lernen Selenium, QTP & Cucumber.

Im Folgenden sind Open-Source-Tools zum Durchführen automatisierter UI-Tests verfügbar.

Produkt Lizenziert unter
AutoHotkey GPL
Selenium Apache
Sikuli MIT
Roboter-Framework Apache
Wasser - Water BSD
Dojo-Toolkit BSD

Sikuli ist bildbasiert und nützlich, wenn ein Steuerelement keinen zuverlässigen Positionsgeber hat; Selenium bleibt die Standardeinstellung für Testen von Webanwendungen.

Häufig gestellte Fragen

Ja. Moderne Tools lesen eine Anforderung oder scannen einen gerenderten Bildschirm und erstellen Testfälle, die Felder, Schaltflächen und Validierungsmeldungen umfassen. Diese werden jedoch weiterhin von einem Tester überprüft, da die KI nicht erkennen kann, welche Bildschirme ein tatsächliches Geschäftsrisiko bergen.

Selbstheilende Engines speichern mehrere Attribute pro Element. Wenn ein Locator defekt ist, gleicht das Tool die verbleibenden Attribute ab, repariert die Referenz und kennzeichnet die Änderung. Teams, die es verwenden, Selenium Nach kosmetischen Überarbeitungen verzeichnen Suiten deutlich weniger Fehlalarme.

GUI-Tests prüfen, ob die Benutzeroberfläche korrekt ist: Ausrichtung, Beschriftungen, Farben und das Verhalten der Steuerelemente entsprechen den Vorgaben. Usability-Tests untersuchen die Benutzerfreundlichkeit der Oberfläche, indem sie messen, wie schnell eine Person eine Aufgabe erledigt. Usability-Tests sind eine Art von GUI-Tests.

GUI-Tests sind Black-Box-Tests. Der Tester arbeitet ausschließlich mit der Benutzeroberfläche und den Anforderungen, ohne den Quellcode zu lesen. Sie werden üblicherweise während Systemtests ausgeführt, nachdem Unit- und Integrationstests die zugrundeliegende Logik bereits validiert haben.

Führen Sie bei jedem Build einen kurzen Smoke-Test mit kritischen Screens durch und die vollständige Suite täglich oder vor jeder Veröffentlichung. Tools wie z. B. UFT Planen Sie unbeaufsichtigte Testläufe, sodass die nächtliche Ausführung fast keine Testerzeit in Anspruch nimmt.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: