DE102017106023A1 - Verfahren und System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken - Google Patents

Verfahren und System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken Download PDF

Info

Publication number
DE102017106023A1
DE102017106023A1 DE102017106023.5A DE102017106023A DE102017106023A1 DE 102017106023 A1 DE102017106023 A1 DE 102017106023A1 DE 102017106023 A DE102017106023 A DE 102017106023A DE 102017106023 A1 DE102017106023 A1 DE 102017106023A1
Authority
DE
Germany
Prior art keywords
model
test case
user interface
selected user
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102017106023.5A
Other languages
English (en)
Inventor
Yugesh AVADHANULA
Jyoti JOSHI
Subbarao Siram
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tata Consultancy Services Ltd
Original Assignee
Tata Consultancy Services Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tata Consultancy Services Ltd filed Critical Tata Consultancy Services Ltd
Publication of DE102017106023A1 publication Critical patent/DE102017106023A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Debugging And Monitoring (AREA)

Abstract

Ein Verfahren und System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken, wobei das Benutzerschnittstellentestfallmodell basierend auf dem ausgewählten Benutzerschnittstellenmodellinhalt erzeugt wird. Das System wählt das Benutzerschnittstellenmodell, entsprechend dem das Testfallmodell unter Verwendung eines Testfallmodellerstellungsmoduls erstellt und in einen Testfalleditor eingepflegt wird. In einer Ausführungsform wird das Testfallmodell vor dem Einstellen in den Testfalleditor als eine Abfolge von Benutzerschnittstellenaktionen basierend auf einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells erstellt. In einer anderen Ausführungsform zeigt der Testfalleditor das Testfallmodell an und bearbeitet dieses. Ein Validierungsmodul validiert dann das Testfallmodell basierend auf Regeln und Einschränkungen anhand des entsprechenden Benutzerschnittstellenmodells. Danach erzeugt ein Skripterzeugungsmodul ein Testfallskript ausgehend von dem Testfallmodell für das ausgewählte Benutzerschnittstellenmodell.

Description

  • 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
    • IN 201621010029 [0001]

