-
QUERVERWEIS AUF VERWANDTE ANMELDUNGEN UND PRIORITÄT
-
Diese Patentanmeldung beansprucht die Priorität der
indischen Patentanmeldung 201621010029 , eingereicht am 22. März 2016.
-
GEBIET DER OFFENBARUNG
-
Die vorliegende Patentanmeldung betrifft allgemein die Benutzerschnittstellentestfallmodellierung. Genauer stellt die Patentanmeldung ein Verfahren und System zum Erstellen von Testfallmodellen durch Verwenden eines zugrunde liegenden modellgetriebenen Rahmenwerks zur Benutzerschnittstellenerzeugung bereit.
-
HINTERGRUND DER OFFENBARUNG
-
Die Benutzerschnittstelle einer Anwendung schließt eine große Anzahl von Elementen, wie Dialogen (z. B. Popup-Fenster oder Bildschirme) ein, die alle ein oder mehrere Steuerelemente wie Textbereiche oder Kästchen, Tasten oder Schaltflächen mit Text usw. enthalten können. Während der Entwicklung eines Produkts ändert sich das Benutzerschnittstellenelement, und hierdurch können Defekte oder Fehler in die Benutzerschnittstelle eingeführt werden, die zu einem schwerwiegenden Fehler der Anwendung führen können. Das Problem wird dadurch verschärft, dass Anwendungsentwickler unter dem Druck stehen, fortlaufend neue Merkmale hinzuzufügen, die Benutzerschnittstelle zu aktualisieren und neue Versionen von Anwendungen zu veröffentlichen. Dadurch ist es selten der Fall, dass das ursprüngliche Testskript die nachfolgend überarbeitete Anwendung angemessen testen kann.
-
In den vorhandenen Arbeiten wurde anerkannt, dass das manuelle Testen der Benutzerschnittstellenanwendungen langwierig, fehleranfällig und mühsam ist. Daher beruht ein Großteil der vorhandenen Lösungen auf dem Automatisieren des Testens der Benutzerschnittstellenanwendungen. Um das Testen von Benutzerschnittstellenanwendungen zu automatisieren, schreiben Testingenieure Programme unter Verwendung von Skriptsprachen (z. B. JavaScript und VBScript). Das Schreiben von Benutzerschnittstellenautomatisierungstestskripts ist eine herausfordernde Tätigkeit, die solide praktische Kenntnisse der zum Schreiben der Testfälle verwendeten Testskriptsprache erfordert. Ferner ist das manuelle Schreiben von Benutzerschnittstellenautomatisierungstestfällen arbeitsintensiv und erfordert ein erhebliches „Ausprobieren” (Versuch und Irrtum). Im Falle von Aktualisierungen oder Modifikationen in der Testskriptsprachensyntax oder wenn die Testskripte in einer anderen Skriptsprache geschrieben werden müssen, fällt außerdem ein beträchtlicher Arbeitsaufwand für Nacharbeiten an.
-
Des Weiteren erfordern die herkömmlichen Techniken, dass Testdaten für manuelle Automatisierungstestfälle für jeden Testfall zwingend manuell angegeben werden, was das Erstellen von Regressionstests unter Verwendung desselben Testfalls mit verschiedenen Testdaten zu einer langwierigen und arbeitsintensiven Tätigkeit macht.
-
Die vorher erwähnten Testprobleme werden durch den Umstand erschwert, dass von derselben Anwendung erwartet wird, auf einer Anzahl von verschiedenen Computerbetriebssystemen identisch zu funktionieren. Zum Beispiel wird von einer Windows-Anwendung üblicherweise erwartet, dass sie mit allen oder den meisten der aktuell im öffentlichen Gebrauch befindlichen Microsoft-Betriebssysteme funktioniert.
-
In einem Teil der Literatur des Stands der Technik wird das Erzeugen von Testfällen unmittelbar von Benutzerschnittstellen offenbart. Das Verfahren des Erzeugens von Testfällen unmittelbar von Benutzerschnittstellen sind technologie- oder plattformorientiert und nicht technologie- oder plattformunabhängig, was den zum Implementieren, Beibehalten oder Migrieren der Testfälle erforderlichen Arbeitsaufwand erheblich erhöht. Außerdem stellt das Implementieren, Beibehalten oder Migrieren der Testfälle eine noch größere Herausforderung dar, wenn die Benutzerschnittstelle geändert wird.
-
Der andere Teil der Literatur des Stands der Technik nutzt abstrakte Modelle zur Testskripterzeugung, d. h. es wird eine modellbasierte Testcodeerzeugung zum Softwaretesten implementiert. Die Literatur des Stands der Technik implementiert jedoch Techniken zum Erzeugen von Testskripts unmittelbar von vorhandenen und bereits ausgeführten Anwendungen. Das Erzeugen von Testskripts unmittelbar von den ausgeführten Anwendungen hat den Nachteil einer reduzierten Anpassbarkeit, mit der die Testskripts ausgeführt werden. Ein anderes Hindernis des Stands der Technik liegt im Automatisieren der Erzeugung von Testfällen zum Testen des Benutzerschnittstellenmodells während der Laufzeit.
-
Es wäre vorteilhaft, wenn die modellgetriebenen Erzeugungstechniken derart auf eine Weise genutzt werden könnten, dass die Testfallspezifikation von der Implementierung getrennt ist. Es besteht ein Bedarf an einem Mechanismus zum Automatisieren der Erzeugung von Testfällen mit besserer Anpassbarkeit in Bezug auf die Unabhängigkeit von Technologie, Plattform, Skriptsprache und dergleichen. Daher gilt das Nutzen von modellgetriebenen Techniken zur automatischen Erzeugung und Validierung von Testfällen weiterhin als eine der größten Herausforderungen des technischen Bereichs.
-
AUFGABEN DER OFFENBARUNG
-
Gemäß der vorliegenden Erfindung besteht die Hauptaufgabe darin, ein Verfahren und System zur automatischen Spezifikation von Testfallmodellen aus dem Benutzerschnittstellenmodellinhalt bereitzustellen.
-
Eine Aufgabe der Erfindung besteht darin, ein Verfahren und System zur automatischen Aktualisierung der Testfallmodelle entsprechend den jeweiligen Änderungen bei den Benutzerschnittstellenmodellelementen bereitzustellen.
-
Eine andere Aufgabe der Erfindung besteht darin, ein Verfahren und System zur Einfachklickerzeugung von Automatisierungstestfällen für jede Technologie ausgehend von den Testfallmodellen bereitzustellen.
-
Noch eine andere Aufgabe der Erfindung besteht darin, ein Verfahren und System zum Ermöglichen einer nahtlosen Ausführung der erzeugten Testskripts auf den erzeugten Benutzerschnittstellenbildschirmen durch eine automatische Synchronisierung eines Benutzerschnittstellenmodells und von Benutzerschnittstellentestfällen auf einer Modellebene bereitzustellen.
-
Eine andere Aufgabe der Erfindung besteht darin, ein Verfahren und System zur Erzeugung von Testfällen in jeder Technologie durch Angeben und Speichern von Testfallmodellen auf eine technologieunabhängige Weise bereitzustellen.
-
Andere Aufgaben und Vorteile der vorliegenden Erfindung werden aus der folgenden Beschreibung vollständiger offensichtlich, wenn diese in Verbindung mit den begleitenden Figuren gelesen wird, die den Schutzumfang der vorliegenden Offenbarung nicht einschränken sollen.
-
ZUSAMMENFASSUNG DER OFFENBARUNG
-
Bevor die vorliegenden Verfahren und Systeme und die vorliegende Hardware-Befähigung beschrieben werden, sei klargestellt, dass diese Erfindung nicht auf die beschriebenen besonderen Systeme und Methodiken beschränkt ist, da es mehrere mögliche Ausführungsformen der vorliegenden Erfindung geben kann, die nicht ausdrücklich in der vorliegenden Offenbarung dargestellt sind. Ebenso sei klargestellt, dass die in der Beschreibung verwendete Terminologie nur dem Zweck dient, die besonderen Versionen oder Ausführungsformen zu beschreiben, und nicht dazu dient, den Schutzumfang der vorliegenden Erfindung einzuschränken, der nur durch die beiliegenden Ansprüche eingeschränkt wird.
-
Die vorliegende Patentanmeldung stellt ein Verfahren und System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken bereit.
-
In einer Ausführungsform wird ein Verfahren zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken offenbart. Das Verfahren umfasst einen Prozessor, der zum Auswählen eines (Benutzerschnittstellen-)Modells konfiguriert ist, wobei der Prozessor ferner dazu konfiguriert ist, ein Testfallmodell für das ausgewählte Benutzerschnittstellenmodell zu erstellen und das erstellte Testfallmodell in einen Testfalleditor (222) einzustellen, wobei das Testfallmodell als eine Abfolge von Benutzerschnittstellenaktionen basierend auf einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells erstellt wird, wobei der Prozessor ferner dazu konfiguriert ist, das Testfallmodell für das ausgewählte Benutzerschnittstellenmodell zu validieren. Ferner ist der Prozessor dazu konfiguriert, ein Testfallskript ausgehend von dem Testfallmodell für das ausgewählte Benutzerschnittstellenmodell zu erzeugen.
-
In einer anderen Ausführungsform offenbart die vorliegende Patentanmeldung ein System (102) zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken. Das System (102) umfasst einen Prozessor (202) und einen mit dem Prozessor gekoppelten Speicher (206), wobei das System ferner ein Auswahlmodul (210) umfasst, das zum Auswählen eines Benutzerschnittstellenmodells konfiguriert ist. Das System umfasst ferner ein Testfallmodellerstellungsmodul (212), das zum Erstellen eines Testfallmodells für das ausgewählte Benutzerschnittstellenmodell und Einstellen des erstellten Testfallmodells in einen Testfalleditor (222) konfiguriert ist, wobei das Testfallmodell als eine Abfolge von Benutzerschnittstellenaktionen basierend auf einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells erstellt wird. Das System umfasst ferner ein Validierungsmodul (214), das zum Validieren des Testfallmodells für das ausgewählte Benutzerschnittstellenmodell konfiguriert ist. Des Weiteren umfasst das System ein Skripterzeugungsmodul (216), das zum Erzeugen eines Testfallskripts ausgehend von dem Testfallmodell für das ausgewählte Benutzerschnittstellenmodell konfiguriert ist.
-
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Die vorstehende Zusammenfassung sowie die folgende ausführliche Beschreibung bevorzugter Ausführungsformen sind besser verständlich, wenn sie in Verbindung mit den beigefügten Zeichnungen gelesen werden. Zum Zwecke der Veranschaulichung der Erfindung sind in den Zeichnungen beispielhafte Konstruktionen der Erfindung gezeigt; jedoch ist die Erfindung nicht auf die offenbarten spezifischen Verfahren und Systeme beschränkt. In den Zeichnungen wird gezeigt:
-
1: zeigt eine Netzwerkimplementierung, die ein System (102) zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken veranschaulicht.
-
2: zeigt ein Blockdiagramm, das ein System (102) zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken veranschaulicht.
-
3: zeigt ein Flussdiagramm, das ein Verfahren zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken veranschaulicht.
-
4: zeigt ein Flussdiagramm, das einen Prozess auf hoher Ebene zur Erstellung eines Testfallmodells entsprechend dem ausgewählten Benutzerschnittstellenmodell unter Nutzung des ereigniszentrierten Ansatzes veranschaulicht.
-
5: zeigt ein Flussdiagramm, das einen Prozess auf hoher Ebene zur Erstellung eines Testfallmodells entsprechend dem ausgewählten Benutzerschnittstellenmodell unter Nutzung des benutzerinteraktionszentrierten Ansatzes veranschaulicht.
-
DETAILLIERTE BESCHREIBUNG DER BEIGEFÜGTEN ZEICHNUNGEN
-
Einige Ausführungsformen dieser Erfindung, die alle ihre Merkmale veranschaulichen, werden nun ausführlich erörtert.
-
Die Wörter „umfassend”, „aufweisend”, „enthaltend” und „einschließlich” sowie andere Formen davon sollen die gleiche Bedeutung haben und insofern unerschöpflich sein, als ein Element oder Elemente, die auf eines dieser Wörter folgen, keine erschöpfende Auflistung des Elements oder der Elemente sein sollen bzw. nicht nur auf das aufgelistete Element oder die aufgelisteten Elemente beschränkt sein sollen.
-
Es muss auch darauf hingewiesen werden, dass, wie hierin und in den beiliegenden Ansprüchen verwendet, die Singularformen „ein”, „eine” sowie „der”, „die” und „das” Pluralbezüge einschließen, sofern nicht durch den Kontext eindeutig anderweitig vorgeschrieben. Obwohl beliebige Systeme und Verfahren, die den hierin beschriebenen ähnlich sind oder gleichen, bei der Anwendung oder Prüfung von Ausführungsformen der vorliegenden Erfindung verwendet werden können, werden nun die bevorzugten Systeme und Verfahren beschrieben.
-
Die offenbarten Ausführungsformen sind lediglich beispielhaft für die Erfindung, die in verschiedenen Formen ausgeführt sein kann.
-
Die in den Figuren dargestellten Elemente interagieren, wie nachstehend ausführlicher erläutert. Vor der Darlegung der ausführlichen Erläuterung wird jedoch darauf hingewiesen, dass die gesamte nachstehende Erörterung, unabhängig von der beschriebenen besonderen Implementierung, beispielhaften und keinen einschränkenden Charakter hat. Obwohl beispielsweise ausgewählte Aspekte, Merkmale oder Komponenten der Implementierungen als in Speichern gespeichert dargestellt sind, können alle oder ein Teil der mit dem Verschleißwarnsystem und -verfahren kompatiblen Systeme und Verfahren auf anderen maschinenlesbaren Medien gespeichert, zwischen diesen verteilt oder daraus gelesen werden.
-
Die vorstehend beschriebenen Verfahren können in einem oder mehreren Computerprogrammen implementiert werden, die auf einem programmierbaren Computer ausgeführt werden (oder dadurch ausführbar sind), einschließlich einer beliebigen Kombination einer beliebigen Anzahl von Folgendem: einem Prozessor, einem Speichermedium, das durch den Prozessor lesbar und/oder beschreibbar ist (einschließlich beispielsweise flüchtiger und nichtflüchtiger Speicher und/oder Speicherelemente), einer Vielzahl von Eingabeeinheiten und einer Vielzahl von Ausgabevorrichtungen. Programmcode kann auf Eingaben, die mittels einer beliebigen der Vielzahl von Eingabeeinheiten eingegeben werden, angewendet werden, um die beschriebenen Funktionen auszuführen und eine Ausgabe zu erzeugen, die auf einer beliebigen der Vielzahl von Ausgabevorrichtungen angezeigt wird.
-
Jedes im Schutzumfang der nachstehenden Ansprüche enthaltene Computerprogramm kann in einer beliebigen Programmiersprache, wie Assemblersprache, Maschinensprache, einer höheren prozeduralen Programmiersprache oder einer objektorientierten Programmiersprache, implementiert werden. Die Programmiersprache kann zum Beispiel eine kompilierte oder interpretierte Programmiersprache sein. Jedes derartige Computerprogramm kann in einem Computerprogrammprodukt, das greifbar in einer maschinenlesbaren Speichervorrichtung zur Ausführung durch einen Computerprozessor verkörpert ist, implementiert werden.
-
Verfahrensschritte der Erfindung können durch einen oder mehrere Computerprozessoren durchgeführt werden, die ein Programm ausführen, das greifbar auf einem computerlesbaren Medium verkörpert ist, um Funktionen der Erfindung durch Verarbeitung von Eingaben und Erzeugung von Ausgaben auszuführen. Geeignete Prozessoren umfassen beispielhaft Mikroprozessoren für sowohl allgemeine als auch spezielle Zwecke. Im Allgemeinen empfängt (liest) der Prozessor Befehle und Daten aus einem Speicher (wie einem Festwertspeicher und/oder einem Arbeitsspeicher) und schreibt (speichert) Befehle und Daten in den Speicher. Speichervorrichtungen, die dazu geeignet sind, Computerprogrammbefehle und -daten greifbar zu verkörpern, schließen zum Beispiel alle Formen von nichtflüchtigem Speicher, wie Halbleiterspeicher-Vorrichtungen, einschließlich EPROM, EEPROM und Flash-Speicher-Vorrichtungen; Magnetplatten wie interne Festplatten und Wechselfestplatten; magnetooptische Platten; und CD-ROMs ein. Beliebige der Vorstehenden können durch speziell entwickelte ASICs (Application-Specific Integrated Circuits) oder FPGAs (Field-Programmable Gate Arrays) ergänzt oder darin integriert werden. Ein Computer kann im Allgemeinen auch Programme und Daten aus einem nichtflüchtigen, computerlesbaren Speichermedium, wie einer internen Platte (nicht gezeigt) oder einer Wechselfestplatte, empfangen (lesen) und Programme und Daten darauf schreiben (speichern).
-
Alle hierin offenbarten Daten können zum Beispiel in einer oder mehreren Datenstrukturen, die greifbar auf einem nichtflüchtigen, computerlesbaren Medium gespeichert sind, implementiert werden. Ausführungsformen der Erfindung können diese Daten in diesen Datenstrukturen speichern und diese Daten von diesen Datenstrukturen lesen.
-
Die vorliegende Patentanmeldung stellt ein computerimplementiertes Verfahren und System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken bereit.
-
1 veranschaulicht eine Netzwerkimplementierung von einem System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken gemäß einer Ausführungsform des vorliegenden Gegenstands. Obwohl der vorliegende Gegenstand unter Berücksichtigung der Implementierung des Systems 102 auf einem Server erläutert wird, kann verstanden werden, dass das System 102 auch in einer Vielfalt an Rechensystemen, wie einem Laptop-Computer, einem Desktop-Computer, einem Notebook, einer Workstation, einem Großrechner, einem Server, einem Netzwerk-Server und dergleichen implementiert werden kann. In einer Implementierung kann das System 102 in einer cloudbasierten Umgebung implementiert werden. Es wird verständlich sein, dass auf das System 102 von mehreren Benutzern über eine oder mehrere Benutzervorrichtungen 104-1, 104-2...104-N, nachstehend zusammen als Benutzervorrichtungen 104 bezeichnet, oder auf den Benutzervorrichtungen 104 befindliche Anwendungen zugegriffen werden kann. Beispiele für die Benutzervorrichtungen 104 können, ohne jedoch darauf beschränkt zu sein, einen tragbaren Computer, einen Personal Digital Assistant, ein Handgerät und eine Workstation umfassen. Die Benutzervorrichtungen 104 sind durch ein Netzwerk 106 kommunikativ mit dem System 102 gekoppelt.
-
In einer Implementierung kann das Netzwerk 106 ein kabelloses Netzwerk, ein kabelgebundenes Netzwerk oder eine Kombination davon sein. Das Netzwerk 106 kann als eines der verschiedenen Arten von Netzwerken wie Intranet, lokales Netzwerk (LAN), Weitverkehrsnetzwerk (WAN), das Internet und dergleichen implementiert werden. Das Netzwerk 106 kann entweder ein dediziertes Netzwerk oder ein gemeinsames Netzwerk sein. Das gemeinsame Netzwerk stellt eine Verbindung der verschiedenen Arten von Netzwerken dar, die eine Vielzahl von Protokollen wie HTTP (Hypertext Transfer Protocol), TCP/IP (Transmission Control Protocol/Internet Protocol), WAP (Wireless Application Protocol) und dergleichen verwenden, um miteinander zu kommunizieren. Ferner kann das Netzwerk 106 eine Vielzahl von Netzwerkvorrichtungen, einschließlich Routern, Brücken, Servern, Rechenvorrichtungen, Speichervorrichtungen und dergleichen, umfassen.
-
Bezugnehmend auf 2 wird eine detaillierte Funktionsweise der verschiedenen Komponenten des Systems 102 gemäß einer Ausführungsform des offenbarten Gegenstands beschrieben.
-
In einer Ausführungsform der Erfindung wird bezugnehmend auf 2 ein System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken offenbart. In einer Ausführungsform umfasst das System (102) einen Prozessor (202) und einen Speicher (206), der kommunikativ mit dem Prozessor gekoppelt ist, um Funktionen durch Ausführen von in dem Speicher gespeicherten Anweisungen durchzuführen. In einer anderen Ausführungsform umfasst das System ein Auswahlmodul (210), das zum Auswählen des Benutzerschnittstellenmodells entsprechend der Benutzerschnittstelle aus der Anwendung, die ein Benutzerschnittstellentesten erfordert, konfiguriert ist. In einer anderen Ausführungsform sind die der einen oder den mehreren Anwendungen entsprechenden Benutzerschnittstellenmodelle in einem Speichermodul (224) gespeichert. Ferner kann ein Testfallmodellerstellungsmodul (212) zum Erstellen eines Testfallmodells für das ausgewählte Benutzerschnittstellenmodell und Einstellen des erstellten Testmodells in einen Testfalleditor (222) konfiguriert sein. In einem Aspekt kann das Testfallmodell als eine Abfolge von Benutzerschnittstellenaktionen basierend auf einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells erstellt werden. In einem anderen Aspekt kann der Testfalleditor (222) zum Anzeigen des Testfallmodells und zum Editieren des Testfallmodells konfiguriert sein. In noch einem anderen Aspekt kann der Testfalleditor (222) zum Editieren des Testfallmodells durch Hinzufügen von neuen Schritten, Ändern von vorhandenen Schritten, Aufzeichnen von vorhandenen Schritten und Löschen von vorhandenen Schritten des Testfallmodells konfiguriert sein.
-
Ferner umfasst das System ein Validierungsmodul (214), das zum Validieren des Testfallmodells anhand des entsprechenden Benutzerschnittstellenmodells konfiguriert ist. Die Validierung des Testfallmodells kann das Beurteilen des Testfallmodells basierend auf einer Regel-Engine (220) umfassen. Die Regel-Engine (220) kann einen Satz von vordefinierten Regeln und Einschränkungen umfassen, was die Integrität, Konsistenz und Richtigkeit des Testfallmodells sicherstellt. Ferner kann die Validierung des Testfallmodells eine syntaktische und semantische Beurteilung eines Testfallmodells anhand eines Benutzerschnittstellenmodells umfassen, wobei sie jedoch nicht hierauf beschränkt ist. In einer Ausführungsform können die Regeln und Einschränkungen in einem Skript codiert sein, das bei Ausführung beurteilt, ob das Testfallmodell alle der im Skript codierten Regeln und Einschränkungen einhält. Im Falle einer Verletzung wird die Validierung als fehlgeschlagen gekennzeichnet. Zum Beispiel kann ein Feld, das einen Ganzzahlwert erfordert, keinen Zeichenfolgendienstparameter zugeordnet werden. Danach kann ein Skripterzeugungsmodul (216) zum Erzeugen eines Testfallskripts ausgehend von dem validierten Testfallmodell für die Zielplattform konfiguriert sein. Ferner wird das erzeugte Testskript zum Testen der entsprechenden Benutzerschnittstellenanwendung verwendet.
-
In einer Ausführungsform kann ein Testfallmodellerstellungsmodul (212) dazu konfiguriert sein, ein Testfallmodell für das angegebene Benutzerschnittstellenmodell zu erstellen, bevor das erstellte Testfallmodell in einen Testfalleditor (222) eingepflegt wird. Die Erstellung eines Testfallmodells für das angegebene Modell kann basieren auf (i) einem ereigniszentrierten Ansatz, (ii) einem benutzerinteraktionszentrierten Ansatz oder einer Kombination von ereigniszentriertem Ansatz und benutzerinteraktionszentriertem Ansatz. Die Auswahl der Modelle kann auf der Überlegung basieren, ob die Benutzerschnittstelle in der Entwicklungsphase ist oder ob sie entwickelt wurde. In einer bevorzugten Ausführungsform kann der ereigniszentrierte Ansatz zum Modellieren von Testfällen während der Benutzerschnittstellenentwicklung verwendet werden, wenn ein Bedarf besteht, Unit-Tests von einzelnen Ereignissen auf einem ausgeführten Benutzerschnittstellenbildschirm durchzuführen. In einer anderen bevorzugten Ausführungsform kann der benutzerinteraktionszentrierte Ansatz zum Modellieren von Testfällen verwendet werden, wenn ein Bedarf besteht, einen bereits implementierten Benutzerschnittstellenbildschirm ausgehend von einem benutzerinteraktionszentrierten Ansatz zu testen. Für den Fachmann wäre es zum Zeitpunkt des Einreichens des Gegenstands dieser Patentanmeldung offensichtlich, dass das Testfallmodell basierend auf der Kombination von ereigniszentrierten Schritten und benutzerinteraktionszentrierten Schritten, die wie in 4 bzw. 5 erläutert basierend auf dem ereigniszentrierten Ansatz und dem benutzerinteraktionszentrierten Ansatz implementiert werden können, erstellt werden kann.
-
In einer anderen Ausführungsform kann ein Synchronisierungsmodul (218) zum Synchronisieren des Testfallmodells für das ausgewählte Benutzerschnittstellenmodell mit dem ausgewählten Benutzerschnittstellenmodell als eine Abfolge von Benutzerschnittstellenaktionen basierend auf einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells konfiguriert sein. Aufgrund der Zufälligkeit der Benutzerschnittstellenaktionen treten Änderungen in dem Benutzerschnittstellenmodell auf. Um sicherzustellen, dass die Änderungen in dem Benutzerschnittstellenmodell automatisch mit dem Testfallmodell für das ausgewählte Benutzerschnittstellenmodell synchronisiert werden, implementiert das System das Synchronisierungsmodul (218). Ferner ist das Synchronisierungsmodul (218) zum Überwachen der Änderungen in dem Benutzerschnittstellenmodell und zum automatischen Synchronisieren der Änderungen mit dem entsprechenden Testfallmodell konfiguriert.
-
In noch einer anderen Ausführungsform kann ein Testfalleditor (222) dazu konfiguriert sein, die Testfallmodelle anzuzeigen und für die Benutzer eine Möglichkeit bereitzustellen, um neue Schritte hinzuzufügen, vorhandene Schritte zu ändern, vorhandene Schritte aufzuzeichnen und vorhandene Schritte zu löschen. Ferner stellt der Testfalleditor (222) eine Möglichkeit bereit, um eine Validierung der Testfallmodelle und Erzeugung von Testskripten von den Testfallmodellen auszulösen. Des Weiteren kann der Testfalleditor (222) dazu konfiguriert sein, automatisch zu aktualisieren und die Änderungen, die in dem Testfallmodell entsprechend den Änderungen in dem Benutzerschnittstellenmodell auftreten, widerzuspiegeln.
-
In noch einer anderen Ausführungsform kann ein Speichermodul (224) als ein Teil des modellgetriebenen Rahmenwerks zur Benutzerschnittstellenmodellierung und -erzeugung dazu konfiguriert sein, ein oder mehrere Benutzerschnittstellenmodelle entsprechend einer oder mehreren Anwendungen zu speichern und hierauf zuzugreifen. Das Speichermodul (224) kann ebenfalls dazu konfiguriert sein, das Testfallmodell und das editierte Testfallmodell zusammen mit dem Benutzerschnittstellenmodell zu speichern und hierauf zuzugreifen.
-
In einer Ausführungsform können die ausgehend von dem validierten Testfallmodell unter Verwendung eines Skripterzeugungsmoduls (216) erzeugten Testskripts in einem automatisierten Ausführungssystem unter Verwendung eines Testausführungsmoduls ausgeführt werden. Das automatisierte Ausführungssystem ist so konfiguriert, dass es für die Umgebung geeignet ist, in der die Testskripts zusammen mit Testdaten ausgeführt werden sollen. Die Ausführung der Testskripts bringt ferner die Testergebnisse hervor, um zu verifizieren, dass die Benutzerschnittstellenanwendung wie erwartet funktioniert.
-
Obwohl die Ausführungsformen für Verfahren und Systeme für den vorliegenden Gegenstand in einer für strukturelle Merkmale und/oder Verfahren spezifischen Sprache beschrieben wurden, sei klargestellt, dass der vorliegende Gegenstand nicht notwendigerweise auf die beschriebenen spezifischen Merkmale oder Verfahren beschränkt ist. Stattdessen werden die spezifischen Merkmale und Verfahren als beispielhafte Ausführungsformen für den vorliegenden Gegenstand offenbart.
-
3 ist ein Flussdiagramm, das das Verfahren zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken gemäß einer Ausführungsform des hierin offenbarten Gegenstands veranschaulicht. Gemäß der bildlichen Darstellung von 2 verwendet das automatische Rahmenwerk zur Benutzerschnittstellentestfallmodellierung und -erzeugung ein zugrunde liegendes modellgetriebenes Rahmenwerk zur Benutzerschnittstellenerzeugung.
-
Der Prozess startet bei Schritt 302, wobei die Auswahl des gespeicherten Benutzerschnittstellenmodells durchgeführt wird. Die Auswahl des Benutzerschnittstellenmodells dient als ein vorletzter Schritt zum Erstellen des Testfallmodells, weil das Testfallmodell entsprechend dem ausgewählten Benutzerschnittstellenmodell erstellt wird.
-
Bei Schritt 304 wird das ausgehend von dem ausgewählten Benutzerschnittstellenmodell erstellte Testfallmodell in den Testfalleditor eingepflegt. In einem Aspekt kann das Testfallmodell automatisch als eine Abfolge von Benutzerschnittstellenaktionen basierend auf einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells erstellt werden. In einem anderen Aspekt kann das Testfallmodell neu erstellt und editiert werden. In noch einem anderen Aspekt kann das Editieren des eingestellten Testfallmodells durch Hinzufügen von neuen Schritten, Ändern von vorhandenen Schritten, Aufzeichnen von vorhandenen Schritten und Löschen von vorhandenen Schritten des Testfallmodells durchgeführt werden. In einer Ausführungsform wird ein Testfallmodell entsprechend dem ausgewählten Benutzerschnittstellenmodell erstellt, wobei die Erstellung des Testfallmodells basieren kann auf (i) einem ereigniszentrierten Ansatz, (ii) einem benutzerinteraktionszentrierten Ansatz oder einer Kombination von sowohl ereigniszentrierten als auch benutzerinteraktionszentrierten Ansätzen. Die Auswahl der Modelle kann auf der Überlegung basieren, ob die Benutzerschnittstelle in der Entwicklungsphase ist oder ob sie entwickelt wurde. In einer bevorzugten Ausführungsform kann das ereigniszentrierte Modell zum Modellieren von Testfällen während der Benutzerschnittstellenentwicklung verwendet werden, wenn ein Bedarf besteht, Unit-Tests von einzelnen Ereignissen auf einem ausgeführten Benutzerschnittstellenbildschirm durchzuführen. In einer anderen bevorzugten Ausführungsform kann das benutzerinteraktionszentrierte Modell zum Modellieren von Testfällen verwendet werden, wenn ein Bedarf besteht, einen bereits implementierten Benutzerschnittstellenbildschirm ausgehend von einem benutzerinteraktionszentrierten Ansatz zu testen. In einer anderen Ausführungsform wird die Synchronisierung des Testfallmodells für das ausgewählte Benutzerschnittstellenmodell mit dem ausgewählten Benutzerschnittstellenmodell basierend auf der Abfolge von Benutzerschnittstellenaktionen, die ausgehend von einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells erhalten wird, durchgeführt. Aufgrund der Zufälligkeit der Benutzerschnittstellenaktionen treten Änderungen in dem Benutzerschnittstellenmodell auf. Um sicherzustellen, dass die Änderungen in dem Benutzerschnittstellenmodell automatisch mit dem entsprechend dem Benutzerschnittstellenmodell ausgewählten Testfallmodell synchronisiert werden, werden die Änderungen in dem Benutzerschnittstellenmodell überwacht, und falls Änderungen festgestellt werden, werden die Änderungen automatisch mit dem entsprechenden Testfallmodell synchronisiert, was zu einem aktualisierten Testfallmodell führt.
-
Bei Schritt 306 wird das Testfallmodell anhand des entsprechenden Benutzerschnittstellenmodells validiert. Die Validierung des Testfallmodells kann das Beurteilen des Testfallmodells basierend auf einem Satz von vordefinierten Regeln und Einschränkungen umfassen, was die Integrität des Testfallmodells sicherstellt. Ferner kann die Validierung des Testfallmodells eine syntaktische und semantische Beurteilung eines Testfallmodells anhand eines Benutzerschnittstellenmodells umfassen, wobei sie jedoch nicht hierauf beschränkt ist. In einer Ausführungsform können die Regeln und Einschränkungen in einem Skript codiert sein, das bei Ausführung beurteilt, ob das Testfallmodell alle der im Skript codierten Regeln und Einschränkungen einhält. Im Falle einer Verletzung wird die Validierung als fehlgeschlagen gekennzeichnet. Zum Beispiel kann ein Feld, das einen Ganzzahlwert erfordert, keinem Zeichenfolgendienstparameter zugeordnet werden.
-
Der Prozess endet bei Schritt 308, wobei das Testskript ausgehend von dem validierten Testfallmodell für die Zielplattform erzeugt werden kann. Ferner wird das erzeugte Testskript zum Testen der entsprechenden Benutzerschnittstellenanwendung verwendet. In einer Ausführungsform können das Benutzerschnittstellenmodell, das Testfallmodell und das editierte Testfallmodell in einem Speichermodul (224) gespeichert werden und es kann hierüber auf diese zugegriffen werden.
-
Obwohl das Verfahren von 3 ein Verfahren zur Funktionsweise des offenbarten Gegenstands veranschaulicht, wird der Fachmann bemerken, dass das Verfahren in jeder beliebigen Reihenfolge unter Auslassung von einem oder mehreren Schritten oder durch das Durchführen jedes beliebigen Schritts in jeder beliebigen Reihenfolge verwendet werden kann, und dies bildet einen Teil des offenbarten Gegenstands.
-
Bezugnehmend auf 4 veranschaulicht ein Flussdiagramm einen Prozess auf hoher Ebene zur Erstellung eines Testfallmodells entsprechend dem ausgewählten Benutzerschnittstellenmodell unter Nutzung des ereigniszentrierten Ansatzes.
-
In einer Ausführungsform ist 4 eine bildliche Darstellung der Patentanmeldung des ereigniszentrierten Ansatzes zur Erstellung eines Testfallmodells entsprechend dein ausgewählten Benutzerschnittstellenmodell. Wie in 4 dargestellt, umfasst der ereigniszentrierte Ansatz das Erstellen eines Tests oder das Öffnen des vorhandenen Testfalls. Ferner umfasst der Prozess das Hinzufügen des Testschritts zu dem erstellten Testfall oder zu dem vorhandenen Testfall. Die Testschritte werden dem Testfall hinzugefügt, bis das Modellieren des Testfalls abgeschlossen ist. Wenn die Testfallmodellierung abgeschlossen ist und keine weiteren Testschritte zum Hinzufügen zu dem Testfall verbleiben, wird die Benutzerschnittstellenaktion gespeichert. Wenn die Testfallmodellierung nicht abgeschlossen ist, kann der Testschritt dem Testfall zum Erstellen der Benutzerschnittstellenaktion hinzugefügt werden. Des Weiteren umfasst der Prozess Schritte zum Überprüfen auf Anforderungen der Datenspezifikation, Ereignisspezifikation und Benutzerschnittstellenelementspezifikation. Ferner fordert der auf den Anforderungen basierende Prozess den Benutzer auf, die Datenspezifikation, die Ereignisspezifikation und das das Ereignis auslösende Benutzerschnittstellenelement anzugeben, falls die Datenspezifikation, die Ereignisspezifikation oder das das Ereignis auslösende Benutzerschnittstellenelement erforderlich ist. Der Prozess wird wiederholt, bis die Testfallmodellierung abgeschlossen und die Benutzerschnittstellenaktion gespeichert ist.
-
In einer beispielhaften Ausführungsform ist bezugnehmend auf 4 eine bildliche Darstellung gezeigt, die eine spezifische Benutzerschnittstellenaktion in einem ereigniszentrierten Ansatz erläutert. Zum Beispiel umfasst die Benutzerschnittstellenaktion zum Erstellen einer Benutzerschnittstellenaktion zum Festlegen von Daten in einem Textfeld, das als eine der Eingaben für den Dienst dient, die Schritte des (i) Erstellens der Benutzerschnittstellenaktion, (ii) des Angebens der in dem Textfeld festzulegenden Daten und (iii) des Auswählens des erforderlichen Textfelds, in dem Daten festzulegen sind. Der Prozess endet mit dem Speichern der Benutzerschnittstellenaktion durch das Speichern des Testfalls, falls die Testfallmodellierung abgeschlossen ist, während andernfalls der Prozess durch das Erstellen einer neuen Benutzerschnittstellenaktion/eines neuen Testschritts oder das Ändern/Löschen einer vorhandenen Benutzerschnittstellenaktion/eines vorhandenen Testschritts wiederholt wird.
-
In einer anderen beispielhaften Ausführungsform ist bezugnehmend auf 4 eine bildliche Darstellung gezeigt, die eine spezifische Benutzerschnittstellenaktion in einem ereigniszentrierten Ansatz erläutert. Zum Beispiel umfasst die Benutzerschnittstellenaktion zum Auslösen des Klickereignisses der Schaltfläche, das wiederum den Dienst aufruft, die Schritte des (i) Erstellens der Benutzerschnittstellenaktion, (ii) des Angebens des als Klickereignis angegebenen Ereignisses und (iii) des Auswählens der Schaltfläche als das das Ereignis auslösende Benutzerschnittstellenelement. Der Prozess endet mit dem Speichern des Testfalls, falls die Testfallmodellierung abgeschlossen ist, während andernfalls der Prozess durch das Erstellen einer neuen Benutzerschnittstellenaktion/eines neuen Testschritts oder das Ändern/Löschen einer vorhandenen Benutzerschnittstellenaktion/eines vorhandenen Testschritts wiederholt wird.
-
In noch einer anderen beispielhaften Ausführungsform ist bezugnehmend auf 4 eine bildliche Darstellung gezeigt, die eine spezifische Benutzerschnittstellenaktion in einem ereigniszentrierten Ansatz erläutert. Zum Beispiel umfasst die Benutzerschnittstellenaktion zum Bestätigen der in einem Textfeld festgelegten Daten durch den Dienst die Schritte des (i) Erstellens der Benutzerschnittstellenaktion, (ii) des Angebens der von dem Dienst erwarteten Daten und (iii) des Angebens des Textfelds, in dem Daten von dem Dienst festgelegt sind. Der Prozess endet mit dem Speichern des Testfalls, falls die Testfallmodellierung abgeschlossen ist, während andernfalls der Prozess durch das Erstellen einer neuen Benutzerschnittstellenaktion/eines neuen Testschritts oder das Ändern/Löschen einer vorhandenen Benutzerschnittstellenaktion/eines vorhandenen Testschritts wiederholt wird.
-
Bezugnehmend auf 5 veranschaulicht ein Flussdiagramm einen Prozess auf hoher Ebene zur Erstellung eines Testfallmodells entsprechend dem ausgewählten Benutzerschnittstellenmodell unter Nutzung des benutzerinteraktionszentrierten Ansatzes.
-
In einer Ausführungsform ist 5 eine bildliche Darstellung der Patentanmeldung des benutzerinteraktionszentrierten Modells zur Erstellung eines Testfallmodells entsprechend dem ausgewählten Benutzerschnittstellenmodell. Wie in 5 dargestellt, umfasst der benutzerinteraktionszentrierte Ansatz das Erstellen eines Testfalls oder das Öffnen des vorhandenen Testfalls. Ferner umfasst der Prozess das Hinzufügen des Testschritts zu dem erstellten Testfall oder zu dem vorhandenen Testfall. Die Testschritte werden dem Testfall hinzugefügt, bis das Modellieren des Testfalls abgeschlossen ist. Wenn die Testfallmodellierung abgeschlossen ist und keine weiteren Testschritte zum Hinzufügen zu dem Testfall verbleiben, wird die Benutzerschnittstellenaktion gespeichert. Wenn die Testfallmodellierung nicht abgeschlossen ist, kann der Testschritt dem Testfall zum Erstellen der Benutzerschnittstellenaktion und Angeben des Benutzerschnittstellenaktionstyps hinzugefügt werden. Des Weiteren umfasst der Prozess Schritte zum Überprüfen auf Anforderungen von Testumfangsdaten und das Vorhandensein eines Aktionsziels. Ferner umfasst der Prozess das Auffordern des Benutzers zum Angeben von Testumfangsdaten, falls Testumfangsdaten erforderlich sind, und zum Angeben des Benutzerschnittstellenelements zum Aufrufen einer Benutzerschnittstellenaktion, falls festgestellt wird, dass das Aktionsziel vorhanden ist. Der Prozess wird wiederholt, bis die Testfallmodellierung abgeschlossen und die Benutzerschnittstellenaktion gespeichert ist.
-
In einer beispielhaften Ausführungsform ist bezugnehmend auf 5 eine bildliche Darstellung gezeigt, die eine spezifische Benutzerschnittstellenaktion in einem benutzerinteraktionszentrierten Ansatz erläutert. Zum Beispiel umfasst die Benutzerschnittstellenaktion zum Erstellen einer Benutzerschnittstellenaktion zum Festlegen von Daten in einem Textfeld, das als eine der Eingaben für den Dienst dient, die Schritte des (i) Erstellens der Benutzerschnittstellenaktion, (ii) des Auswählens von „Daten festlegen” als den Benutzerschnittstellenaktionstyp und (iii) des Auswählens des erforderlichen Textfelds als das Aktionsziel. Der Prozess endet mit dem Speichern des Testfalls, falls die Testfallmodellierung abgeschlossen ist, während andernfalls der Prozess durch das Erstellen einer neuen Benutzerschnittstellenaktion/eines neuen Testschritts oder das Ändern/Löschen einer vorhandenen Benutzerschnittstellenaktion/eines vorhandenen Testschritts wiederholt wird.
-
In einer anderen beispielhaften Ausführungsform ist bezugnehmend auf 5 eine bildliche Darstellung gezeigt, die eine spezifische Benutzerschnittstellenaktion in einem benutzerinteraktionszentrierten Ansatz erläutert. Zum Beispiel umfasst die Benutzerschnittstellenaktion zum Klicken der Schaltfläche die Schritte des (i) Erstellens der Benutzerschnittstellenaktion, (ii) des Auswählens von „Klicken” als den Benutzerschnittstellenaktionstyp und (iii) des Auswählens der Schaltfläche als das Aktionsziel, auf dem der Klicken-Benutzerschnittstellenaktionstyp aufgerufen wird. Der Prozess endet mit dem Speichern des Testfalls, falls die Testfallmodellierung abgeschlossen ist, während andernfalls der Prozess durch das Erstellen einer neuen Benutzerschnittstellenaktion/eines neuen Testschritts oder das Ändern/Löschen einer vorhandenen Benutzerschnittstellenaktion/eines vorhandenen Testschritts wiederholt wird.
-
In noch einer anderen beispielhaften Ausführungsform ist bezugnehmend auf 5 eine bildliche Darstellung gezeigt, die eine spezifische Benutzerschnittstellenaktion in einem benutzerinteraktionszentrierten Ansatz erläutert. Zum Beispiel umfasst die Benutzerschnittstellenaktion zum Bestätigen der in einem Textfeld festgelegten Daten durch den Dienst die Schritte des (i) Erstellens der Benutzerschnittstellenaktion, (ii) des Auswählens von „Daten bestätigen” als den Benutzerschnittstellenaktionstyp und (iii) des Auswählens des erforderlichen Textfelds als das Aktionsziel, dessen Inhalt mit erwarteten Daten bestätigt wird. Der Prozess endet mit dem Speichern des Testfalls, falls die Testfallmodellierung abgeschlossen ist, während andernfalls der Prozess durch das Erstellen einer neuen Benutzerschnittstellenaktion/eines neuen Testschritts oder das Ändern/Löschen einer vorhandenen Benutzerschnittstellenaktion/eines vorhandenen Testschritts wiederholt wird.
-
Die in der vorliegenden Patentanmeldung offenbarten Techniken zum Erzeugen von Benutzerschnittstellentestfallmodellen ausgehend von Benutzerschnittstellenmodellen mit vordefinierten Strukturmustern sparen den beim manuellen Erstellen der Testfallmodelle anfallenden Arbeits- und Zeitaufwand ein. Ferner stellt das Erstellen von Benutzerschnittstellentestfallmodellen ausgehend von Benutzerschnittstellenmodellen die Synchronisierung zwischen der Benutzerschnittstelle und den Testfällen sicher. Des Weiteren entfallen durch das Erzeugen von Testfallskripts ausgehend von Testfallmodellen Nacharbeiten bei der Durchführung von Upgrades an der Testfallskripttechnologie oder während der Migration auf neuere Technologien. Das offenbarte Verfahren und System ermöglicht es den Testfallimplementierern außerdem, sich auf das Implementieren des Testfalls auf eine technologieunabhängige Weise zu konzentrieren, was wiederum den Testexperten die Flexibilität gibt, die erforderliche Testfallerzeugungstechnologie zu wählen.
-
In einer Ausführungsform umfassen die Benutzerschnittstellenaktionen, die ausgehend von einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells erhalten werden, Benutzerschnittstellenaktionen, die dem Stand der Technik entsprechen. Zum Beispiel können die Benutzerschnittstellenaktionen das Klicken, Doppelklicken oder Ziehen von Text, Strukturknoten und Steuerelementen innerhalb der getesteten Anwendung, das Minimieren und Maximieren von Fenstern, das Fokussieren von Steuerelementen, das Festlegen einer Zeichenfolge in einem Textfeld, das Bestätigen der Daten in einem Dropdown, das Klicken der Schaltfläche und andere Standardbenutzerschnittstellenaktionen einschließen, sind aber nicht hierauf beschränkt.
-
In einer Ausführungsform können die beim automatisierten Testen verwendeten Testskriptsprachen JavaScript, Perl, Python, Ruby, Tcl, Unix Shell Skript, VBscript und Sikuli einschließen, sind aber nicht hierauf beschränkt. Die vorliegende Erfindung implementiert ein System und Verfahren zur automatisierten Erzeugung einer Benutzerschnittstellentestskripterzeugung ausgehend von einem Benutzerschnittstellenmodell. Die Testskripts können unter Verwendung von einer der vorher erwähnten Skriptsprachen zusammen mit den anderen dem Stand der Technik entsprechenden Skriptsprachen geschrieben werden.
-
Es ist beabsichtigt, dass die Offenbarung und Beispiele nur als beispielhaft anzusehen sind, während ein wahrer Umfang und das Wesen von offenbarten Ausführungsformen durch die folgenden Patentansprüche angegeben sind.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-