Claims (16)

  1. Verfahren zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken, das Verfahren umfassend die prozessorimplementierten Schritte des: Auswählens des (Benutzerschnittstellen-)Modells unter Verwendung eines Auswahlmoduls (210); Erstellens eines Testfallmodells für das ausgewählte Benutzerschnittstellenmodell und Einstellens des erstellten Testfallmodells in einen Testfalleditor (222) unter Verwendung eines Testfallmodellerstellungsmoduls (212), wobei das Testfallmodell als eine Abfolge von Benutzerschnittstellenaktionen basierend auf einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells erstellt wird; Validierens des Testfallmodells für das ausgewählte Benutzerschnittstellenmodell unter Verwendung eines Validierungsmoduls (214); Erzeugens eines Testfallskripts ausgehend von dein Testfallmodell für das ausgewählte Benutzerschnittstellenmodell unter Verwendung eines Skripterzeugungsmoduls (216).
  2. Verfahren nach Anspruch 1, wobei das Testfallmodell für das ausgewählte Benutzerschnittstellenmodell als die Abfolge von Benutzerschnittstellenaktionen erstellt wird und wobei die Abfolge von Benutzerschnittstellenaktionen von einem ereigniszentrierten Ansatz und einem benutzerinteraktionszentrierten Ansatz mindestens einen umfasst.
  3. Verfahren nach Anspruch 1, ferner umfassend das Synchronisieren des Testfallmodells für das ausgewählte Benutzerschnittstellenmodell mit dem ausgewählten Benutzerschnittstellenmodell als die Abfolge von Benutzerschnittstellenaktionen basierend auf dem Strukturmuster des ausgewählten Benutzerschnittstellenmodells unter Verwendung eines Synchronisierungsmoduls (218).
  4. Verfahren nach Anspruch 1, wobei die Validierung das Überprüfen des Testfallmodells basierend auf einer Regel-Engine (220) derart umfasst, dass die Regel-Engine (220) einen Satz von vordefinierten Regeln umfasst.
  5. Verfahren nach Anspruch 1, ferner umfassend das Anzeigen des Testfallmodells und das Editieren des Testfallmodells unter Verwendung eines Testfalleditors (222), wobei der Testfalleditor (222) das Testfallmodell durch mindestens eines der Folgenden editiert: Hinzufügen von neuen Schritten, Ändern von vorhandenen Schritten, Aufzeichnen von vorhandenen Schritten und Löschen von vorhandenen Schritten des Testfallmodells.
  6. System (102) zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken, umfassend einen Prozessor (202) und einen Speicher (206), der mit dem Prozessor gekoppelt ist, das System umfassend: ein Auswahlmodul (210), das zum Auswählen eines Benutzerschnittstellenmodells konfiguriert ist; 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; ein Validierungsmodul (214), das zum Validieren des Testfallmodells für das ausgewählte Benutzerschnittstellenmodell konfiguriert ist; ein Skripterzeugungsmodul (216), das zum Erzeugen eines Testfallskripts ausgehend von dem Testfallmodell für das ausgewählte Benutzerschnittstellenmodell konfiguriert ist.
  7. System nach Anspruch 6, wobei das Testfallmodell für das ausgewählte Benutzerschnittstellenmodell als die Abfolge von Benutzerschnittstellenaktionen erstellt wird und wobei die Abfolge von Benutzerschnittstellenaktionen von einem ereigniszentrierten Ansatz und einem benutzerinteraktionszentrierten Ansatz mindestens einen umfasst.
  8. System nach Anspruch 6, ferner umfassend ein Synchronisierungsmodul (218), das zum Synchronisieren des Testfallmodells für das ausgewählte Benutzerschnittstellenmodell mit dem ausgewählten Benutzerschnittstellenmodell als die Abfolge von Benutzerschnittstellenaktionen basierend auf dem Strukturmuster des ausgewählten Benutzerschnittstellenmodells konfiguriert ist.
  9. System nach Anspruch 6, wobei die Validierung das Prüfen des Testfallmodells basierend auf einer Regel-Engine (220) derart umfasst, dass die Regel-Engine einen Satz von vordefinierten Regeln umfasst.
  10. System nach Anspruch 6, ferner umfassend einen Testfalleditor (222), der zum Anzeigen des Testfallmodells und zum Editieren des Testfallmodells konfiguriert ist, wobei der Testfalleditor (222) das Testfallmodell durch mindestens eines der Folgenden editiert: Hinzufügen von neuen Schritten, Ändern von vorhandenen Schritten, Aufzeichnen von vorhandenen Schritten und Löschen von vorhandenen Schritten des Testfallmodells.
  11. System nach Anspruch 6, ferner umfassend ein Speichermodul (224), das dazu konfiguriert ist, von dem Benutzerschnittstellenmodell, dem Testfallmodell und dein editierten Testfallmodell mindestens eines zu speichern und hierauf zuzugreifen.
  12. Ein oder mehrere nichtflüchtige, maschinenlesbare Informationsspeichermedien, umfassend eine oder mehrere Anweisungen, die bei Ausführung durch einen oder mehrere Hardwareprozessoren Folgendes bewirken: Auswählen des (Benutzerschnittstellen-)Modells unter Verwendung eines Auswahlmoduls (210); Erstellen eines Testfallmodells für das ausgewählte Benutzerschnittstellenmodell und Einstellen des erstellten Testfallmodells in einen Testfalleditor (222) unter Verwendung eines Testfallmodellerstellungsmoduls (212), wobei das Testfallmodell als eine Abfolge von Benutzerschnittstellenaktionen basierend auf einem Strukturmuster des ausgewählten Benutzerschnittstellenmodells erstellt wird; Validieren des Testfallmodells für das ausgewählte Benutzerschnittstellenmodell unter Verwendung eines Validierungsmoduls (214); Erzeugen eines Testfallskripts ausgehend von dem Testfallmodell für das ausgewählte Benutzerschnittstellenmodell unter Verwendung eines Skripterzeugungsmoduls (216).
  13. Ein oder mehrere nichtflüchtige, maschinenlesbare Informationsspeichermedien nach Anspruch 12, wobei das Testfallmodell für das ausgewählte Benutzerschnittstellenmodell als die Abfolge von Benutzerschnittstellenaktionen erstellt wird und wobei die Abfolge von Benutzerschnittstellenaktionen von einem ereigniszentrierten Ansatz und einem benutzerinteraktionszentrierten Ansatz mindestens einen umfasst.
  14. Ein oder mehrere nichtflüchtige, maschinenlesbare Informationsspeichermedien nach Anspruch 12, wobei die Validierung das Beurteilen des Testfallmodells basierend auf einer Regel-Engine (220) derart umfasst, dass die Regel-Engine (220) einen Satz von vordefinierten Regeln umfasst.
  15. Ein oder mehrere nichtflüchtige, maschinenlesbare Informationsspeichermedien nach Anspruch 12, ferner umfassend ein Synchronisierungsmodul (218), das zum Synchronisieren des Testfallmodells für das ausgewählte Benutzerschnittstellenmodell mit dem ausgewählten Benutzerschnittstellenmodell als die Abfolge von Benutzerschnittstellenaktionen basierend auf dem Strukturmuster des ausgewählten Benutzerschnittstellenmodells konfiguriert ist.
  16. Ein oder mehrere nichtflüchtige, maschinenlesbare Informationsspeichermedien nach Anspruch 12, ferner umfassend das Anzeigen des Testfallmodells und das Editieren des Testfallmodells unter Verwendung eines Testfalleditors (222), wobei der Testfalleditor (222) das Testfallmodell durch mindestens eines der Folgenden editiert: Hinzufügen von neuen Schritten, Ändern von vorhandenen Schritten, Aufzeichnen von vorhandenen Schritten und Löschen von vorhandenen Schritten des Testfallmodells.
DE102017106023.5A 2016-03-22 2017-03-21 Verfahren und System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken Pending DE102017106023A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN201621010029 2016-03-22
IN201621010029 2016-03-22

Publications (1)

Publication Number Publication Date
DE102017106023A1 true DE102017106023A1 (de) 2017-09-28

Family

ID=59814606

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017106023.5A Pending DE102017106023A1 (de) 2016-03-22 2017-03-21 Verfahren und System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken

Country Status (5)

Country Link
US (1) US10146672B2 (de)
JP (1) JP6635963B2 (de)
CN (1) CN107220172B (de)
DE (1) DE102017106023A1 (de)
SG (1) SG10201702328VA (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342693A (zh) * 2021-07-06 2021-09-03 阳光电源股份有限公司 一种测试数据的生成方法、装置、系统及控制器

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417117B2 (en) * 2016-11-09 2019-09-17 Accenture Global Solutions Limited System and method for test case generation and adaptation
CN108228464B (zh) * 2018-01-12 2020-12-29 浪潮通用软件有限公司 一种基于数据驱动的移动应用ui测试框架及其实现方法
US10783061B2 (en) 2018-06-22 2020-09-22 Microsoft Technology Licensing, Llc Reducing likelihood of cycles in user interface testing
US11074161B2 (en) * 2019-03-29 2021-07-27 Electronic Arts Inc. Optimized test case selection for quality assurance testing of video games
CN110109833A (zh) * 2019-04-25 2019-08-09 武汉易酒批电子商务有限公司 基于ui界面的自动化测试用例获取方法及设备
CN110286882B (zh) * 2019-05-24 2021-03-09 北京航空航天大学 一种基于模型检测的前台系统设计与验证方法
CN111767218B (zh) * 2020-06-24 2023-11-10 北京思特奇信息技术股份有限公司 一种用于持续集成的自动化测试方法、设备及存储介质
CN112306893A (zh) * 2020-11-27 2021-02-02 平安普惠企业管理有限公司 一种ui页面测试方法、装置、计算机设备及存储介质
US11379253B2 (en) * 2020-11-30 2022-07-05 International Business Machines Corporation Training chatbots for remote troubleshooting
CN116128448B (zh) * 2023-01-09 2023-10-17 苏州异格技术有限公司 Fpga工程项目的设计数据处理方法、装置、电子设备
CN117785698A (zh) * 2023-12-27 2024-03-29 广州极点三维信息科技有限公司 一种软件测试用例方法、装置、电子设备和存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134468A (ja) * 1999-11-04 2001-05-18 Nec Corp Guiプログラムテスト装置およびguiプログラムテスト方法
US7337432B2 (en) 2004-02-03 2008-02-26 Sharp Laboratories Of America, Inc. System and method for generating automatic test plans for graphical user interface applications
US8117591B1 (en) * 2005-01-07 2012-02-14 Interactive TKO, Inc. Graphical model for test case viewing, editing, and reporting
EP1890235A1 (de) 2006-08-02 2008-02-20 Microsoft Corporation Testfall-Management
GB0625578D0 (en) * 2006-12-21 2007-01-31 Ibm Method and system for graphical user interface testing
US20090172647A1 (en) * 2007-12-31 2009-07-02 Tarun Telang System and method for model driven unit testing environment
US8365147B2 (en) 2008-02-27 2013-01-29 Accenture Global Services Limited Test script transformation architecture
JP2010102620A (ja) * 2008-10-27 2010-05-06 Nec Corp ユーザ操作シナリオ生成装置、方法およびプログラム
CN101425012A (zh) * 2008-12-10 2009-05-06 深圳华为通信技术有限公司 基于模型自动化生成用例脚本的方法及装置
JP5545744B2 (ja) * 2010-10-07 2014-07-09 富士通株式会社 操作画面設計支援プログラム、操作画面設計支援装置および操作画面設計支援方法
US9135714B1 (en) * 2011-11-28 2015-09-15 Innovative Defense Technologies, LLC Method and system for integrating a graphical user interface capture for automated test and retest procedures
JP2013152667A (ja) * 2012-01-26 2013-08-08 Mitsubishi Electric Corp 操作画面の試験シナリオ生成装置、試験シナリオ生成方法およびプログラム
US9047413B2 (en) * 2012-10-05 2015-06-02 Software Ag White-box testing systems and/or methods for use in connection with graphical user interfaces
US20140298297A1 (en) * 2013-03-27 2014-10-02 Fujitsu Limited Automatic feature-driven testing and quality checking of applications
CN104391796B (zh) * 2014-12-05 2018-01-02 上海斐讯数据通信技术有限公司 一种测试用例解析方法
US9864674B2 (en) * 2015-01-23 2018-01-09 Accenture Global Services Limited Test case generation system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113342693A (zh) * 2021-07-06 2021-09-03 阳光电源股份有限公司 一种测试数据的生成方法、装置、系统及控制器

Also Published As

Publication number Publication date
JP6635963B2 (ja) 2020-01-29
CN107220172A (zh) 2017-09-29
CN107220172B (zh) 2020-10-23
US20170277624A1 (en) 2017-09-28
US10146672B2 (en) 2018-12-04
JP2017224277A (ja) 2017-12-21
SG10201702328VA (en) 2017-10-30

Similar Documents

Publication Publication Date Title
DE102017106023A1 (de) Verfahren und System zum automatisierten Benutzerschnittstellentesten über modellgetriebene Techniken
DE112010003932B4 (de) Automatische Korrektur einer Anwendung auf der Grundlage des Laufzeitverhaltens
DE112018002872T5 (de) Integriertes system zur regelbearbeitung, simulation, versionssteuerung und geschäftsprozessverwaltung
DE102014215621A1 (de) Vorlagensystem zum Generieren von benutzerangepassten Dokumenten
DE60017457T2 (de) Verfahren zur isolierung eines fehlers in fehlernachrichten
DE112011102727T5 (de) Steuerprogramm-Erzeugungsvorrichtung, Steuerprogramm-Erzeugungsprogramm und Steuerprogramm-Erzeugungsverfahren
EP3049920A1 (de) Verfahren und einrichtung zur automatisierten erzeugung und bereitstellung wenigstens einer softwareanwendung
DE112016007220T5 (de) Kontaktplanprogrammbearbeitungsunterstützungsvorrichtung und Kontaktplanprogrammbearbeitungsverfahren
DE102006046203A1 (de) Verfahren zur rechnergestützten Bewertung von Softwarequellcode
DE102012101089A1 (de) Verfahren, Geräte und Erzeugnisse zum Testen von Chargenkonfiguration
DE112013000916T5 (de) System zum Anzeigen und Bearbeiten von Artefakten an einem zeitbezogenen Referenzpunkt
DE112013005993T5 (de) Verfahren, Vorrichtung und computerlesbares Medium für eine optimale Bestimmung von Daten-Teilmengen
DE102011007903A1 (de) Computergestütztes Verfahren und System zum Erzeugen maßgeschneiderter dynamischer Vorlagen
DE10333088A1 (de) Verfahren zum Liefern von Zugriff auf die internen Signale eines dynamischen Systemmodells von außerhalb bezüglich der Modellierungsumgebung
EP1920357A1 (de) Migration und transformation von datenstrukturen
Schroeder et al. Challenges from integration testing using interconnected hardware-in-the-loop test rigs at an automotive oem: An industrial experience report
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE112020000434T5 (de) Disaggregierte verteilte messanalyse system unter verwendung von dynamic application builder
EP3812949A1 (de) Konfigurierbarer digitaler zwilling
EP2642359A1 (de) Entwicklungseinrichtung und Verfahren zum Erstellen eines Steuergeräteprogramms
DE102006060322A1 (de) Verfahren und Vorrichtung zum automatischen Testen von modellbasierten Funktionen
DE202021101570U1 (de) System zur Zustandsdarstellung für eine Automatisierungsanlage
EP1387260A1 (de) Verfahren und Vorrichtung zur Erzeugung von Software
EP2479664A1 (de) System und Verfahren zum Erzeugen eines Quellcodes für ein Computerprogramm
DE102010044039A1 (de) Verfahren und Vorrichtung zur Qualitätsanalyse von Systemmodellen

Legal Events

Date Code Title Description
R012 Request for examination validly filed