DE4118454A1 - System zum automatischen testen von anwendersoftware - Google Patents
System zum automatischen testen von anwendersoftwareInfo
- Publication number
- DE4118454A1 DE4118454A1 DE4118454A DE4118454A DE4118454A1 DE 4118454 A1 DE4118454 A1 DE 4118454A1 DE 4118454 A DE4118454 A DE 4118454A DE 4118454 A DE4118454 A DE 4118454A DE 4118454 A1 DE4118454 A1 DE 4118454A1
- Authority
- DE
- Germany
- Prior art keywords
- data
- comparison
- test system
- functions
- differences
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3414—Workload generation, e.g. scripts, playback
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Description
Die Erfindung betrifft das automatisierte Testen von Com
putersystemen. Insbesondere bezieht sich die Erfindung auf das
automatisierte Testen von Anwender-Computersoftware in einer
Window-System-Umgebung.
Während der Entwicklung von Software besteht die Notwendig
keit zu ihrer umfassenden Testung, bevor sie an die Kunden zur
Nutzung freigegeben wird. Anfänglich wurden die Tests durch
einen Benutzer ausgeführt, der die Software manuell abarbeitete
und verschiedene Operationen ausführte, bis alle wahrnehmbaren
Funktionen der Software getestet waren. Als die Software ausge
klügelter und komplizierter wurde, wuchs die Notwendigkeit des
automatisierten Testens. Außerdem wurde es wünschenswert, den
Software-Test akkurat wiederholen zu können, so daß der Test
standardisiert wurde und daß, sofern die Software modifiziert
wurde, der gleiche Test angewendet werden konnte, um die Zuver
lässigkeit und Leistungsfähigkeit der Software zu testen.
Um diese Bedingung zu erfüllen, wurden verschiedene Testsy
steme entwickelt. Die im folgenden genannten Testsysteme sind
exemplarisch für verfügbare Testsysteme:
DEC/TEST MANAGER von Digital Equipment Corp., Maynard, Mas sachusetts und
CAPBACK/SMARTS von Software Research, Inc., San Francisco, Kalifornien.
DEC/TEST MANAGER von Digital Equipment Corp., Maynard, Mas sachusetts und
CAPBACK/SMARTS von Software Research, Inc., San Francisco, Kalifornien.
Jedoch besteht noch ein Bedarf an automatisierten Testsy
stemen, die eine große Breite von Softwareprogrammen auf Hard
ware verschiedener Architekturen testen können, in welchen das
Testsytem flexibel gegenüber Testparametern und -ergebnissen
und durch den Benutzer erweiterbar ist, d. h., das System leicht
auf die spezifische zu testende Software zugeschnitten werden
kann. Außerdem besteht ein Bedarf an automatisierten Testsyste
men, in welchen die Testprozeduren und -parameter interaktiv
während des Abarbeitens des Tests modifiziert werden können.
Weiterhin besteht ein Bedarf an automatisierten Testsystemen,
welche einfach anzuwenden sind und kein ausgedehntes Wissen
über die Kompliziertheiten des Testsystems erfordern.
Aufgabe der vorliegenden Erfindung ist es somit, ein auto
matisiertes Testsystem zur Verfügung zu stellen, das eine große
Breite von Softwareprogrammen unter Hardware verschiedener Ar
chitekturen testen kann, wobei das Testsystem sowohl flexibel
gegenüber Testparametern und -ergebnissen als auch durch den
Benutzer erweiterbar ist.
In einer Weiterbildung der Erfindung sollen die Testproze
dur und -parameter interaktiv während des Abarbeitens des Tests
der Software modifiziert werden können.
Das erfindungsgemäße automatisierte Testsystem weist eine
Mehrzahl von durch den Benutzer erweiterbaren Modulen auf. Ein
Journal-Modul sorgt für die Fähigkeit, Ereignisse aufzuzeich
nen, die Benutzeraktionen repräsentieren, welche zur Ausführung
bestimmter, den Test betreibender Aufgaben vorgenommen werden.
Ein Filter-Modul liefert die Mittel zur Ausfilterung von Daten,
welche auf das Bestehen oder Nicht-Bestehen eines Tests keinen
Einfluß haben. Ein Datensicherungs-Modul liefert die Mittel zur
Sicherung von Daten, welche anschließend mit Referenz- oder Ma
ster-Daten verglichen werden, um den Zustand des Bestehens oder
Nicht-Bestehens des Tests zu bestimmen. Ein Vergleichs-Modul
liefert die Mittel zum Vergleichen der gesicherten Daten mit
den Master-Daten, um Differenzen zwischen diesen Daten und so
mit das Bestehen bzw. Nicht-Bestehen des Tests zu bestimmen.
Ein Durchsicht-Modul liefert eine graphische Durchsicht der
Differenzen zwischen den Master-Daten und den aktuellen Daten.
Jeder Modul ist durch den Benutzer erweiterbar, wobei der Be
nutzer Teile der Modulfunktionalität aktualisieren, auswechseln
oder löschen kann, um das Testsystem auf ein einzelnes Com
putersystem oder eine einzelne Computersoftwareanwendung zuzu
schneiden.
Vorteilhafterweise stellt die vorliegende Erfindung ein au
tomatisiertes Testsystem zur Verfügung, welches einfach zu nut
zen ist und welches keine ausgedehnten Kenntnisse der baulichen
Einzelheiten des Testsystems erfordert.
Im folgenden wird die Erfindung anhand der Zeichnung näher
erläutert. In der Zeichnung zeigen:
Fig. 1 ein vom Testsystem der Erfindung genutztes Com
putersystem;
Fig. 2 ein Blockdiagramm eines in einem Window-System
implementierten Testsystems der Erfindung;
Fig. 3a und 3b Filterfunktionen, die im bevorzugten
Ausführungsbeispiel des Testsystems der vorlie
genden Erfindung genutzt werden;
Fig. 4a ein Filterfunktions-Menü des bevorzugten Ausfüh
rungsbeispiels der Erfindung;
Fig. 4b eine Filterfunktionsliste des bevorzugten Aus
führungsbeispiels der Erfindung;
Fig. 5a Daten vor der Eingabe in ein Filter;
Fig. 5b Daten nach dem Verlassen eines Filters;
Fig. 6a eine Datensicherungsfunktion;
Fig. 6b die Darstellung einer Auswahl einer Datensiche
rungsfunktion aus einem Menü;
Fig. 7a eine Vergleichsfunktion;
Fig. 7b und 7c eine Darstellung von Master-Daten und ak
tuellen Daten, welche mit Hilfe einer Vergleichs
funktion verglichen werden sollen;
Fig. 7d die Differenzen zwischen den Daten der Fig. 7b
und 7c;
Fig. 8a eine Durchsichtfunktion;
Fig. 8b die Daten, die gemäß der Durchsichtfunktion an
gezeigt werden;
Fig. 9a das Hauptmenü des bevorzugten Ausführungsbei
spiels der Erfindung;
Fig. 9b das Menü des Durchsicht-Moduls;
Fig. 10a die Menüs, die genutzt werden, um dem Benutzer
die Möglichkeit zu geben, Bit-Masken zu definie
ren;
Fig. 10b die Maskendaten, die mit den Master-Daten ge
speichert werden;
Fig. 11a-11f die Fähigkeit des Durchsicht-Moduls des
bevorzugten Ausführungsbeispiels des Testsystems
der Erfindung, geringe Differenzen darzustellen
(small differences feature);
Fig. 12 die Inhalte der Datei IrsApplications, die eine
Auflistung aller-Siche
rungs/Vergleichs/Durchsicht-Sequenzen enthält,
die im bevorzugten Ausführungsbeispiel des neuen
Testsystems verfügbar sind;
Fig. 13a und 13b Flußdiagramme, die die Verfahren des
Aufstellens und des Ausführens eines Tests unter
Nutzung des vom Benutzer erweiterbaren Testsy
stems der Erfindung illustrieren;
Fig. 14a die Inhalte einer vom Testsystem der Erfindung
genutzten Daten-Directory;
Fig. 14b die Inhalte einer Test-Directory nach Aufzeich
nung eines Tests;
Fig. 14c die Inhalte eines durch das Testsystem der Er
findung erzeugten Zeit-Protokolls (time log);
Fig. 14d ein durch das Testsystem der Erfindung erzeugtes
Testprotokoll (pass/fail log) ;
Fig. 14e die Inhalte einer durch das Testsystem der Er
findung erzeugten Versions-Datei;
Fig. 14f die Inhalte einer Arbeits-Directory nach Ausfüh
rung des Tests;
Fig. 15 das Hauptmenü der Optionen und die Arbeitsfläche
im Testsystem der Erfindung;
Fig. 16 die Auswahl der manuellen Editierfunktion;
Fig. 17a und 17b die Ausführung der Haltepunkte im be
vorzugten Ausführungsbeispiel des Testsystems der
Erfindung;
Fig. 18a eine Journal-Datei im ASCII-Format;
Fig. 18b eine Journal-Datei im einem Format höherer Ord
nung; und
Fig. 19a und 19b die zur Definition eines Tests im Test
system der Erfindung genutzte Makrosprache.
Fig. 1 zeigt ein typisches System auf Computerbasis für ein
vom Benutzer erweiterbares Testsystem gemäß der Erfindung. Ge
zeigt ist ein Computer 101 mit drei Hauptkomponenten. Die erste
dieser Hauptkomponenten ist die Ein/Ausgabe-Schaltung 102, die
zur Informationsübertragung in geeignet strukturierter Form zu
und aus den anderen Teilen des Computers 101 verwendet wird.
Ebenfalls als Teil des Computers 101 sind die Zentraleinheit
(CPU) 103 und der Speicher 104 gezeigt. Die beiden zuletzt ge
nannten Komponenten sind diejenigen, die typischerweise bei den
meisten Universalcomputern und beinahe allen Spezialcomputern
vorhanden sind. Tatsächlich sind einige der im Computer 101
vorhandenen Elemente repräsentativ für diese breite Kategorie
von Datenverarbeitungsmaschinen. Einzelne Beispiele für ge
eignete Datenverarbeitungsmaschinen, welche die Rollen des Com
puters 101 erfüllen können, sind die von der Firma Sun Microsy
stems, Inc., Mountain View, Kalifornien hergestellten Maschi
nen. Andere Computer mit ähnlichen Eigenschaften sind natürlich
ebenfalls geeignet, die weiter unten beschriebenen Funktionen
in direktem Ablauf durchzuführen.
Ebenfalls in Fig. 1 ist ein Eingabegerät 105 in einer Aus
führungsform als Tastatur gezeigt. Es ist jedoch klar, daß als
Eingabegerät auch ein Kartenleser, ein Magnet- oder Papierband
leser oder andere bekannte Eingabegerät (ebenso wie ein anderer
Computer) vorgesehen sein können. Ein Massenspeicher 106 ist
mit der Ein/Ausgabeschaltung 102 gekoppelt und liefert zusätz
liche Speicherkapazität für den Computer 101. Der Massenspei
cher kann andere Programme u. dgl. enthalten und die Form eines
Magnet- oder Papierbandlesers oder eines anderen bekannten Ge
räts annehmen. Es ist klar, daß die im Massenspeicher 106 ent
haltenen Daten in geeigneten Fällen auch in herkömmlicher Weise
in den Computer 101 als Teil des Speichers 104 einbezogen wer
den können.
Zusätzlich ist ein Display-Monitor 107 dargestellt, der zur
Anzeige von Nachrichten oder anderen Benutzerkommunikationen
verwendet werden kann. Ein solcher Display-Monitor kann die
Form eines üblichen Kathodenstrahlbildschirms annehmen. Eine
Cursor-Steuerung 108 dient zur Ausgabe von Befehlsmoden und zum
Editieren der Eingabedaten und bildet generell ein zweckmäßiges
Mittel zur Informationseingabe in das System.
Das Testsystem der vorliegenden Erfindung kann generell mit
Bezugnahme auf Fig. 2 beschrieben werden. Eine Mehrzahl von An
wendungen 200, 210 arbeiten in einer Window-System-Umgebung
über das Window-System 230. Die Anwendungen 200, 210 empfangen
Informationen über das Tastatur- bzw. Maus-Eingabegerät 250,
260 und geben die anzuzeigenden Informationen auf dem Display
gerät 240 aus.
Das aktive Fenster, d. h. das Fenster, welches die Eingabe-
Einstellung hat, diktiert, welche Anwendung die Eingabe von den
Eingabegeräten 250, 260 empfängt. Das Fenster, in welchem die
Anwendung aktiv ist, diktiert, wo die Ausgabedaten angezeigt
werden sollen.
Vorzugsweise ist das Testsystem der vorliegenden Erfindung
220 als ein zusätzlicher im Window-System arbeitender Prozeß
implementiert. Das Testsystem kann jedoch auch als ein separa
ter Prozeß auf einem verbundenen Gerät implementiert sein. Der
Journal-Mechanismus 270 schafft die grundlegende Fähigkeit zur
Aufzeichnung der Daten in einer Journal-Datei, die repräsenta
tiv für die Benutzeraktionen ist. Letztere dienen zum Initiie
ren und Ausführen bestimmter Aufgaben zum Testen des Computer
systems und/oder zur Software-Abarbeitung auf dem Computersy
stem. Die Journal-Datei wird nachfolgend wiedergegeben, wobei
jedes aufgezeichnete Ereignis von der Journal-Datei gelesen
wird und dem Window-System in der aufgezeichneten Sequenz ein
gegeben wird. Das Window-System reagiert auf diese Ereignisse
so, als würden die Ereignisse von den Eingabegeräten 250, 260
empfangen werden. Dabei wird der Test ausgeführt. Vorzugsweise
wird ein synchronisiertes Journal-System gemäß einem älteren
Vorschlag der Anmelderin genutzt.
Das Testsystem der Erfindung enthält eine Mehrzahl von Mo
dulen, die durch den Benutzer erweiterbar sind, so daß ein Be
nutzer Teile der Modulfunktionalität aktualisieren, auswechseln
oder löschen kann, um das Testsystem auf ein einzelnes Com
putersystem oder eine Computersoftwareanwendung zuschneiden zu
können. Das Testsystem 220 ist in Verbindung mit dem Journal-
Mechanismus 270 implementiert, um eine durch einen Benutzer er
weiterbare automatisierte Testfähigkeit zu erhalten. Das Test
system ist als ein zusätzlicher Prozeß, der in einem Window-Sy
stem arbeitet, implementiert, um die Bestandteile des Journal-
Mechanismus auszunutzen. Die Aktionen, die durch den Benutzer
vorgenommen werden, um bestimmte Bestandteile des Testsystems
freizugeben und bestimmte Tests zu initiieren, werden als eine
Serie von Ereignissen in dem Window-System wiedergegeben und
durch den Journal-Mechanismus aufgezeichnet. Der Akt der Frei
gabe eines bestimmten Filters für einen nachfolgenden Test bei
spielsweise kann durch eine Serie von Maus-Ereignissen wieder
gegeben werden, wobei die Maus den Cursor zu der Position auf
dem Display bewegt, wo der Filter als Menüposition angezeigt
ist, sowie durch das Drücken und Loslassen einer Maustaste, um
die Auswahl des Filters anzuzeigen. Während der Wiedergabe der
Journal-Datei werden sowohl die die Freigabe bestimmter Be
standteile des Testsystems und die Initiierung bestimmter Tests
betreffenden Benutzeraktionen als auch jene, das Testen der An
wendung betreffenden Benutzeraktionen, ausgeführt. Somit sind
die Bestandteile wie beispielsweise die Datensicherung, die
Ausführung von Vergleichen, die Freigabe von Filtern u. dgl. zu
sammenhängend für einen einzelnen Anwendungstest implementiert,
was sichert, daß der identische Test wiederholt ausgeführt wer
den kann.
Das durch den Benutzer erweiterbare Testsystem der vorlie
genden Erfindung enthält einen Journal-Modul, einen Filter-Mo
dul, einen Datensicherungs-Modul, einen Datenvergleichs-Modul,
einen Durchsicht-Modul und einen Wiedergabe/Editier-Modul. Wie
oben beschrieben, zeichnet der Journal-Modul alle innerhalb des
Window-Systems stattfindenden Ereignisse auf und plaziert sie
in eine Journal-Datei für die nachfolgende Wiedergabe. Während
der Wiedergabe sind diese Ereignisse Ausgaben der Journal-Datei
in das Window-System, wobei die Ereignisse ausgeführt werden
und dabei die Benutzeraktionen der anfänglich aufgezeichneten
Benutzersitzung simulieren.
Der Filter-Modul liefert einen Filtermechanismus zur Aus
filterung von den Daten, welche keinen Einfluß auf den Zustand
des Bestehens oder Nicht-Bestehens eines Tests haben. Der Fil
ter-Modul ist aus separat identifizierbaren Filterfunktionen
zusammengesetzt, so daß für bestimmte Tests individuelle Fil
terfunktionen freigegeben werden können. Diese Filterfunktionen
werden durch ein Filterfunktionsausführungsmittel ausgeführt,
um die Daten während der Ausführung eines Tests vor der Siche
rung der Daten zu filtern. Die Filterfunktionen können standar
disiert für alle Arten von Datenvergleichen, standardisiert für
eine einzelne Anwendung oder einen einzelnen Datenvergleich
oder anwendungsspezifisch und benutzerdefinierbar sein. Über
Filterfunktionsmodifikationsmittel können die Filterfunktionen
gelöscht, hinzugefügt oder modifiziert werden. Die Filterfunk
tionen können sowohl für Textdaten als auch für binäre Daten,
einschließlich Bildpunktdaten digitalisierter Bilder, ent
wickelt werden.
Die Filterfunktionen enthalten einen Code, der durch Fil
terausführungsmittel ausgeführt werden kann. Die Filterfunktion
kann beispielsweise in einer bekannten Programmiersprache (wie
beispielsweise die Programmiersprache C), einer speziell für
das Filter entwickelten und optimierten Programmiersprache oder
einem Maschinencode geschrieben sein. Die Filterfunktionsmodi
fikationsmittel können einfach ein ASCII-Texteditor sein, der
es einem Benutzer gestattet, neue Filterfunktionen zu erstel
len, existierende Filterfunktionen zu modifizieren oder jene
Filterfunktionen zu löschen, welche nicht länger benutzt wer
den. Andererseits können die Filterfunktionsmodifikationsmittel
ein speziell auf die Modifikation des Filterfunktionscodes zu
geschnittener Editor sein. Die Filterausführungsmittel bewirken
die Ausführung der Filterfunktion vor der Sicherung der Textda
ten, welche während der Ausführung eines Tests erzeugt wurden.
Vorzugsweise initiieren die Filterausführungsmittel den aus
führbaren Code, der für die Filterfunktion repräsentativ ist.
Wenn jedoch die Filterfunktion in einer Programmiersprache hö
herer Ordnung (d. h., beispielsweise die Programmiersprache C)
erzeugt oder modifiziert wurde, so muß die Filterfunktion vor
der Ausführung in einen ausführbaren Code kompiliert und über
setzt werden. Dies kann durch ein Filterfunktionsmodifikations
mittel oder ein Filterausführungsmittel ausgeführt werden, wel
ches diese Funktionalität aufweist. Alternativ ist das Filter
ausführungsmittel ein Sprach- oder Code-Interpreter, der den
Code der Filterfunktion interpretiert und durch den Code spezi
fizierte Aufgaben ausführt. Vorzugsweise sind die Filterfunk
tionen in einer Programmiersprache höherer Ordnung geschrieben,
die nach der Erstellung oder Modifikation in einen ausführbaren
Code kompiliert wird und in der ausführbaren Form für die spä
tere Ausführung gespeichert wird.
Eine Filterfunktion kann in einem einfachen Fall in der
Ausfilterung von Leerzeichen zwischen Worten eines Textes oder
in einem komplexen Fall in der Ausfilterung spezifischer Teile
der in einer Text- oder binären Datei verkörperten Daten beste
hen. Beispielsweise kann ein Filter Daten von einem Format in
ein anderes übersetzen oder irgendeine Gleitkommazahl in eine
Gleitkommazahl mit einer bestimmten Genauigkeit übersetzen.
Vorzugsweise werden die Filter genutzt, um jene Datenteile zu
eliminieren, welche sich ändern können, wenn eine Anwendung
wiederholt ausgeführt wird, und welche nicht das Bestehen oder
Nicht-Bestehen des Tests beeinflussen. Wenn beispielsweise die
Daten, die zum Feststellen des Bestehens oder Nicht-Bestehens
des Tests durchgesehen und verglichen werden, Datum und Zeit
der Ausführung berücksichtigen, so wird stets ein Fehlerstatus
bemerkt, weil das Datum und die Zeit bei jeder Ausführung des
Tests wechseln. Folglich werden, selbst wenn der Test ohne
einen Fehler beendet werden könnte, Änderungen in den Daten be
merkt, und der Test wird durch einen "Nicht bestanden"-Status
gekennzeichnet, weil das Datum und die Zeit des Tests sich ge
ändert haben. Um diesem Problem zu begegnen, wird eine Filter
funktion ausgeführt, die die zu sichernden Daten liest und be
stimmt, ob die Daten das Datum und/oder die Zeit der Ausführung
enthalten. Wenn das der Fall ist, werden diese Informationenen
nicht gesichert. Wenn eine Datensicherungsfunktion ausgeführt
wird und die Filterfunktion freigegeben ist, so werden die Fil
terausführungsmittel aus den Daten, welche in das Filter einge
geben werden, jede Zeit- oder Datums-Information eliminieren.
Beispiele von Filterfunktionen sind in den Fig. 3a und
3b dargestellt. Fig. 3a stellt den Code für eine "IRSfloat" ge
nannte Filterfunktion dar. IRSfloat empfängt eine Textdatei als
Eingangssignal und bestimmt, ob der Text Gleitkommazahlen ent
hält. Für jede im Text gefundene Gleitkommazahl wird der Abso
lutwert zur Messung der Größe der Zahl bestimmt, um das Ausga
beformat der Zahl, d. h. das exponentielle ("E") oder das Gleit
komma-("F")-Format, zu bestimmten. Wenn die Größe der Zahl und
das Format bestimmt wurden, so wird die Gleitkommazahl vom Fil
ter mit einer Genauigkeit von 5 Ziffern ausgegeben.
Fig. 3b stellt den Code einer als "IRSspace" bezeichneten
Filterfunktion dar. IRSspace empfängt als Eingabe eine Textda
tei und eliminiert mehrere zusammenhängende Leerzeichen oder
Tabulatoren. Wenn ein oder mehrere zusammenhängende Zeichen
oder Tabulatoren im Text gefunden werden, so wird nur das erste
Leerzeichen oder der erste Tabulator aus dem Filter ausgegeben.
Die Filterfunktion IRSfloat ist in der Sprache "LEX" des
Betriebssystems UNIX (Warenzeichen von AT & T). Die Filter
funktion IRSspace ist in der Programmiersprache C geschrieben.
Wenn die Filter ausgewählt werden, werden diese Funktionen an
schließend in einen ausführbaren Code kompiliert zur nachfol
genden Ausführung durch die Filterausführungsmittel. Weitere
Informationen über die Sprache LEX sind Leek und Schmidt, "LEX-
A Lexical Analyzer Generator" (Bell Laboratories, Murray Hill,
New Jersey) zu entnehmen. Obwohl die dargestellten Filterfunk
tionen in den Sprachen LEX und C geschrieben sind, sind die
Filterfunktionen nicht auf solche Sprachen begrenzt und können
in irgendeiner Form oder Sprache erzeugt werden, die kompatibel
mit dem Testsystem ist.
Um eine Filterfunktion freizugeben, wählt der Benutzer wäh
rend der Aufnahme-Sequenz eine Menüposition aus, welche das
Auswählen einer einzelnen Filterfunktion oder mehrerer Filter
funktionen bewirkt. Ein beispielhaftes Filterfunktionsmenü ist
in Fig. 4a gezeigt. Das Filterfunktionsmenü zeigt alle verfüg
baren Filterfunktionen, die für eine einzelne Datensiche
rung/Vergleich oder einen einzelnen Test implementiert werden
können. Beispielsweise sind die Filterfunktionen IRSfloat und
IRSspace nach rechts aufklappbare Menüpositionen der im Haupt
menü angeordneten Menüposition "Text Save" 300, wie in Fig. 4a
gezeigt ist.
Das Menü soll die Möglichkeit bieten, ein oder mehrere Fil
terfunktionen auszuwählen. Vorzugsweise ist eine Liste von Fil
terfunktionen vorgesehen, auf die von dem Teil des Testsystems
zugegriffen wird, der das Menü erzeugt und der eine Schnitt
stelle mit dem Window-System bildet, um das Fenster anzuzeigen.
Weitere Informationen zur Erzeugung von Menüs in dem Window-Sy
stem sind beispielsweise SunView TM 1 Programmer′s Guide, Chap
ter 12, "Menus" (1988) zu entnehmen. Um Filterfunktionen zum
Menü hinzuzufügen oder vom Menü zu entfernen, ist die Filterda
tei einfach durch Einfügen oder Entfernen der Namen der hinzu
zufügenden oder zu löschenden Filterfunktionen zu aktualisie
ren. Eine Darstellung einer Filterfunktionsliste ist in Fig. 4b
gezeigt. Die "%%"-Zeichenkette zeigt die Menüebenen an. Die
Filterfunktion IRSfloat ist auf der zweiten Ebene und die Fil
terfunktion IRSspace auf der dritten Menüebene angeordnet.
Die Filterfunktionen des Testsystems der Erfindung sind
durch den Benutzer erweiterbar. Um eine Filterfunktion zum
Testsystem hinzuzufügen, erstellt der Benutzer eine Filterfunk
tion, die die für die Filterung der Eingangsdaten auszuführen
den Schritte kennzeichnet. Der Filterfunktionsname wird an der
gewünschten Menüebene zur Filterfunktionsliste hinzugefügt, an
der die Filterfunktion als Menüposition angezeigt werden soll.
Um eine Filterfunktion zu modifizieren, editiert der Benutzer
folglich den Filterfunktionscode, um die Funktionalität des
Filters zu ändern. Um eine Filterfunktion zu löschen, löscht
der Benutzer die Filterfunktionsdatei und entfernt den Filter
funktionsnamen von der Filterliste, so daß die Filterfunktion
nicht im Menü angezeigt wird.
Die Filterfunktionen können aneinandergereiht werden, so
daß eine Mehrzahl von Filterfunktionen nacheinander an den Da
ten ausgeführt werden, bevor diese gesichert und nachfolgend
verglichen werden, um das Bestehen oder Nicht-Bestehen eines
Tests zu bestimmen. Dies ist in den Fig. 5a und 5b darge
stellt. Fig. 5a zeigt eine Textdatei, welche eine Anzahl von
Gleitkommazahlen und zusätzlichen Leerzeichen und Tabulatoren
zwischen Worten im Text enthält. In der vorliegenden Darstel
lung hat der Benutzer beschlossen, daß der Wert und nicht das
Format der Zahlen das Bestehen oder Nicht-Bestehen des Tests
bestimmen soll. Folglich hat der Benutzer das Filter IRSfloat
freigegeben, um zu gewährleisten, daß alle Gleitkommazahlen
dasselbe Format haben und Differenzen nur erkannt werden, wenn
eine Zahl differiert. In ähnlicher Weise hat der Benutzer das
Filter IRSspace freigegeben, um die zusätzlichen Leerzeichen
und Tabulatoren zu entfernen, welche vorkommen können und kei
nen Einfluß auf das Bestehen oder Nicht-Bestehen des Tests ha
ben. Die Datenausgabe nach der Ausführung der Filterfunktion
ist in der Fig. 5b dargestellt. Die Gleitkommazahlen sind alle
im selben Format, und die zusätzlichen Leerzeichen und Tabula
toren wurden entfernt, um die Daten zu liefern, welche nachfol
gend verglichen werden, um das Bestehen oder Nicht-Bestehen des
Tests zu bestimmen.
Ein anderer Modul des durch den Benutzer erweiterbaren
Testsystems der vorliegenden Erfindung ist der Datensicherungs-
Modul, welcher die Möglichkeit liefert, die den Ausgang des
Tests bestimmenden Daten während der Ausführung des Tests zu
sichern. Die gesicherten Daten werden nachfolgend mit den Soll-
Daten verglichen, die als Master-Daten bezeichnet werden. Wenn
die gesicherten Daten nicht gleich den Master-Daten sind, so
wird der Vergleich fehlerhaft, was zu einem Zustand des Nicht-
Bestehens des Tests führt.
Der Datensicherungs-Modul besteht aus zumindest einer Da
tensicherungsfunktion, welche die zu sichernden Daten und das
Format, in welchem die Daten gesichert werden sollen, bestimmt.
Der Datensicherungs-Modul weist außerdem Datensicherungsausfüh
rungsmittel zur Ausführung der Datensicherungsfunktion auf, wie
beispielsweise einem Sprachinterpreter oder einem Mittel zur
Ausführung eines ausführbaren Codes. Beispielsweise wird durch
das Testsystem ein Systemaufruf während der Aufzeichnung oder
der Wiedergabe durchgeführt, um den Datensicherungs-Modul aus
zuführen ohne das Testsystem zu verlassen. In UNIX beispiels
weise wird dies erreicht durch den Systemruf "System" (siehe
SunOSTM Reference Manual (Mai 1988)). Ein Datensicherungsmodi
fikationsmittel modifiziert die Datensicherungsfunktion, so daß
der Benutzer existierende Funktionen hinzufügen, löschen oder
ändern kann, um die Datensicherungsfunktionen auf eine einzelne
Anwendung zuzuschneiden. Die Informationen, die im Datensiche
rungs-Modul geliefert werden, sind vorzugsweise der Typ der zu
sichernden Daten, der Ort, wo die Daten lokalisiert sind (die
Identität der Daten), und der Ort, wo die gesicherten Daten ge
meinsam zu benutzen sind. Um beispielsweise Textdaten zu si
chern, werden dem Datensicherungs-Modul der Name der die zu si
chernden Daten enthaltenden Textdatei und der Name der Datei
geliefert, in welcher die Daten gesichert werden sollen. Wenn
die zu sichernden Daten Bildpunktdaten sind, so wird der Daten
sicherungs-Modul mit den Bildschirmkoordinaten des zu sichern
den Bildes und mit dem Namen der Datei, in welcher die Bild
punktdaten gesichert werden sollen, versorgt. Vorzugsweise sind
diese Informationen entsprechend der Datensicherungsfunktion
wählbar, so daß die Auswahl einer einzelnen Datensicherungs
funktion automatisch die notwendigen Informationen liefert.
Fig. 6a zeigt eine einfache Datensicherungsfunktion, welche
Text durch byteweises Kopieren der spezifizierten Datei in die
Master-Datensicherungsdatei sichert. Es ist für den Fachmann
klar, daß die Art der Datensicherungsfunktion nicht auf die des
Beispiels beschränkt ist. Beispielsweise kann eine detaillierte
komplexe Datensicherungsfunktion entwickelt werden, um be
stimmte Teile der Daten zu sichern oder um die Daten in einem
speziellen Format zu sichern.
Während spezifischer Zeiten während der Aufzeichnung zeigt
der Benutzer dem Testsystem an, daß eine Datensicherungsfunk
tion ausgeführt werden soll. Die Datensicherungsfunktion kann
zugeschnitten werden auf die Sicherung von Datentypen wie bei
spielsweise Text, Bildpunktdaten oder Daten in einem speziellen
Format, z. B. Datenbankstrukturen oder Spreadsheets, welche in
einem Binärformat gespeichert sind. Die eine Datensicherungs
funktion anzeigenden Ereignisse werden in die Journal-Datei an
den Stellen eingefügt, an denen die Daten verglichen werden
sollen. Die Ereignisse können speziell erzeugte Ereignisse
sein, welche die Datensicherungsfunktion kennzeichnen. Vorzugs
weise sind die Datensicherungsfunktionen jedoch über angezeigte
Menüpositionen verfügbar, und die die Datensicherungsfunktion
freigebenden Ereignisse sind eine Serie von Ereignissen, die
die Bewegung des Cursors zur Datensicherungsmenüposition und
die Auswahl der Datensicherungsmenüposition berücksichtigen.
Durch den Benutzer des Testsystem kann auf die Datensicherungs
funktionen zugegriffen werden durch Menüs, die dem Benutzer
während der Aufzeichnungsfolge geliefert werden. Der Benutzer
wählt Menü und Menüposition für einen bestimmten Typ der auszu
führenden Datensicherung aus. Dies ist in Fig. 6b dargestellt.
Der Aufzeichnungsmodus wurde ausgewählt und initiiert, was an
der "capture" Menüschaltfläche 320 zu erkennen ist. Fig. 6b
zeigt außerdem, daß die Datensicherungsfunktion "Spreadsheet"
325 ausgewählt wurde. Wahlweise kann der Benutzer den Datei
namen oder den Ort, wo die gesicherten Daten gespeichert werden
sollen, spezifizieren.
Der Journal-Mechanismus während der Aufzeichnung zeichnet
Ereignisse wie die Cursorbewegung und die Mausfunktionen auf,
die realisiert werden, um die Menüposition der Datensicherungs
funktion "Spreadsheet" auszuwählen. Folglich wird der Journal-
Modul während der Wiedergabe der Journal-Datei die auszuführen
den gleichen Bewegungen und Funktionen zum Window-System ausge
ben, wobei die Menüposition für die Datensicherungsfunktion
wieder ausgewählt und die Datensicherungsfunktion ausgeführt
wird. Zusätzlich werden die zu sichernden Daten den aktivierten
Filterfunktionen eingegeben, bevor die Daten für den nachfol
genden Vergleich gesichert werden.
Vorzugsweise wird, wenn eine Datensicherungsfunktion wäh
rend der Wiedergabe ausgeführt wird, der Vergleichs-Modul auto
matisch freigegeben, nachdem die Daten gesichert wurden, um die
aktuellen Daten, d. h. die Daten, die gerade während der aktuel
len Ausführung der Anwendung gesichert wurden, mit den die
Soll-Daten bildenden Master-Daten, zu vergleichen. Wenn die Ma
ster-Daten nicht gleich den aktuellen Daten sind, werden Diffe
renzen bestimmt, der Vergleich wird fehlerhaft, der Test erhält
den Zustand "Nicht bestanden", und eine Fehlerdatei wird er
zeugt, wobei die Fehlerdatei eine Kopie der aktuellen Daten
enthält, in welchen die Differenzen bestimmt wurden. Wie weiter
unten beschrieben werden wird, dient die Fehlerdatei einer
Durchsicht der Vergleiche für die Analyse des Tests. Der Ver
gleichs-Modul enthält zumindest eine Vergleichsfunktion, ein
Vergleichsfunktionsmodifikationsmittel und ein Vergleichsfunk
tionsausführungsmittel. Die Vergleichsfunktion ist zur Erhöhung
der Flexibilität des Tests durch den Benutzer erweiterbar und
vom Benutzer definierbar. Die Vergleichsfunktion kann entweder
zwei Textdateien oder zwei Bildpunktdateien oder einen anwen
dungsspezifischen Datentyp, wie beispielsweise eine Datenbank
struktur oder ein Spreadsheet, vergleichen. Ein Beispiel für
eine Vergleichsfunktion ist in Fig. 7a dargestellt. Fig. 7a ist
eine einfache Vergleichsfunktion, die zwei Textdateien ver
gleicht. Wenn diese Funktion genutzt wird, liest der Modul die
Master-Datei und die aktuellen Daten und vergleicht sie byte
weise. Wenn eine Differenz festgestellt wird, so wird der Ver
gleich beendet und der Fehlerstatus notiert. Wenn keine Diffe
renz festgestellt wird, werden die gesicherten Daten von der
Master-Datei entfernt, und ein "Test bestanden"-Status wird no
tiert. Es ist jedoch klar, daß diese Vergleichsfunktion nur
beispielhaft ist, und es ist offensichtlich für den Fachmann,
daß die Vergleichsfunktion zu einem komplexeren, komplizierte
ren und detaillierteren Vergleichs-Modul entwickelt werden
kann. Beispielsweise kann die Funktion bestimmte Aktionen be
züglich der fehlerhaften Daten ausführen, oder der Modul kann
den Vergleich nicht beenden und mit dem Vergleich der Master
und der aktuellen Textdaten fortfahren. Die Vergleichsfunktio
nen werden vorzugsweise in einer höheren Programmiersprache er
stellt und nachfolgend in einen ausführbaren Code für die nach
folgende Ausführung durch die Vergleichsfunktionsausführungs
mittel kompiliert. Das Vergleichsfunktionsmodifikationsmittel
ist vorzugsweise ein Texteditor, jedoch kann es auch ein spezi
ell zur Editierung der Vergleichsfunktion entwickeltes Modifi
kationsmittel sein.
Vorzugsweise wird eine Vergleichsfunktion erstellt, um
einen speziellen Typ von gesicherten Daten zu vergleichen, bei
spielsweise Text oder ein Spreadsheet. Jedoch kann eine Ver
gleichsfunktion genutzt werden, um Daten zu vergleichen, die
entsprechend einer Vielzahl von Datensicherungsfunktionen gesi
chert worden sind. Beispielsweise kann eine binäre Bit-Ver
gleichsfunktion genutzt werden, um Daten zu vergleichen, die
mit einer Datensicherungsfunktion gesichert wurden, welche
Spreadsheet-Daten in einem binären Format sichert oder Daten
bankdaten, die in einem binären Format gesichert wurden. Die
gleiche Text-Vergleichsfunktion kann genutzt werden, um eine
Text-Datei zu vergleichen, wie beispielsweise Text aus einem
Buch, oder um Daten zu vergleichen, welche vor ihrer Sicherung
in eine Datei durch die Datensicherungsfunktion durch ein Fil
ter in ein Textformat konvertiert wurden. Obwohl eine auszufüh
rende Vergleichsfunktion aus einem Menü von Vergleichsfunktio
nen ausgewählt werden kann, ist die Vergleichsfunktion vorzugs
weise verbunden mit einer Datensicherungsfunktion, so daß die
Vergleichsfunktion automatisch nach der mit ihr verbundenen Da
tensicherungsfunktion ausgeführt wird, wenn die Datensiche
rungsfunktion ausgeführt wurde. Dies kann erreicht werden durch
die Lieferung einer Liste von Datensicherungsfunktionen und
korrespondierenden Vergleichsfunktionen, auf welche das Testsy
stem Bezug nimmt, um die auszuführende Vergleichsfunktion zu
bestimmen. Die Paare von Datensicherungsfunktion und Ver
gleichsfunktion sind vorzugsweise jeweils durch einen speziel
len Namen gekennzeichnet, so daß der Benutzer dementsprechend
die Datensicherungsfunktion und Vergleichsfunktion identifizie
ren kann. Die Funktionen können gemischt und passend zusammen
gestellt werden, um die gewünschte Testfunktionalität zu errei
chen, wobei jede Kombination durch einen speziellen Namen iden
tifiziert ist.
Die Fig. 7b und 7c zeigen die Ausführung eines Ver
gleichs. Fig. 7b zeigt ein digitalisiertes Bild, welches die
Master-Daten darstellt. Fig. 7c stellt die aktuellen Daten dar,
die während einer Wiedergabe der Journal-Datei gesichert wur
den. Während der Ausführung einer Vergleichsfunktion, welche
die beiden Bildpunktdateien vergleicht, werden die erkannten
Differenzen notiert (siehe Fig. 7d), und die Daten von Fig. 7c
werden in eine Fehlerdatei für eine nachfolgende Durchsicht und
Analyse geschrieben.
Wenn der Test abgearbeitet und die Journal-Datei wiederge
geben wurde, können die Ergebnisse des Tests durchgesehen wer
den. Der durch den Benutzer erweiterbare Durchsicht-Modul lie
fert ein Werkzeug, mit welchem der Benutzer die Differenzen
zwischen den Master-Daten und den aktuellen Daten eines fehler
haften Vergleichs durchsehen kann. Der Durchsicht-Modul enthält
mindestens eine Durchsichtfunktion, welche spezifiziert, wie
der Benutzer die Differenzen durchsehen und analysieren kann,
ein Durchsichtfunktionsausführungsmittel und ein Durchsicht
funktionsmodifikationsmittel.
Außerdem kann der Benutzer Durchsichtfunktionen hinzufügen,
löschen oder modifizieren. Vorzugsweise werden die Durchsicht
funktionen mit Hilfe eines Texteditierwerkzeugs erstellt, um
ein Programm in einer höheren Programmiersprache zu erzeugen,
welches in einen ausführbaren Code für die nachfolgende Ausfüh
rung durch das Durchsichtfunktionsausführungsmittel kompiliert
wird. Ein einfacher Durchsicht-Modul ist in Fig. 8a darge
stellt. Der Durchsicht-Modul nutzt den UNIX-Modul "diff", um
eine Liste von Differenzen der beiden Dateien anzufertigen und
startet ein Shell-Fenster (d. h. ein neues Fenster auf der An
zeige), welches einen Texteditor zur Anzeige der Ergebnisse der
diff-Funktion startet. Wenn der Texteditor beendet wird, for
dert der Durchsicht-Modul den Benutzer auf, mitzuteilen, ob er
die Master-Daten mit den aktuellen Daten aktualisieren soll.
Wenn der Benutzer bejahend antwortet, so werden die aktuellen
Daten über die gesicherten Daten kopiert. Die Durchsichtfunk
tion ist speziell auf den Datentyp, der gesichert und vergli
chen wurde, zugeschnitten. Wenn beispielsweise die Daten Text
daten sind, so zeigt der Durchsicht-Modul, wenn er ausgeführt
wird, die Zeile des Textes der Master-Daten und die korrespon
dierende Zeile des Textes der aktuellen Daten an, bei denen
eine Differenz festgestellt wurde. Andererseits kann der Durch
sicht-Modul die aktuellen Daten mit hervorgehobenen Textdiffe
renzen anzeigen. In ähnlicher Weise kann, wenn die Daten Bild
punktdaten sind, die Durchsichtfunktion eine Anzeige der aktu
ellen Daten erzeugen, bei der die Differenzen durch eine andere
Farbe oder durch Blinken der Pixel angezeigt werden. Es ist für
einen Fachmann klar, daß der Durchsicht-Modul in Abhängigkeit
von den Erfordernissen des Tests einfach oder kompliziert und
detailliert sein kann. Ein Beispiel für die gemäß einer Durch
sichtfunktion angezeigten Daten ist in Fig. 8b gezeigt. Fig. 8b
zeigt eine Anzeige, die durch einen Text-Durchsicht-Modul er
zeugt wurde, welcher die Unterschiede zwischen Gleitkommazahlen
bemerkt. Die Master-Daten werden auf der linken und die aktuel
len Daten auf der rechten Seite angezeigt. Die ganz linke
Spalte zeigt mit Hilfe der Zeichenkette "CHG" an, wo Differen
zen festgestellt wurden.
Vorzugsweise wird der Durchsicht-Modul über eine Menüposi
tion ausgewählt, welche Teil des Hauptmenüs (Fig. 9a) ist, um
das Durchsicht-Modulmenü (Fig. 9b) aufzurufen. Durch Nutzung
des Durchsicht-Moduls kann der Benutzer die Testergebnisse
durchsehen und analysieren, um die in der Anwendung oder im ge
testeten System gemachten Änderungen zu bestimmen und die durch
Differenzen hervorgerufenen Fehler zu korrigieren. Eine zusätz
liche Möglichkeit, die das durch den Benutzer erweiterbare
Testsystem der vorliegenden Erfindung bietet, ist die Möglich
keit für den Benutzer, Differenzen der aktuellen Daten darstel
lende Daten zu eliminieren oder auszublenden. Der Benutzer kann
nach der Durchsicht der Differenzen entscheiden, daß einige der
Differenzen das Bestehen oder Nicht-Bestehen eines Tests nicht
berücksichtigt und daß er solche Differenzen ausblenden möchte,
so daß die ausgeblendeten Differenzen keinen "Nicht-Bestanden"-
Zustand des Tests hervorrufen, wenn der Test wiederholt wird.
Auch kann der Benutzer das Ausblenden von Differenzen wünschen,
während er eine Anwendung von Fehlern befreit, um einige Diffe
renzen zu eliminieren, während er andere fehlerfrei macht. Ein
Beispiel, wo die Möglichkeit des Benutzers, Masken zu definie
ren, wünschenswert sein kann, ist in Fig. 10a dargestellt. Fig.
10a stellt ein Display dar, das drei Fenster anzeigt. Das erste
Fenster 400 ist das Durchsicht-Modulmenü. Der Benutzer hat die
ersten fehlerhaften, verglichenen Daten (gekennzeichnet durch
das "<" Symbol 410) ausgewählt und prüft die Bildschirmmenü
funktion 420, um den Durchsicht-Modul für den Vergleich auszu
führen. Das Menü kennzeichnet die Master-Daten 430 und liefert
dem Benutzer die Wahlmöglichkeit, die Master- oder die aktuel
len Daten anzuzeigen, ebenso wie eine Vielzahl von Wahlmöglich
keiten 440, 450, 460, die Differenzen anzuzeigen.
In Fig. 10a sind die Master-Daten angezeigt. Der Benutzer
hat ermittelt, daß das Feld in der Darstellung "Dir" 470 eine
zu bestimmende Differenz hervorgerufen hat. Das Feld "Dir"
identifiziert die Directory, in welcher die Tests ausgeführt
werden. Die Directory kann sich aus Gründen ändern, die in kei
ner Beziehung zum Bestehen oder Nicht-Bestehen eines Tests ste
hen, wie beispielsweise dem, daß ein anderer Benutzer den Test
von seiner lokalen Directory abarbeitet. Um die Anzeige des Zu
stands des Nicht-Bestehens des Tests infolge eines Wechsels der
aktuellen Directory zu vermeiden, wird das Feld "Dir" maskiert
bzw. ausgeblendet. Um eine Maske zu erstellen, müssen die Koor
dinaten der Umrißlinie der Maske dem Durchsicht-Modul mitge
teilt werden. Beispielsweise kann der Benutzer die Maus und den
Zeiger benutzen, um den Bereich durch Anklicken der oberen lin
ken und der unteren rechten Ecken der zu maskierenden Fläche
auszuwählen. Vorzugsweise antwortet der Durchsicht-Modul durch
Hervorhebung der maskierten Fläche 480. Die Maskierungs-Infor
mation wird in der gleichen Datei wie auch die Master-Daten ge
speichert. Ein Beispiel der gespeicherten Maskierungsdaten ist
in Fig. 10b dargestellt. Wenn der Test wiederholt und ein Ver
gleich ausgeführt wird, durchsucht der Vergleichs-Modul die Ma
ster-Datei und bestimmt zuerst, ob eine Maske für den vorlie
genden Vergleich existiert. Der Vergleichs-Modul schließt dann
jeden durch die Masken definierten Datenbereich von dem Ver
gleich aus.
Der Durchsicht-Modul kann erstellt sein, um ein einzelnes
Merkmal (feature) zur Verfügung zu stellen, wie beispielsweise
die Durchsicht der Differenzen, oder er kann erstellt sein, um
eine Vielzahl von Merkmalen zur Verfügung zu stellen, wie im
Durchsicht-Modulmenü gemäß Fig. 10a zu sehen ist. Ein anderes
Merkmal, das vorzugsweise im Durchsicht-Modul enthalten ist,
ist "Aktualisierung erwartet"-Bestandteil. Die Auswahl dieser
Menüposition bewirkt ein Ersetzen der Master-Daten durch die
aktuellen Daten. Dies kann wünschenswert sein, wenn die Master-
Daten aufgrund von Daten- oder Systemänderungen nicht mehr ak
tuell sind, und die aktuellen Daten die korrekten zu verglei
chenden Daten sind.
Ein anderes Merkmal, das dem Testsystem der Erfindung eine
zusätzliche Funktionalität gibt, ist das "geringe Differenzen"-
Merkmal. Dieses ist als eine Menüposition 490 im Durchsicht-Mo
dul in Fig. 11a wiedergegeben. Manchmal können geringe Diffe
renzen zwischen Tests erzeugt werden, welche nicht kritisch in
bezug auf das Bestehen oder Nicht-Bestehen des Tests sind oder
welche der Benutzer bis zu einer nachfolgenden Wiederholung des
Tests zurückzustellen wünscht. Durch Nutzung des "geringe Dif
ferenzen"-Merkmals kann der Benutzer Toleranzgrenzen für Diffe
renzen setzen. Wenn die Differenz innerhalb der Toleranzgrenzen
ist, wird eine "geringe Differenz" festgestellt. Die Toleranz
grenzen können als Parameter dem Testsystem während der Wieder
gabe zugeführt werden. Andererseits können die Toleranzgrenzen
während der Durchsicht der fehlerhaften Vergleiche eingegeben
werden. Die Toleranzen können auch in einer separaten Referenz
datei gespeichert werden. Die Fig. 11a bis 11f stellen die
ses Merkmal in bezug auf Bildpunktdateien (bit maps) dar, ob
gleich Toleranzgrenzen auch für andere Datentypen erstellt wer
den können.
Fig. 11a zeigt das Durchsicht-Modul-Menü und die Aufzeich
nung der Ergebnisse des Tests. Der Test wurde mit dem freigege
benen "geringe Differenzen"-Merkmal abgearbeitet. Der erste
Vergleich, "bm1", der den Vergleichsmodul "BIT MAP" nutzte, war
erfolgreich (Test bestanden). Der zweite Vergleich, "bm2", wel
cher einen Kasten von drei Pixel Breite verglich, war fehler
haft (Test nicht bestanden). Notiert wurde eine "geringe Diffe
renz", was zeigt, daß die Differenz gering und innerhalb der
durch den Benutzer gesetzten Toleranz war (Fig. 11b). Fig. 11b
stellt das Einstellen einer Pixel-Verschiebungstoleranz dar.
Fig. 11b zeigt die Auswahl der "geringen Differenzen"-Menüposi
tion und der Submenüposition "Distanz". Diese zeigt ein Menü
von Zahlen an, die die Anzahl von Pixelpunkten repräsentieren,
um die ein Pixel bei Bewertung als geringe Differenz verschoben
werden kann. Folglich wird eine geringe Differenz festgestellt,
wenn eine Pixelverschiebung nur 1 bis 3 Pixel beträgt. Fig. 11c
zeigt die Durchsicht-Tafel, in welcher die Master-Daten ange
zeigt werden. Eine Prüfung der Fig. 11d zeigt, daß die aktuel
len Daten der oberen Linie des Blocks wenige Pixel nach oben
geschoben wurden, und Fig. 11e zeigt nur die Differenzen zwi
schen den Master-Daten und den aktuellen Daten.
Das Testsystem kann entsprechend der getesteten Anwendung
andere Toleranzen enthalten, wie beispielsweise numerische To
leranzen. Beispielsweise zeigt Fig. 11f die Auswahl der
"Farbtoleranz"-Submenüposition, welche die Farbtoleranzgrenzen
anzeigt.
Die Flexibilität jedes Moduls ebenso wie des gesamten Sy
stems liefert ein durch den Benutzer erweiterbares Testsystem,
welches auf einen speziellen Test zugeschnitten werden kann. Im
bevorzugten Ausführungsbeispiel ist jede Funktion jedes Moduls
zur leichten Bezugnahme durch einen gesonderten Namen gekenn
zeichnet. Es wird eine Datei (hier bezeichnet als die IrsAppli
cation-Datei) erstellt, welche jede Kombination von Funktionen
auflistet, die als Sicherungs/Vergleichs/Durchsicht-Sequenz be
zeichnet wird, eine Datensicherungsfunktion und die korrespon
dierende Vergleichsfunktion und Durchsichtfunktion enthält und
jede Sicherungs/Vergleichs/Durchsicht-Sequenz durch einen ge
sonderten Namen identifiziert. Typischerweise nutzt eine Daten
sicherungsfunktion stets die gleiche Vergleichsfunktion und
Durchsichtfunktion. Jedoch ist das System nicht darauf be
grenzt; mehrfache Kombinationen von Datensicherungs-, Ver
gleichs- und Durchsicht-Modulen können durch besondere Identi
fizierung jeder Kombination in der Funktionsdatei aufgestellt
werden. Eine Darstellung des Inhalts der Datei ist in Fig. 12
gezeigt.
Fig. 12 zeigt den Inhalt einer beispielhaften IrsApplica
tion-Datei. Diese Datei enthält vier Siche
rungs/Vergleichs/Durchsicht-Sequenzen, einschließlich einer
"SPREADSHEET" genannten Sicherungs/Vergleichs/Durchsicht-Se
quenz. Auf diesen Namen nimmt das Testsystem Bezug und zeigt
ihn als eine der Menüoptionen des Testsystems an. Das Testsy
stem nimmt beim Starten des Systems auf die IrsApplication-Da
tei Bezug und nutzt sie, um die Menüoptionen des Systems zu er
zeugen. Beispielsweise wird das Toolkit des SunView-Window-Sy
stems benutzt, um Menüpositionen zu erstellen, die den Schalt
flächen des Hauptmenüs zugeordnet sind (weitere Informationen
zum SunView Toolkit siehe SunView TM 1 Programmer′s Guide, Ka
pitel 12, "Menüs", Mai 1988). Die Siche
rungs/Vergleichs/Durchsicht-Sequenz SPREADSHEET enthält die Da
tensicherungsfunktion "save spread", die Vergleichsfunktion
"IRScompTX" und die Durchsichtfunktion "IRStextdiff". Die Da
tenanwendung enthält außerdem den Suffix oder die Erweiterung
der Dateinamen, der zur Identifizierung jener Dateien genutzt
wird, in denen die Daten bei Nutzung dieser Datenanwendung ge
sichert und verglichen werden. Beispielsweise sind alle Master-
und aktuellen Dateien, die gemäß dieser Datenanwendung erzeugt
wurden, durch die Dateierweiterung ".wk" identifiziert.
Die Datensicherungsfunktion "save spread" liest ein
Spreadsheet ein, welches in der Anwendung in einem binären For
mat vorliegt, konvertiert das binäre Format in das ASCII-Format
und speichert die ASCII-Daten zum Vergleich mit den Master-Da
ten in einer Datei. Die Vergleichsfunktion "IRScompTX" ist eine
allgemeine Textvergleichsfunktion, und der Durchsicht-Modul
"IRStextdiff" zeigt Textdifferenzen in einem leicht zu über
schauenden graphischen Format an.
Andererseits kann der Benutzer aufgrund der Flexibilität
des Testsystems der vorliegenden Erfindung eine zweite Siche
rungs/Vergleichs/Durchsicht-Sequenz zum Vergleich von Spread
sheets erstellen, welche eine andere Datensicherungsfunktion
und/oder eine andere Vergleichsfunktion und/oder eine andere
Durchsichtfunktion nutzt. Beispielsweise kann der Benutzer eine
Datenanwendung "SPREADSHEET2" erstellen, welche eine Datensi
cherungsfunktion "save binary" nutzt, welche das Spreadsheet in
einem Binärformat sicherstellt, eine Vergleichsfunktion
"comp binary", welche zwei binäre Dateien vergleicht und eine
Durchsichtfunktion "binary diff", welche die Differenz zwischen
binären Dateien in einem graphischen Format anzeigt. Daher hat
der Benutzer durch Erstellen von Datensicherungs-, Vergleichs
und Durchsicht-Funktionen und Identifizierung der Kombination
der Funktionen für einen bestimmten Datentyp in der IrsApplica
tion-Datei die Flexibilität, jeden beliebigen Typ von Daten zu
sichern, zu vergleichen und durchzusehen.
Das Verfahren zur Erstellung eines Tests und zur Ausführung
des Tests ist durch Ablaufdiagramme in den Fig. 13a und 13b
dargestellt. Um einen Test zu erstellen, wird eine Daten-Direc
tory aufgestellt, in welcher die für den Test relevanten Da
teien eingeordnet werden (Block 600). Fig. 14a zeigt eine Auf
listung von Dateien in einer Daten-Directory vor der Aufzeich
nung und Schaffung einer Journal-Datei und der Master-Daten.
Die Daten-Directory "sample data" enthält anwendungsspezifische
Informationen, welche durch das Testsystem genutzt werden. Die
Daten-Directory kann die Sicherungs/Vergleichs/Durchsicht-Se
quenz, welche genutzt werden kann (IrsApplications), die Datei
der verfügbaren Filter (IrsFilters) und die zur Ausführung der
zu testenden Anwendung relevanten Daten enthalten. Die Datei
"traffic-icon" enthält anwendungsspezifische Daten. traf
fic.icon enthält Bildschirmsymbol-Daten (icons), welche durch
die vom Testsystem der vorliegenden Erfindung zu testende An
wendung manipuliert werden (weil die getestete Anwendung ein
Bildschirmsymbole editierendes Programm ist). Der Benutzer kann
außerdem während der Arbeit des Testsystems zu nutzende Anwen
dungsprogramme in die Datei einfügen. Wie in Fig. 14a darge
stellt, ist beispielsweise die Datei "floating prog" unter den
Probedaten der Daten-Directory abgelegt und ein Anwendungspro
gramm, welches eine Ausgabe von Gleitkommazahlen enthaltendem
Text bewirkt.
Im folgenden wird wieder auf Fig. 13a Bezug genommen. Am
Block 610 wird das Testsystem initiiert. Zu diesem Zeitpunkt
wird das Menü der verfügbaren Optionen des Testsystems ebenso
wie ein zweites Fenster, welches die Arbeitsfläche des Systems
enthält, dem Benutzer angezeigt (siehe Fig. 15). Die Arbeits
fläche wird genutzt, um die zu testende Anwendung zu initiieren
oder um Operationsbefehle auszuführen, welche in Verbindung mit
dem Test benötigt werden. Die in der vorliegenden Darstellung
verfügbaren Menüoptionen sind Aufzeichnung (capture), Stop,
Wiedergabe (replay), Durchsicht (review) und Editieren. Um eine
Journal-Datei zu erzeugen, wird am Block 620 die Menüposition
"Aufzeichnung" (capture) ausgewählt, welche dem System anzeigt,
daß eine Journaldatei von die Benutzeraktionen während des
Tests berücksichtigenden Ereignissen zu starten ist (Block
630). Wenn der Aufzeichnungs-Modus eingeschaltet ist und das
System alle Benutzeraktionen aufzeichnet, kann der Benutzer mit
dem Starten der zu testenden Anwendung fortfahren (Block 650)
und verschiedene, sich auf die Anwendung beziehende Aufgaben
(Block 660) ebenso wie Vergleiche von Daten (Block 670) während
der Ausführung verschiedener Tests durchführen. Vorzugsweise
werden am Block 640 Filter freigegeben, um in Verbindung mit
der Ausführung des Datensicherungs-Moduls Filterungen auszufüh
ren.
Am Block 650 wird die zu testende Anwendung durch Wechseln
der Eingabe auf die Arbeitsfläche und Eintasten des Startkom
mandos für die Anwendung initiiert. Am Block 660 werden die
sich auf das Testen der Anwendung beziehenden Benutzeraktionen
ausgeführt. Diese Aktionen werden als Ereignisse aufgezeichnet
und in der Journal-Datei gespeichert. Diese Aktionen können
einfache Cursorbewegungen, eine Auswahl einer Menüposition in
nerhalb der Anwendung, die Ausführung einer bestimmten Aufgabe
oder die Tastatureingabe von Informationen sein. Die vom Benut
zer zur Auswahl der Filter und zum Starten der Anwendung vorge
nommenen Aktionen werden ebenfalls in der Journal-Datei in der
ausgeführten Reihenfolge aufgezeichnet. An jedem Punkt während
der Ausführung von Benutzeraktionen kann der Benutzer, am Block
670, die Eingabemöglichkeit in das Fenster des Testsystems
wechseln und eine auszuführende Datensicherungs- und Ver
gleichsfunktion aus dem Menü der Optionen auswählen (siehe Fig.
6b) . Wenn der Aufzeichnungsmodus freigegeben ist, zeichnet der
Journal-Modul die Ereignisse auf, die die Bewegung des Cursors
in das Fenster des Testsystems, den Wechsel der Eingabemöglich
keit zu diesem Fenster und das Zeigen einer Auswahl eines an
einer bestimmten Stelle innerhalb des Fensters lokalisierten
Objekts, das aufgezeichnet werden soll und welches in der vor
liegenden Darstellung die Vergleichsmenüposition ist, berück
sichtigen. Somit werden während der Wiedergabe die gleichen Er
eignisse ausgeführt, welche die gleiche Folge von Aktionen be
wirken, einschließlich dem ausgewählten Vergleich.
Vorzugsweise werden die Master-Daten während der Aufzeich
nung erzeugt, wobei nach der Auswahl des auszuführenden Ver
gleichs die Daten gesichert und als Master-Daten für den Ver
gleich gekennzeichnet werden. Am Block 680 kann der Benutzer
den Test abschließen durch Beenden der getesteten Anwendung,
Block 690, und Auswahl der Menüposition Stop aus dem Testsy
stemmenü, Block 700, welche dann das Schließen der Journal-Da
tei, Block 710, bewirkt.
Fig. 14b zeigt die Inhalte der Test-Directory "sample.irs"
nach der Aufzeichnung eines Tests. Jeder ausgeführte Vergleich
ist durch die Vergleichserweiterung gekennzeichnet, die in der
IrsApplication-Datei zur Verfügung gestellt wird. Beispiels
weise sind bei einem Bildpunktvergleich die Dateien durch die
Erweiterung "bm" identifiziert. Jeder Vergleich ist weiterhin
durch einen Präfix identifiziert, der eine Nummer enthält, die
die Anzahl der für eine bestimmte Siche
rungs/Vergleichs/Durchsicht-Sequenz ausgeführten Proben oder
Vergleiche anzeigt. Beispielsweise zeigt Fig. 14b zwei Bild
punktdatei-Vergleiche, bm1.bm und bm2.bm, was zeigt, daß bm1.bm
der erste ausgeführte Vergleich von Bildpunktdateien und daß
bm2.bm der zweite ausgeführte Bildpunktdatei-Vergleich war. In
ähnlicher Weise zeigt tx1.tx, daß hier ein durch die Erweite
rung tx identifizierter Vergleich ausgeführt wurde. Die Datei
session.log ist die Journaldatei, welche eine Liste von während
der Aufzeichnung ausgeführten Ereignissen enthält. Während der
Wiedergabe wird diese Datei durch den Journal-Modul gelesen und
dem Window-System zur Ausführung in der aufgezeichneten Reihen
folge ausgegeben, wobei die gleiche Testsequenz wiedergegeben
wird, die während der Aufzeichnung ausgeführt wurde. Die Datei
tx1.fltrs ist eine Liste von Filtern, die für eine Datensiche
rungsfunktion implementiert sind. Die Datei time.log ist ein
zeitliches Protokoll von Ereignissen, welche dem Benutzer einen
zusätzlichen Einblick in die Ausführung des Tests liefert. Be
zugnehmend auf Fig. 14c zeigt das zeitliche Protokoll, daß das
System 149 Sekunden benötigte, um zu demjenigen Ereignis zu ge
langen, an dem die Textdatensicherstellung und der Vergleich
tx1 ausgeführt wurde. Das Protokoll zeigt außerdem durch die
Zeichenkette "COMPARE 2", daß die Ausführung des Vergleichs tx1
zwei Sekunden erforderte. In ähnlicher Weise benötigte das Sy
stem 39 Sekunden, um zum nächsten ausgeführten Vergleich bm1
zu gelangen, und die Ausführung der Datensicherung und des Ver
gleichs bm1 erforderte 5 Sekunden.
Die Datei pass/fail.log ist eine Datei, welche den Zustand
des Tests enthält, d. h., den Zustand des Bestehens oder Nicht-
Bestehens jedes Datenvergleichs. Während der Aufzeichnung sind
die gesicherten Daten die Master-Daten, und es existieren keine
Daten, die damit verglichen werden können; somit geben alle
Vergleiche einen Durchlaufzustand vor. Die Datei pass/fail.log
gemäß Fig. 14b zeigt, daß der Test alle Kontrollpunkte und Da
tenvergleiche erfolgreich passierte. Ein Kontrollpunkt ist eine
Stelle im Test, an der spezielle Situationen des Tests notiert
werden, und die zur Erlangung von Statusinformationen über den
Test benutzt werden kann. Vorzugsweise sind der Start und das
Ende des Tests als Kontrollpunkte gekennzeichnet. Zusätzlich
können Kontrollpunkte in den Test eingefügt werden durch Nut
zung einer zuvor bestimmten Schaltfläche des Menüs, die die
Lage der Kontrollpunkte identifiziert. Die Versions-Datei wird
benutzt, um die Version des Testsystems zu kennzeichnen, wel
ches zur Erzeugung der Master-Datei genutzt wurde. Die Versi
ons-Datei wird genutzt, um irgendwelche unvorhergesehenen Pro
bleme zu vermeiden, die dadurch entstehen können, daß die Ver
sion des Testsystems, welches zur Erzeugung der Master-Daten
genutzt wurde, eine andere Version ist, als die zur Wiedergabe
des Tests benutzte. Eine Darstellung der Versions-Datei ist in
Fig. 14e gezeigt.
Die nach der Aufzeichnung verfügbaren Optionen sind im Ab
laufdiagramm gemäß Fig. 13b dargestellt. Das einmal freigege
bene Testsystem (Block 720) ruft das Hauptmenü der Optionen
(siehe Fig. 15) und eine Arbeitsfläche auf, über welche System
kommandos eingegeben werden können. Der Benutzer kann dann die
Menüposition Wiedergabe auswählen (Block 730), welche bewirkt,
daß das Testsystem die Sitzungsprotokolldatei liest und die Er
eignisse an das Window-System ausgibt, um die in der Sitzungs
protokolldatei sequentiell aufgelisteten Ereignisse auszuführen
(Block 740), um dadurch den früher ausgeführten Test zu wieder
holen. Wenn das Testsystem ein Ereignis veranlaßt, welches die
Ausführung einer Datensicherung und eines Vergleichs bewirkt,
so wird das Testsystem die angezeigten Daten sichern, sie mit
den in der Daten-Directory angeordneten Master-Daten verglei
chen und eine Fehlerdatei der Daten erzeugen, wenn der Daten
vergleich fehlerhaft ist. Wenn der Datenvergleich erfolgreich
ist, werden die Daten nicht zurückgehalten, weil sie bereits in
den Master-Daten wiedergegeben sind. Die Ausführungsreihenfolge
wird dann fortgesetzt durch die Ausführung von Ereignissen, die
Benutzeraktionen wiedergeben und von Vergleichen, wo diese an
gezeigt sind, bis das letzte Ereignis auftritt, welches die
Stop-Funktion im Fenster des Testsystems auswählt. Dies beendet
die Wiedergabe-Sequenz.
In der Arbeits-Directory, d. h., der Directory, von welcher
das Testsystem aufgerufen und der Test ausgeführt wird, werden
gemäß Darstellung in Fig. 14f die folgenden Dateien erstellt.
Die Directory sample.result enthält eine Kopie der Datei
pass/fail.log, welche in der Directory sample.irs gespeichert
ist, ebenso wie ein Testprotokoll (pass/fail log) der aktuellen
Wiedergabe des Tests. Beide Testprotokolle (pass/fail logs)
werden der Option zum Vergleichen der Testprotokolle zur Verfü
gung gestellt, um zu bestimmen, wo Differenzen zwischen den
beiden Protokollen existieren. Diese Möglichkeit ist hilfreich
für lange Tests mit vielen Vergleichen. Die Directory enthält
ferner eine Kopie der Master-Daten und der aktuellen Daten für
jeden fehlerhaften Vergleich. Entsprechend Fig. 14f trat bei
spielsweise ein Fehler bei zwei Vergleichen auf. Deshalb wurden
die Fehlerdateien bm1.bm.FAIL und tx1.tx.FAIL für die fehler
haften Vergleiche erzeugt. Für die nachfolgende Verwendung
durch den Durchsicht-Modul ist außerdem eine Kopie jeder Ma
ster-Datei enthalten. Die Ergebnis-Directory enthält auch eine
Kopie der Daten, die durch die Anwendung benutzt werden. Auf
diese Daten wurde durch die Anwendung zugegriffen, und es kann
sein, daß diese nicht identisch mit den Originaldaten sind. Um
Fehler zu vermeiden, welche aus der Anwendung unterschiedlicher
Anwendungsdaten resultieren, werden folglich die Daten nicht
wieder benutzt, um den Text erneut auszuführen. Um gegen das
Auftreten solcher Fehler zu schützen, wird bei Beginn des Tests
eine Kopie der Datendatei von der Daten-Directory in die Ergeb
nis-Directory kopiert, und die Anwendung bezieht sich dann auf
die Daten in der Ergebnis-Directory. Somit werden die Original
inhalte der Daten in der Daten-Directory für die nachfolgende
Testausführung bewahrt.
Im folgenden wird erneut auf Fig. 13b Bezug genommen. Nach
der Wiedergabe des Tests (Block 750) kann die Durchsicht-Option
ausgewählt werden. Der Benutzer hat die Möglichkeit zu folgen
den Optionen: Vergleichen von Testprotokollen (pass/fail logs),
geringe Differenzen, Auswahl von Bitmasken, Setzen und Entfer
nen von Unterbrechungspunkten (Breakpoints), erneuter Ablauf
der Anwendung oder Durchsicht der Differenzen (Blöcke 760, 770,
775, 780, 790, 800). Die Funktion "Setzen und Entfernen von Un
terbrechungspunkten" wird benutzt, um Unterbrechungspunkte wäh
rend der Ausführung der Journal-Datei bei der Wiedergabe zu
setzen. Ein Unterbrechungspunkt wird vor einem Vergleich in dem
durch den Durchsicht-Modul angezeigten Testprotokoll (pass/fail
log) gesetzt. Dies ist in Fig. 17a dargestellt. Fig. 17a zeigt
ein Durchsicht-Modulmenü, in welchem ein Unterbrechungspunkt
850 vor dem Bildpunktdatei-Vergleich bm2 gesetzt wurde. Somit
wird, wenn der Test durch Nutzung des Wiederhollauf-Moduls wie
derholt wird, das System angehalten, unmittelbar bevor es die
Datensicherung und den Vergleich für bm2 ausführt. Fig. 17b
zeigt, daß während der Wiedergabe die Wiedergabeausführung an
dem Punkt angehalten wird, wo der Unterbrechungspunkt gesetzt
wurde. Um die Ausführung des Tests fortzusetzen, muß der Benut
zer den Cursor zur Schaltfläche 860 bewegen und diese An
klicken. Die Unterbrechungspunkte werden typischerweise zur
Fehlersuche in einem Test benutzt. Wenn ein Fehler vorkommt und
der Benutzer nicht in der Lage ist, die Ursache des Fehlers zu
bestimmen, so kann ein Unterbrechungspunkt gesetzt und der Test
wiederholt werden, so daß das System an dem Unterbrechungspunkt
anhält und der Benutzer den Zustand des Tests einschätzen kann.
Der Wiederhollauf-Modul, Block 790, gestattet es dem Benut
zer, den Test vom Durchsicht-Modul aus erneut ablaufen zu las
sen, und der Durchsicht-Modul, Block 800 veranlaßt die Durch
sichtfunktionsausführungsmittel, die Differenzen zwischen den
Master-Daten und den aktuellen Daten entsprechend der Ver
gleichsfunktion, die aus der im Durchsicht-Modulmenü angezeig
ten Testprotokolldatei (pass/fail log) ausgewählt wurde, anzu
zeigen.
Mit Hilfe der durch den Durchsicht-Modul gelieferten Infor
mationen kann der Benutzer fortfahren mit dem Testen der Anwen
dung, dem Einfügen von Toleranzen und Filtern, um bestimmte,
für den Test nicht geeignete Differenzen zu eliminieren, und
mit dem Modifizieren der Anwendung, um Probleme zu korrigieren,
welche durch diesen Test dem Benutzer sichtbar wurden. Der Test
kann dann erneut mit der modifizierten Anwendung ausgeführt
werden. Wenn dann der Test beendet ist, verläßt der Benutzer
das Testsystem, Block 810, einfach durch Auswahl der geeigneten
Menüposition, welche das System anhält und das Fenster des
Testsystems schließt.
Dem Benutzer des neuen Testsystems wird die die Flexibili
tät noch erweiternde Möglichkeit gegeben, die während des Auf
zeichnungsteils des Tests erstellte Journaldatei der Benut
zeraktionen zu editieren. Der Benutzer kann die Journal-Datei
über eine Editierfunktion modifizieren, wobei der Benutzer ma
nuell Veränderungen in der Journal-Datei vornimmt oder über
eine interaktive Editierfunktion (auch bezeichnet als
edit/replay). Um eine Journal-Datei manuell zu editieren, wählt
der Benutzer einfach die Editierfunktion des Testsystemmenüs.
Fig. 16 stellt die Auswahl der manuellen Editierfunktion "VI
Session Script" dar. Vorzugsweise ist die Journal-Datei in ei
nem maschinennahen Binärformat abgespeichert (eine ASCII-Über
setzung einer Journal-Datei ist in Fig. 18a gezeigt). Zum ma
nuellen Editieren der Journal-Datei übersetzt folglich das
Testsystem den maschinennahen Code in einen Code höherer Ord
nung mit einem Textformat, welches für den Benutzer verständ
lich ist (siehe Fig. 18b). Der Benutzer kann dann auf die Nie
derschrift zugreifen und Zeilen des Codes in der Sitzungsnie
derschrift hinzufügen, löschen oder auswechseln. Vorzugsweise
hat die Niederschrift folgendes Format:
SECS MSECS X-PIXEL Y-PIXEL
FORWARD/ACTION FORWARD/OPERATOR.
FORWARD/ACTION FORWARD/OPERATOR.
Wenn der Benutzer das manuelle Editieren der Niederschrift
beendet hat, übersetzt das Testsystem die Niederschrift in
einen maschinennahen Code und erzeugt eine aktualisierte Jour
nal-Datei. In ähnlicher Weise kann der gesamte Test manuell mit
Hilfe dieser Möglichkeit erstellt werden. Jedoch enthält das
Testsystem vorzugsweise eine Makrosprache, um Journal-Dateien
zu erstellen. Die Makroroutinen werden vorzugsweise zur Verfü
gung gestellt, um das Erstellen des den Test bildenden Codes zu
vereinfachen.
Die Makroroutinen definieren die Parameter der Benutzer
schnittstelle, wie beispielsweise die Anordnung der Menüposi
tionen. Dies wird durch das in Fig. 19a gezeigte Programm dar
gestellt. Dieses Programm ist vorverarbeitet mit einem CPP und
definiert die Fensterumrandungen, die Pixelbewegungen und die
Auswahl von Funktionen, Schaltflächen, Texten, Menüs durch Na
men. Beispielsweise ist die Quittier-Schaltfläche durch den Na
men "QUIT BUTTON" definiert und an den (x, y)-Koordinaten (990,
426) angeordnet. Bestimmte während der Ausführung der Anwendung
implementierte Operationen sind ebenfalls als Makroroutinen
enthalten. Beispielsweise definiert eine Makroroutine den Stop
der Anwendung durch den Namen "START ICONEDIT" und definiert
die auszuführenden Aktionen (weitere Informationen über die
Sprache CPP siehe CPP (1), SunOS Reference Manual, Section 1:
Commands, Sun Microsystems, Inc., Mountain View, Kalifornien,
Mai 1988) .
Mit Hilfe dieser Informationen kann der Benutzer manuell
einen Test erstellen. Ein Beispiel für einen kurzen Test ist in
Fig. 19a gezeigt. Die in Fig. 19b ausgeführten Definitionen
sind in das Programm von Fig. 19a einbezogen, welches auf diese
Bezug nimmt. Beispielsweise wird die zu testende Anwendung
"Iconedit" durch das Makro "START ICONEDIT" initiiert, welches
in dem in Fig. 19b gez 03138 00070 552 001000280000000200012000285910302700040 0002004118454 00004 03019eigten Programm definiert ist.
Durch separate Definition der Parameter der Benutzer
schnittstelle kann der gleiche Test unter verschiedenen
Schnittstellen durch Modifikation der Makrodefinitionen ausge
führt werden. Das Testsystem interpretiert den Code und über
setzt ihn in das Format einer Journal-Datei.
Wenn der Benutzer den interaktiven Editiermodus auswählt
(siehe Fig. 16 "Interactive Edit"), so wird die Journal-Datei
so wiedergegeben, wie bei der Ausführung eines anderen Tests.
Jedoch kann der Benutzer zu jeder Zeit die Wiedergabe-Sequenz
anhalten, indem er eine vordefinierte Interrupt-Taste, bei
spielsweise die Alt-Taste benutzt. Wurde sie angehalten, so
kann der Benutzer eine Serie von Ereignissen an der Stelle, wo
die Wiedergabe-Sequenz angehalten wurde, hinzufügen oder lö
schen. Wenn der Benutzer während des interaktiven Editiermodus
in die Journal-Datei eingreift, erscheint ein Pop-Up-Menü, wel
ches den Benutzer fragt, ob er Informationen in der Journal-Da
tei zu löschen oder hinzuzufügen wünscht. Beispielsweise kann
der Benutzer einen Bildpunktdatenvergleich zum Sitzungsproto
koll hinzuzufügen wünschen, um während der Ausführung einen Be
reich auf dem Bildschirm an einem Punkt, der zuvor nicht gete
stet wurde, zu vergleichen. Dies ist auszuführen durch Auswäh
len der Hinzufüge-Funktion und durch manuelle Ausführung der
zur Sicherung einer Bildpunktdatei auszuführenden Benutzerak
tionen. Andererseits kann der Benutzer Ereignisse zu entfernen
wünschen, beispielsweise Vergleiche, welche nicht länger benö
tigt werden, um ein System zu testen. Dies ist durch Auswahl
der Lösch-Funktion auszuführen. Nach der Auswahl der Lösch-
Funktion startet das Testsystem die Wiedergabe und löscht alle
Ereignisse, bis eine andere Interrupt-Taste gedrückt wird.
Der Benutzer kann außerdem eine Marke einfügen. Wenn eine
Marke in einer Journaldatei plaziert und nachfolgend der in
teraktive Modus ausgewählt wird, so bewirkt die Marke, daß der
Wiedergabe-Mechanismus an der Stelle der Marke in der Journal
datei anhält. Dies ist beim Ersetzen eines Ereignisses
hilfreich. Während des interaktiven Editierens werden die zu
entfernenden Ereignisse markiert und gelöscht. Wenn die Jour
nal-Datei wiedergegeben wird, so stoppt das Testsystem die Aus
führung der Journal-Datei am Beginn des gelöschten Abschnittes,
dort wo die Marke plaziert wurde, so daß die Einfügung statt
finden kann.
Während des interaktiven Editiermodus werden die Ereignisse
in der Journal-Datei gelesen, ausgeführt und in eine zweite Da
tei geschrieben, welche dann zur aktualisierten Version der
Journal-Datei wird. Folglich wird die Lösch-Funktion implemen
tiert, indem die Ereignisse nicht in die zweite Datei geschrie
ben werden. In ähnlicher Weise wird die Einfüge-Funktion frei
gegeben, indem die zusätzlichen Ereignisse in die zweite Datei
eingeschrieben werden, während die Wiedergabe der Original-
Journal-Datei ausgesetzt wird.
Claims (77)
1. Durch einen Benutzer erweiterbares, automatisiertes Sy
stem zum Testen von Anwendungsprogrammen in einem fensterba
sierten Computersystem mit einer zentralen Verarbeitungseinheit
(CPU 103), einem Speicher (104), Eingabe/Ausgabe-Geräten, zu
denen eine Tastatur (105), eine Maus (108) und ein Display
(107) gehören, wobei die Eingabe und die Ausgabe der Informa
tionen durch auf dem Display definierte Fenster ausgeführt wer
den, das Testsystem Referenz- oder Master-Daten mit aktuellen,
während des Tests des Anwendungsprogramms erzeugten Daten ver
gleicht, und wobei die Testergebnisse die Differenzen zwischen
den Master-Daten und den aktuellen Daten enthalten,
gekennzeichnet durch:
Journal-Mittel (270) zur Erzeugung und Wiedergabe einer Journal-Datei, die eine Liste von während einer Benutzersitzung ausgeführte Benutzeraktionen darstellenden Ereignissen enthält, die bei ihrer Wiedergabe eine Ausführung des Anwendungspro gramms in einer vorherbestimmten Weise derart bewirken, daß das Anwendungsprogramm getestet wird;
Filtermittel zur Beseitigung derjenigen Teile der Daten, welche für die Testergebnisse unmaßgeblich sind, wobei die Fil termittel enthalten:
Filterfunktionen, welche bei Ausführung Teile der Daten herausfiltern, wobei jede Filterfunktion durch einen Namen identifiziert ist;
eine Filterlistendatei, die eine Liste von Namen von Filterfunktionen enthält, wobei auf die Filterlistendatei Bezug genommen wird, um verfügbare Filterfunktionen zu be stimmen;
Filterausführungsmittel zur Ausfilterung von Teilen von Daten entsprechend den Filterfunktionen, die in der Filter listendatei aufgeführt sind; und
Filtermodifikationsmittel zum Modifizieren der Filter listendatei derart, daß Filterfunktionen hinzugefügt, ge löscht oder geändert werden können;
Datensicherungsmittel zur Sicherung von während des Tests des Anwendungsprogramms erzeugen Daten, wobei die Datensiche rungsmittel enthalten:
Datensicherungsfunktionen, welche bei Ausführung zuvor bestimmte Teile der Daten sichern und jeweils durch einen Namen identifiziert sind;
Datensicherungsausführungsmittel zur Sicherung zuvor bestimmter Teile der Daten entsprechend spezifizierten Da tensicherungsfunktionen, wobei die Filterausführungsmittel Filterfunktionen an den Daten ausführen, bevor die Datensi cherungsausführungsmittel die Daten sichern, und wobei die Datensicherungsausführungsmittel durch eine Vielzahl von in der Journal-Datei angeordneten Ereignissen freigegeben wer den, welche die Datensicherungsfunktion auswählende Benut zeraktionen darstellen; und
Datensicherungsmodifikationsmittel zur Modifikation der Datensicherungsfunktionen derart, daß Datensicherungsfunk tionen hinzugefügt, gelöscht oder geändert werden können;
Vergleichsmittel zum Vergleichen vorgegebener Teile der Ma ster-Daten zu korrespondierenden Teilen der aktuellen Daten, wobei die Vergleichsmittel enthalten:
Vergleichsfunktionen, die bei Ausführung vorgegebener Teile der Master-Daten mit korrespondierenden vorgegebenen Teilen der aktuellen Daten vergleichen, die Differenzen zwischen diesen vorgegebenen Teilen der Master-Daten und der aktuellen Daten bestimmen und die Erzeugung einer Feh ler-Datei bewirken, wobei die Fehler-Datei die gesicherten aktuellen Daten enthält, welche durch die Vergleichsfunk tion bestimmte Differenzen haben, wobei jede Vergleichs funktion durch einen Namen identifiziert ist;
Vergleichsausführungsmittel zum Vergleich vorgegebener Teile der Master-Daten und der aktuellen Daten entsprechend den Vergleichsfunktionen, wobei die Vergleichsausführungs mittel freigegeben werden, nachdem die Ausführung der Da tensicherung abgeschlossen ist;
Vergleichsmodifikationsmittel zur Modifikation der Ver gleichsfunktionen derart, daß Vergleichsfunktionen hinzuge fügt, gelöscht oder geändert werden können;
wobei das Testsystem erweiterbar ist durch Modifikation der Filterfunktionen, der Datensicherungsfunktionen und der Ver gleichsfunktionen.
Journal-Mittel (270) zur Erzeugung und Wiedergabe einer Journal-Datei, die eine Liste von während einer Benutzersitzung ausgeführte Benutzeraktionen darstellenden Ereignissen enthält, die bei ihrer Wiedergabe eine Ausführung des Anwendungspro gramms in einer vorherbestimmten Weise derart bewirken, daß das Anwendungsprogramm getestet wird;
Filtermittel zur Beseitigung derjenigen Teile der Daten, welche für die Testergebnisse unmaßgeblich sind, wobei die Fil termittel enthalten:
Filterfunktionen, welche bei Ausführung Teile der Daten herausfiltern, wobei jede Filterfunktion durch einen Namen identifiziert ist;
eine Filterlistendatei, die eine Liste von Namen von Filterfunktionen enthält, wobei auf die Filterlistendatei Bezug genommen wird, um verfügbare Filterfunktionen zu be stimmen;
Filterausführungsmittel zur Ausfilterung von Teilen von Daten entsprechend den Filterfunktionen, die in der Filter listendatei aufgeführt sind; und
Filtermodifikationsmittel zum Modifizieren der Filter listendatei derart, daß Filterfunktionen hinzugefügt, ge löscht oder geändert werden können;
Datensicherungsmittel zur Sicherung von während des Tests des Anwendungsprogramms erzeugen Daten, wobei die Datensiche rungsmittel enthalten:
Datensicherungsfunktionen, welche bei Ausführung zuvor bestimmte Teile der Daten sichern und jeweils durch einen Namen identifiziert sind;
Datensicherungsausführungsmittel zur Sicherung zuvor bestimmter Teile der Daten entsprechend spezifizierten Da tensicherungsfunktionen, wobei die Filterausführungsmittel Filterfunktionen an den Daten ausführen, bevor die Datensi cherungsausführungsmittel die Daten sichern, und wobei die Datensicherungsausführungsmittel durch eine Vielzahl von in der Journal-Datei angeordneten Ereignissen freigegeben wer den, welche die Datensicherungsfunktion auswählende Benut zeraktionen darstellen; und
Datensicherungsmodifikationsmittel zur Modifikation der Datensicherungsfunktionen derart, daß Datensicherungsfunk tionen hinzugefügt, gelöscht oder geändert werden können;
Vergleichsmittel zum Vergleichen vorgegebener Teile der Ma ster-Daten zu korrespondierenden Teilen der aktuellen Daten, wobei die Vergleichsmittel enthalten:
Vergleichsfunktionen, die bei Ausführung vorgegebener Teile der Master-Daten mit korrespondierenden vorgegebenen Teilen der aktuellen Daten vergleichen, die Differenzen zwischen diesen vorgegebenen Teilen der Master-Daten und der aktuellen Daten bestimmen und die Erzeugung einer Feh ler-Datei bewirken, wobei die Fehler-Datei die gesicherten aktuellen Daten enthält, welche durch die Vergleichsfunk tion bestimmte Differenzen haben, wobei jede Vergleichs funktion durch einen Namen identifiziert ist;
Vergleichsausführungsmittel zum Vergleich vorgegebener Teile der Master-Daten und der aktuellen Daten entsprechend den Vergleichsfunktionen, wobei die Vergleichsausführungs mittel freigegeben werden, nachdem die Ausführung der Da tensicherung abgeschlossen ist;
Vergleichsmodifikationsmittel zur Modifikation der Ver gleichsfunktionen derart, daß Vergleichsfunktionen hinzuge fügt, gelöscht oder geändert werden können;
wobei das Testsystem erweiterbar ist durch Modifikation der Filterfunktionen, der Datensicherungsfunktionen und der Ver gleichsfunktionen.
2. Testsystem nach Anspruch 1, dadurch gekennzeichnet, daß
die Filtermodifikationsmittel Mittel zum Erstellen, Löschen und
Modifizieren von Filterfunktionen enthalten.
3. Testsystem nach Anspruch 1 oder 2, dadurch gekennzeich
net, daß die Filterfunktionen, Datensicherungsfunktionen und
Vergleichsfunktionen mittels der Maus (260) aus Menüs auswähl
bar sind, die in Fenstern auf dem Display (240) angezeigt wer
den.
4. Testsystem nach einem der Ansprüche 1 bis 3, dadurch ge
kennzeichnet, daß die Journal-Mittel (270) eine Journal-Datei
erzeugen durch Aufzeichnen der Benutzeraktionen darstellenden
Ereignisse und Schreiben der Ereignisse in die Journal-Datei.
5. Testsystem nach Ansprüchen 3 und 4, dadurch gekennzeich
net, daß die Journal-Datei die Maus-Ereignisse enthält, die
Funktionen auswählende Benutzeraktionen darstellen, wobei wäh
rend der Wiedergabe der Journal-Datei die Funktionen durch Wie
dergabe der Ereignisse durch die Journal-Mittel auswählbar
sind.
6. Testsystem nach einem der Ansprüche 1 bis 5, dadurch ge
kennzeichnet, daß die Filtermittel eine Filterfunktion zum Eli
minieren zuvor bestimmter Abschnitte der Daten enthalten.
7. Testsystem nach einem der Ansprüche 1 bis 6, dadurch ge
kennzeichnet, daß die Filtermittel eine Filterfunktion zum
Übersetzen vorgegebener Abschnitte der Daten von einem ersten
Format in ein zweites Format enthalten.
8. Testsystem nach einem der Ansprüche 1 bis 7, dadurch ge
kennzeichnet, daß die Filtermittel eine Vielzahl von Filter
funktionen enthalten, welche zur Filterung der Daten hinterein
ander geschachtelt sind.
9. Testsystem nach einem der Ansprüche 1 bis 8, dadurch ge
kennzeichnet, daß die Filtermodifikationsmittel einen Textedi
tor enthalten.
10. Testsystem nach einem der Ansprüche 1 bis 9, dadurch
gekennzeichnet, daß die Filterausführungsmittel bei Freigabe
einer Datensicherungsfunktion aktivierbar sind.
11. Testsystem nach einem der Ansprüche 1 bis 10, dadurch
gekennzeichnet, daß die Datensicherungsfunktionen zur Sicherung
von Textdaten vorgesehen sind.
12. Testsytem nach einem der Ansprüche 1 bis 10, dadurch
gekennzeichnet, daß die Datensicherungsfunktionen zur Sicherung
von Bildpunktdaten vorgesehen sind.
13. Testsystem nach einem der Ansprüche 1 bis 10, dadurch
gekennzeichnet, daß die Datensicherungsfunktionen zur Sicherung
von benutzerdefinierten Daten in einem binären Datenformat vor
gesehen sind.
14. Testsystem nach einem der Ansprüche 1 bis 13, dadurch
gekennzeichnet, daß die Datensicherungsmodifikationsmittel
einen Texteditor enthalten.
15. Testsystem nach einem der Ansprüche 1 bis 14, dadurch
gekennzeichnet, daß die Vergleichsmittel zwei Textdateien ver
gleichen.
16. Testsystem nach einem der Ansprüche 1 bis 14, dadurch
gekennzeichnet, daß die Vergleichsmittel zwei Bildpunktdateien
vergleichen.
17. Testsystem nach einem der Ansprüche 1 bis 16, dadurch
gekennzeichnet, daß die Filtermodifikationsmittel einen Texte
ditor enthalten.
18. Testsystem nach einem der Ansprüche 1 bis 17, dadurch
gekennzeichnet, daß bei Auftreten der Differenzen zwischen den
Master-Daten und den aktuellen, zu sichernden Daten eine Feh
lermeldung durch Speichern der zu sichernden Daten in der Feh
ler-Datei erstellt wird, und daß die zu sichernden Daten von
der Fehler-Datei entfernt werden, wenn keine Differenzen fest
gestellt werden.
19. Testsystem nach einem der Ansprüche 1 bis 18, dadurch
gekennzeichnet, daß die Filterausführungsmittel automatisch
während der Ausführung einer Datensicherungsfunktion freigege
ben werden.
20. Testsystem nach einem der Ansprüche 1 bis 19, dadurch
gekennzeichnet, daß die Vergleichsmittel einen Texteditor ent
halten.
21. Testsystem nach einem der Ansprüche 1 bis 20, dadurch
gekennzeichnet, daß einen Durchsicht-Modul zum Durchsehen der
Differenzen zwischen den Master-Daten und den gesicherten Daten
vorgesehen ist und Mittel zur graphischen Anzeige der Differen
zen zwischen den Master-Daten und den gesicherten Daten in ei
nem Fester auf dem Display aufweist, wobei die Differenzen zwi
schen den Master-Daten und den gesicherten Daten graphisch
durchsehbar sind.
22. Testsystem nach Anspruch 21, dadurch gekennzeichnet,
daß die Vergleichsmittel Bildpunktdateien vergleichen und daß
der Durchsicht-Modul Mittel zur Anzeige der aktuellen Daten als
digitalisiertes Bild und Mittel zur Anzeige der Differenzen
zwischen den Master-Daten und den aktuellen Daten durch Hervor
heben der Differenzen im digitalisierten Bild der aktuellen Da
ten aufweist.
23. Testsystem nach Anspruch 22, dadurch gekennzeichnet,
daß die Differenzen durch An- und Ausschalten der Pixel auf der
Anzeige hervorgehoben werden, die Teil der Differenzen sind.
24. Testsystem nach Anspruch 21, dadurch gekennzeichnet,
daß die Vergleichsmittel Bildpunktdateien vergleichen und daß
der Durchsicht-Modul Mittel zur Anzeige der Differenzen zwi
schen den Master-Daten und den aktuellen Daten durch Anzeigen
nur der Differenzen aufweisenden Teile des Bildes enthält.
25. Testsystem nach Anspruch 21, dadurch gekennzeichnet,
daß die Vergleichsmittel Textdaten vergleichen und daß der
Durchsicht-Modul Mittel zur Anzeige der aktuellen Daten als
Textzeilen auf einem ersten Teil des Bildschirms, Mittel zur
Anzeige der Master-Daten als Textzeilen auf einem zweiten Teil
des Bildschirms und Mittel zur Anzeige der Differenzen zwischen
den Master-Daten und den aktuellen Daten aufweist, wobei die
Differenz durch Anzeigen eines Kennzeichens (CHG) an jeder Dif
ferenzen aufweisenden Zeile auf dem zweiten Teil des Displays
sichtbar gemacht wird (Fig. 8b).
26. Testsystem nach Anspruch 21, dadurch gekennzeichnet,
daß die Vergleichsmittel Textdaten vergleichen und daß der
Durchsicht-Modul Mittel zur Anzeige der aktuellen Daten als
Textzeilen und Mittel zur Anzeige der Differenzen zwischen den
Master-Daten und den aktuellen Daten durch Hervorheben der Dif
ferenzen in der Textanzeige der aktuellen Daten enthält.
27. Testsystem nach einem der Ansprüche 21 bis 26, dadurch
gekennzeichnet, daß der Durchsicht-Modul Mittel zum Einstellen
von Toleranzen für nachfolgende Vergleiche enthält, wobei der
Vergleich eine geringe Differenz ergibt, wenn bei Wiederholung
des Tests die Differenzen innerhalb der eingestellten Toleran
zen liegen.
28. Testsystem nach Anspruch 27, dadurch gekennzeichnet,
daß die Toleranzen Bildpunktverschiebungen um eine vorgegebene
Anzahl von Pixeln enthalten, wobei eine Verschiebung der Pixel
innerhalb der vorgegebenen Anzahl von Pixeln als eine geringe
Differenz angesehen wird (Fig. 11b).
29. Testsystem nach Anspruch 27, dadurch gekennzeichnet,
daß die Toleranzen Farbdifferenzen entsprechend einem vorgege
benen numerischen Wert (Fig. 11f) enthalten, wobei eine Ver
schiebung der Farben der Pixel innerhalb der vorgegebenen nume
rischen Werte als geringe Differenz angesehen wird.
30. Testsystem nach einem der Ansprüche 21 bis 29, dadurch
gekennzeichnet, daß der Durchsicht-Modul ferner Mittel zum Mas
kieren spezifizierter Daten in der Master-Datei und in der ak
tuellen Datei enthält, wobei die maskierten Daten in der aktu
ellen Datei vom Vergleich mit den korrespondierenden Master-Da
ten ausgeschlossen sind.
31. Testsystem nach Anspruch 30, dadurch gekennzeichnet,
daß die Daten eine Bildpunktabbildung sind und daß die maskier
ten Daten durch Kennzeichnung der Umrandungen von Bereichen
(480) einer auf dem Display angezeigten Bildpunktabbildung
identifiziert sind.
32. Testsystem nach Anspruch 30 oder 31, dadurch gekenn
zeichnet, daß die die Masken identifizierenden Informationen
mit den entsprechenden Master-Daten gespeichert sind.
33. Testsystem nach einem der Ansprüche 30 bis 32, dadurch
gekennzeichnet, daß die Mittel zum Maskieren die angezeigten
maskierten Daten hervorheben.
34. Testsystem nach einem der Ansprüche 21 bis 33, dadurch
gekennzeichnet, daß der Durchsicht-Modul ferner Mittel zum Ak
tualisieren der Master-Daten durch Ersetzen der Master-Daten
durch die aktuellen Daten enthält.
35. Testsystem nach einem der Ansprüche 21 bis 34, dadurch
gekennzeichnet, daß der Durchsicht-Modul ferner Mittel zur Er
zeugung und zur Anzeige eines Protokolls jedes durchgeführten
Vergleichs enthält, wobei das Protokoll anzeigt, ob der Ver
gleich ohne ermittelte Differenzen durchlaufen wurde oder ob
Differenzen festgestellt wurden.
36. Testsystem nach Anspruch 35, dadurch gekennzeichnet,
daß der Durchsicht-Modul ferner Display-Auswahlmittel enthält,
welche dem Benutzer einen Vergleich aus dem Protokoll auszuwäh
len gestatten und welche die Mittel zur graphischen Anzeige in
einem Fenster des Displays steuern, um die Differenzen zwischen
den Master-Daten und den gesicherten Daten anzuzeigen, wobei
die Differenzen zwischen den Master-Daten und den gesicherten
Daten graphisch durchsehbar sind.
37. Testsystem nach einem der Ansprüche 21 bis 36, dadurch
gekennzeichnet, daß der Durchsicht-Modul ferner Mittel zum Set
zen von Unterbrechungspunkten in der Journal-Datei enthält, wo
bei die Unterbrechungspunkte den Journal-Mechanismus veranlas
sen, die Wiedergabe der in der Journaldatei aufgezeichneten Er
eignisse auszusetzen.
38. Testsystem nach einem der Ansprüche 1 bis 37, gekenn
zeichnet durch Mittel zum Verbinden einer vorgegebenen Datensi
cherungsfunktion und einer Vergleichsfunktion, wobei eine Liste
von jeweils durch einen Namen identifizierten Datensiche
rungs/Vergleichs-Funktionspaaren erstellt wird und die Datensi
cherungsfunktionen und die Vergleichsfunktionen durch Auswahl
eines Datensicherungs/Vergleichs-Funktionspaars ausgewählt wer
den.
39. Testsystem nach Anspruch 38, dadurch gekennzeichnet,
daß die Datensicherungsfunktionen und die Vergleichsfunktionen
selektierbar sind durch Auswahl eines Datensicherungs/Ver
gleichs-Funktionspaars, das über ein innerhalb eines Fensters
auf dem Display angezeigtes Menü auswählbar ist.
40. Testsystem nach einem der Ansprüche 21 bis 39, gekenn
zeichnet durch Mittel zum Verbinden einer vorgegebenen Datensi
cherungsfunktion, einer Vergleichsfunktion und einer Durch
sichtfunktion durch Erstellen einer Liste von jeweils durch Na
men identifizierten Datensicherungs/Vergleichs/Durchsicht-Funk
tions-Triplen (Fig. 12), wobei die Datensicherungsfunktionen,
Vergleichsfunktionen und Durchsichtfunktionen durch Auswahl des
Namens eines Datensicherungs/Vergleichs/Durchsicht-Funktions-
Triples ausgewählt werden.
41. Testsystem nach Anspruch 40, dadurch gekennzeichnet,
daß die Datensicherungsfunktionen, die Vergleichsfunktionen und
die Durchsichtfunktionen durch ein Datensicherungs/Vergleichs
/Durchsicht-Funktions-Triple selektierbar sind, welches über
ein in einem Fenster auf dem Display angezeigtes Menü auswähl
bar ist.
42. Testsystem nach einem der Ansprüche 1 bis 41, gekenn
zeichnet durch Mittel zum manuellen Editieren der Journal-Da
tei, wobei diese Mittel aufweisen:
Mittel zum Übersetzen der in einem ersten Format in der Journal-Datei gespeicherten Ereignisse in ein für den Benutzer verständliches zweites Format;
Mittel zum Hinzufügen, Löschen oder Modifizieren von über setzten Ereignissen; und
Mittel zum Übersetzen der übersetzten Ereignisse vom zwei ten Format zurück in das erste Format, wobei die Benutzersit zung durch Hinzufügen, Löschen oder Ändern der während der Be nutzersitzung ausgeführten Benutzeraktionen modifizierbar ist.
Mittel zum Übersetzen der in einem ersten Format in der Journal-Datei gespeicherten Ereignisse in ein für den Benutzer verständliches zweites Format;
Mittel zum Hinzufügen, Löschen oder Modifizieren von über setzten Ereignissen; und
Mittel zum Übersetzen der übersetzten Ereignisse vom zwei ten Format zurück in das erste Format, wobei die Benutzersit zung durch Hinzufügen, Löschen oder Ändern der während der Be nutzersitzung ausgeführten Benutzeraktionen modifizierbar ist.
43. Testsystem nach Anspruch 42, dadurch gekennzeichnet,
daß zum manuellen Erstellen einer Journal-Datei Mittel vorgese
hen sind, die aufweisen:
Mittel zum Erzeugen von Makroroutinen, welche die Parameter der Benutzerschnittstelle des Window-Systems definieren, in welchem das Testsystem arbeitet; und
Mittel zum Einsetzen ausgewählter Makroroutinen in die Journal-Datei, um für Benutzeraktionen repräsentative Ereig nisse in der Journal-Datei zu erzeugen.
Mittel zum Erzeugen von Makroroutinen, welche die Parameter der Benutzerschnittstelle des Window-Systems definieren, in welchem das Testsystem arbeitet; und
Mittel zum Einsetzen ausgewählter Makroroutinen in die Journal-Datei, um für Benutzeraktionen repräsentative Ereig nisse in der Journal-Datei zu erzeugen.
44. Testsystem nach einem der Ansprüche 1 bis 43, dadurch
gekennzeichnet, daß es ferner interaktive Editiermittel ent
hält, welche aufweisen:
Mittel zum Steuern des Journal-Mechanismus′ (270) zur Wie dergabe der Journal-Datei;
Mittel zum Anhalten der Wiedergabe der Journal-Datei;
Mittel zum Löschen desjenigen Ereignisses in der Journal- Datei, an welchem die Wiedergabe angehalten wurde; und
Mittel zum Hinzufügen von Ereignissen in die Journal-Datei an der Stelle, an welcher die Wiedergabe angehalten wurde,
wobei eine Journal-Datei interaktiv während der Wiedergabe der Journal-Datei editiert wird.
Mittel zum Steuern des Journal-Mechanismus′ (270) zur Wie dergabe der Journal-Datei;
Mittel zum Anhalten der Wiedergabe der Journal-Datei;
Mittel zum Löschen desjenigen Ereignisses in der Journal- Datei, an welchem die Wiedergabe angehalten wurde; und
Mittel zum Hinzufügen von Ereignissen in die Journal-Datei an der Stelle, an welcher die Wiedergabe angehalten wurde,
wobei eine Journal-Datei interaktiv während der Wiedergabe der Journal-Datei editiert wird.
45. Testsystem nach Anspruch 44, dadurch gekennzeichnet,
daß die interaktiven Editiermittel ferner aufweisen:
Mittel zum Markieren von Stellen in der Journal-Datei; und
Mittel zum Steuern der Journal-Mittel, wobei die nachfol gende Wiedergabe der Journal-Datei die Journal-Mittel veran laßt, an den markierten Stellen die Wiedergabe auszusetzen, wo bei die Mittel zum Hinzufügen von Ereignissen und die Mittel zum Löschen von Ereignissen benutzt werden, um Ereignisse an den markierten Stellen hinzuzufügen bzw. zu löschen.
Mittel zum Markieren von Stellen in der Journal-Datei; und
Mittel zum Steuern der Journal-Mittel, wobei die nachfol gende Wiedergabe der Journal-Datei die Journal-Mittel veran laßt, an den markierten Stellen die Wiedergabe auszusetzen, wo bei die Mittel zum Hinzufügen von Ereignissen und die Mittel zum Löschen von Ereignissen benutzt werden, um Ereignisse an den markierten Stellen hinzuzufügen bzw. zu löschen.
46. Testsystem nach Anspruch 44 oder 45, dadurch gekenn
zeichnet, daß die interaktiven Editiermittel jedes wiedergege
bene Ereignis lesen und das Ereignis in eine zweite Journal-Da
tei schreiben, daß die Mittel zum Hinzufügen von Ereignissen
die Ereignisse zur zweiten Journal-Datei hinzufügen, daß die
Mittel zum Löschen von Ereignissen bewirken, daß die Ereignisse
nicht in die zweite Journal-Datei geschrieben werden und daß
die zweite Journal-Datei die existierende Journal-Datei bei
Beendigung des interaktiven Editierens ersetzt.
47. Durch einen Benutzer erweiterbares, automatisiertes
Verfahren zum Testen von Anwendungsprogrammen bei einen fen
sterbasierten Computersystem mit einer zentralen Verarbeitungs
einheit (CPU) (103), einem Speicher (104), Eingabe/Ausgabe-Ge
räten, zu denen eine Tastatur (105), eine Maus (108) und ein
Display (107) gehören, wobei die Eingabe und die Ausgabe der
Informationen durch auf dem Display definierte Fenster ausge
führt wird,
dadurch gekennzeichnet,
daß Referenz- oder Master-Daten mit aktuellen, während des Tests des Anwendungsprogramms erzeugten Daten verglichen wer den, wobei die Testergebnisse die Differenzen zwischen den Ma ster-Daten und den aktuellen Daten enthalten,
daß während einer Benutzersitzung ausgeführte Benutzerak tionen darstellende Ereignisse erzeugt werden, die Ereignisse zum Ausführen des Anwendungsprogramms enthalten;
daß Ereignisse zur Ausführung des Vergleichs zwischen den Master-Daten und den aktuellen Daten durch die folgenden Schritte erzeugt werden:
Filtern von Teilen der Daten, die keinen Einfluß auf die Testergebnisse haben, durch Ausführen von Filterfunk tionen, die Teile der Daten ausfiltern, wobei jede Filter funktion durch einen Namen gekennzeichnet ist und in einer Filterlistendatei identifiziert wird, wobei die Filterli stendatei eine Liste von für das Ausfiltern von Teilen der Daten verfügbaren Filterfunktionen enthält und modifiziert wird, um Filterfunktionen hinzuzufügen, zu löschen oder zu ändern;
Sichern von während des Tests des Anwendungsprogramms erzeugten Daten entsprechend Datensicherungsfunktionen, welche vorgegebene Teile von Daten sichern, wobei jede Da tensicherungsfunktion durch einen Namen gekennzeichnet ist und durch eine Mehrzahl von in einer Journal-Datei angeord neten Ereignissen freigegeben wird, die solche Benutzerak tionen darstellen, welche die Datensicherungsfunktionen auswählen und, wobei die Datensicherungsfunktionen modifi ziert werden, um Datensicherungsfunktionen hinzuzufügen, zu löschen oder zu ändern;
Vergleichen von vorgegebenen Teilen der Master-Daten mit entsprechenden Teilen der aktuellen Daten gemäß Ver gleichsfunktionen, die jeweils durch einen Namen gekenn zeichnet sind, um die Differenzen zwischen den vorgegebenen Teilen der Master-Daten und der aktuellen Daten zu bestim men, wobei die Vergleichsfunktionen modifiziert werden, um Vergleichsfunktionen hinzuzufügen, zu löschen oder zu än dern; und
Erzeugen einer Fehler-Datei, die dann gesicherte aktu elle Daten enthält, wenn Differenzen bestimmt wurden;
daß die Journal-Datei durch Aufzeichnen von während einer Benutzersitzung ausgeführte Benutzeraktionen darstellenden Er eignissen erzeugt wird, wobei die Benutzeraktionen Aktionen zur Ausführung des Anwendungsprogramms und Aktionen zur Ausführung der Vergleiche zwischen den Master-Daten und den aktuellen Da ten enthalten; und
daß die Journal-Datei wiedergegeben wird, wodurch die auf gezeichneten Ereignisse ausgeführt werden, um das Anwendungs programm durch Ausführung des Anwendungsprogramms und Ausfüh rung von Vergleichen zwischen den Master-Daten und den aktuel len Daten zu testen.
daß Referenz- oder Master-Daten mit aktuellen, während des Tests des Anwendungsprogramms erzeugten Daten verglichen wer den, wobei die Testergebnisse die Differenzen zwischen den Ma ster-Daten und den aktuellen Daten enthalten,
daß während einer Benutzersitzung ausgeführte Benutzerak tionen darstellende Ereignisse erzeugt werden, die Ereignisse zum Ausführen des Anwendungsprogramms enthalten;
daß Ereignisse zur Ausführung des Vergleichs zwischen den Master-Daten und den aktuellen Daten durch die folgenden Schritte erzeugt werden:
Filtern von Teilen der Daten, die keinen Einfluß auf die Testergebnisse haben, durch Ausführen von Filterfunk tionen, die Teile der Daten ausfiltern, wobei jede Filter funktion durch einen Namen gekennzeichnet ist und in einer Filterlistendatei identifiziert wird, wobei die Filterli stendatei eine Liste von für das Ausfiltern von Teilen der Daten verfügbaren Filterfunktionen enthält und modifiziert wird, um Filterfunktionen hinzuzufügen, zu löschen oder zu ändern;
Sichern von während des Tests des Anwendungsprogramms erzeugten Daten entsprechend Datensicherungsfunktionen, welche vorgegebene Teile von Daten sichern, wobei jede Da tensicherungsfunktion durch einen Namen gekennzeichnet ist und durch eine Mehrzahl von in einer Journal-Datei angeord neten Ereignissen freigegeben wird, die solche Benutzerak tionen darstellen, welche die Datensicherungsfunktionen auswählen und, wobei die Datensicherungsfunktionen modifi ziert werden, um Datensicherungsfunktionen hinzuzufügen, zu löschen oder zu ändern;
Vergleichen von vorgegebenen Teilen der Master-Daten mit entsprechenden Teilen der aktuellen Daten gemäß Ver gleichsfunktionen, die jeweils durch einen Namen gekenn zeichnet sind, um die Differenzen zwischen den vorgegebenen Teilen der Master-Daten und der aktuellen Daten zu bestim men, wobei die Vergleichsfunktionen modifiziert werden, um Vergleichsfunktionen hinzuzufügen, zu löschen oder zu än dern; und
Erzeugen einer Fehler-Datei, die dann gesicherte aktu elle Daten enthält, wenn Differenzen bestimmt wurden;
daß die Journal-Datei durch Aufzeichnen von während einer Benutzersitzung ausgeführte Benutzeraktionen darstellenden Er eignissen erzeugt wird, wobei die Benutzeraktionen Aktionen zur Ausführung des Anwendungsprogramms und Aktionen zur Ausführung der Vergleiche zwischen den Master-Daten und den aktuellen Da ten enthalten; und
daß die Journal-Datei wiedergegeben wird, wodurch die auf gezeichneten Ereignisse ausgeführt werden, um das Anwendungs programm durch Ausführung des Anwendungsprogramms und Ausfüh rung von Vergleichen zwischen den Master-Daten und den aktuel len Daten zu testen.
48. Verfahren nach Anspruch 47, gekennzeichnet dadurch, daß
die Schritte der Auswahl der Filterfunktionen, der Datensiche
rungsfunktionen und der Vergleichsfunktionen durch Auswahl der
entsprechenden Menüpositionen aus in Fenstern auf dem Display
(107) angezeigten Menüs ausgeführt werden.
49. Verfahren nach Anspruch 47 oder 48, dadurch gekenn
zeichnet, daß der Schritt des Filterns die Eliminierung vorge
gebener Teile der Daten enthält.
50. Verfahren nach einem der Ansprüche 47 bis 49, dadurch
gekennzeichnet, daß der Schritt des Filterns die Übersetzung
vorgegebener Teile der Daten aus einem ersten Format in ein
zweites Format enthält.
51. Verfahren nach einem der Ansprüche 47 bis 50, dadurch
gekennzeichnet, daß als Daten Textdaten verwendet werden.
52. Verfahren nach einem der Ansprüche 47 bis 50, dadurch
gekennzeichnet, daß als Daten Bildpunktdaten verwendet werden.
53. Verfahren nach einem der Ansprüche 47 bis 50, dadurch
gekennzeichnet, daß die Daten nutzerdefinierte Daten in einem
binären Datenformat sind.
54. Verfahren nach einem der Ansprüche 47 bis 53, dadurch
gekennzeichnet, daß der Schritt des Erzeugens einer Fehler-Da
tei die Schritte des Speicherns der zu sichernden Daten in der
Fehler-Datei und, wenn keine Differenzen bestimmt werden, des
Entfernens der zu sichernden Daten aus der Fehler-Datei ent
hält.
55. Verfahren nach einem der Ansprüche 47 bis 54, dadurch
gekennzeichnet, daß die Differenzen zwischen den Master-Daten
und den gesicherten Daten durch graphische Anzeige der Diffe
renzen in einem Fenster auf dem Display durchgesehen werden.
56. Verfahren nach Anspruch 55, dadurch gekennzeichnet, daß
als Daten Bildpunktdaten verwendet und beim Durchsehen folgende
Schritte ausgeführt werden:
Anzeigen der aktuellen Daten als Bildpunktdatei und
Anzeigen der Differenzen zwischen den Master-Daten und den aktuellen Daten durch Hervorhebung der Differenzen in der Bild punktdatenanzeige der aktuellen Daten.
Anzeigen der aktuellen Daten als Bildpunktdatei und
Anzeigen der Differenzen zwischen den Master-Daten und den aktuellen Daten durch Hervorhebung der Differenzen in der Bild punktdatenanzeige der aktuellen Daten.
57. Verfahren nach Anspruch 56, dadurch gekennzeichnet, daß
die Differenzen durch An- und Ausschalten der Pixel auf der An
zeige, die Teil der Differenzen sind, hervorgehoben werden.
58. Verfahren nach Anspruch 55, dadurch gekennzeichnet, daß
die Daten Bildpunktdaten sind und beim Durchsehen die Differen
zen zwischen den Master-Daten und den aktuellen Daten durch Be
schränken der Anzeige auf Differenzen enthaltende Teile des
Bildes dargestellt werden.
59. Verfahren nach Anspruch 55, dadurch gekennzeichnet, daß
die Daten Textdaten sind und das Durchsehen mit folgenden
Schritten erfolgt:
Anzeige der aktuellen Daten als Textzeilen auf einem ersten Teil des Bildschirms,
Anzeige der Master-Daten als Textzeilen auf einem zweiten Teil des Bildschirms und
Anzeige der Differenzen zwischen den Master-Daten und den aktuellen Daten durch Anzeige eines Kennzeichens an jeder Zeile, wo Differenzen bemerkt werden, auf dem zweiten Teil des Bildschirms.
Anzeige der aktuellen Daten als Textzeilen auf einem ersten Teil des Bildschirms,
Anzeige der Master-Daten als Textzeilen auf einem zweiten Teil des Bildschirms und
Anzeige der Differenzen zwischen den Master-Daten und den aktuellen Daten durch Anzeige eines Kennzeichens an jeder Zeile, wo Differenzen bemerkt werden, auf dem zweiten Teil des Bildschirms.
60. Verfahren nach Anspruch 55, dadurch gekennzeichnet, daß
die Daten Textdaten sind und das Durchsehen mit den folgenden
Schritten durchgeführt wird:
Anzeigen der aktuellen Daten als Textzeilen und
Anzeigen der Differenzen zwischen den Master-Daten und den aktuellen Daten durch Hervorhebung der Differenzen in der Text anzeige der aktuellen Daten.
Anzeigen der aktuellen Daten als Textzeilen und
Anzeigen der Differenzen zwischen den Master-Daten und den aktuellen Daten durch Hervorhebung der Differenzen in der Text anzeige der aktuellen Daten.
61. Verfahren nach einem der Ansprüche 55 bis 60, dadurch
gekennzeichnet, daß beim Durchsehen ferner Toleranzen für nach
folgende Vergleiche derart eingestellt werden, daß Differenzen
innerhalb der eingestellten Toleranzen beim Vergleich als eine
geringe Differenz angesehen werden.
62. Verfahren nach Anspruch 61, dadurch gekennzeichnet, daß
die Toleranzen als Bildpunktverschiebungen um eine vorgegebene
Anzahl von Pixeln eingestellt werden, wobei eine Verschiebung
der Pixel innerhalb dieser Anzahl von Pixeln als eine geringe
Differenz angesehen wird.
63. Verfahren nach Anspruch 61, dadurch gekennzeichnet, daß
die Toleranzen Farbdifferenzen eines vorgegebenen numerischen
Wertes enthalten, so daß eine Verschiebung der Farbe der Pixel
innerhalb des vorgegebenen numerischen Wertes als eine geringe
Differenz angesehen wird.
64. Verfahren nach einem der Ansprüche 55 bis 63, dadurch
gekennzeichnet, daß beim Durchsehen spezifizierte Daten in den
Master- und aktuellen Daten maskiert und die maskierten Daten
der aktuellen Daten vom Vergleich mit den korrespondierenden
Master-Daten ausgenommen werden.
65. Verfahren nach Anspruch 64, dadurch gekennzeichnet, daß
die Daten Bildpunktdaten sind und daß die markierten Daten
durch Kennzeichnung der Umrandungen der Bereiche der auf dem
Display (107) angezeigten Bildpunktdatei gekennzeichnet werden.
66. Verfahren nach Anspruch 64 oder 65, dadurch gekenn
zeichnet, daß die die Masken kennzeichnenden Informationen mit
den entsprechenden Master-Daten gespeichert werden.
67. Verfahren nach einem der Ansprüche 55 bis 66, dadurch
gekennzeichnet, daß der Schritt des Durchsehens ferner einen
Schritt des Aktualisierens der Master-Daten durch Ersetzen der
Master-Daten durch die aktuellen Daten enthält.
68. Verfahren nach einem der Ansprüche 55 bis 67, dadurch
gekennzeichnet, daß ein Protokoll von jedem ausgeführten Ver
gleich erzeugt und angezeigt wird, ob der Vergleich ohne Diffe
renzen durchlaufen wurde oder infolge von ermittelten Differen
zen gescheitert ist.
69. Verfahren nach Anspruch 68, dadurch gekennzeichnet, daß
beim Durchsehen ferner ein Vergleich aus dem Protokoll der zum
Erzeugen und Anzeigen der Differenzen zwischen den Master-Daten
und den gesicherten Daten ausgeführten Vergleiche selektiert
wird, wobei die Differenzen zwischen den Master-Daten und den
gesicherten Daten graphisch durchgesehen werden können.
70. Verfahren nach einem der Ansprüche 55 bis 69, dadurch
gekennzeichnet, daß der Schritt des Durchsehens ferner Setzen
von Unterbrechungspunkten in der Journal-Datei enthält, wobei
die Unterbrechungspunkte eine Unterbrechung des Wiedergebens
der Journal-Datei bewirken.
71. Verfahren nach einem der Ansprüche 47 bis 70, dadurch
gekennzeichnet, daß eine vorgegebene Datensicherungsfunktion
Und eine Vergleichsfunktion verbunden werden durch Erstellen
einer Liste von Datensicherungs/Vergleichs-Funktions-Paaren,
die jeweils durch einen Namen identifiziert sind und durch Aus
wahl eines identifizierten Datensicherungs/Vergleichs-Funkti
ons-Paares ausgewählt werden.
72. Verfahren nach einem der Ansprüche 55 bis 71, dadurch
gekennzeichnet, daß eine vorgegebene Datensicherungsfunktion,
Vergleichsfunktion und Durchsichtfunktion verbunden werden
durch Erstellen einer Liste von Datensicherungs/Vergleichs/-
Durchsicht-Funktions-Triplen, die jeweils durch einen Namen
gekennzeichnet werden, wobei die Datensicherungsfunktionen,
Vergleichsfunktionen und Durchsichtfunktionen durch Auswahl
eines identifizierten Datensicherungs/Vergleichs/Durchsicht-
Funktions-Triples selektiert werden.
73. Verfahren nach einem der Ansprüche 47 bis 72, dadurch
gekennzeichnet, daß die Journal-Datei manuell dadurch editiert
wird,
daß die in einem ersten Format in der Journal-Datei gespei cherten Ereignisse in ein für den Benutzer verständliches zwei tes Format übersetzt werden,
daß übersetzte Ereignissen hinzugefügt, gelöscht oder modi fiziert werden und
daß die Ereignisse von dem zweiten Format zurück in das er ste Format übersetzt werden,
wobei die Benutzersitzung modifiziert werden kann, um wäh rend der Benutzersitzung ausgeführte Benutzeraktionen hinzuzu fügen, zu löschen oder zu ändern.
daß die in einem ersten Format in der Journal-Datei gespei cherten Ereignisse in ein für den Benutzer verständliches zwei tes Format übersetzt werden,
daß übersetzte Ereignissen hinzugefügt, gelöscht oder modi fiziert werden und
daß die Ereignisse von dem zweiten Format zurück in das er ste Format übersetzt werden,
wobei die Benutzersitzung modifiziert werden kann, um wäh rend der Benutzersitzung ausgeführte Benutzeraktionen hinzuzu fügen, zu löschen oder zu ändern.
74. Verfahren nach einem der Ansprüche 47 bis 73, dadurch
gekennzeichnet, daß die Journal-Datei manuell erstellt wird,
wobei
Makroroutinen erzeugt werden, welche die Parameter der Be nutzerschnittstelle des Window-Systems, in welchem das Testsy stem arbeitet, definieren und
ausgewählte Makroroutinen in die Journal-Datei eingebunden werden, um Ereignisse in der Journal-Datei zu erzeugen, die für Benutzeraktionen darstellen.
Makroroutinen erzeugt werden, welche die Parameter der Be nutzerschnittstelle des Window-Systems, in welchem das Testsy stem arbeitet, definieren und
ausgewählte Makroroutinen in die Journal-Datei eingebunden werden, um Ereignisse in der Journal-Datei zu erzeugen, die für Benutzeraktionen darstellen.
75. Verfahren nach einem der Ansprüche 47 bis 74, dadurch
gekennzeichnet, daß die Journal-Datei interaktiv editiert wird,
wobei dieser Schritt enthält:
Wiedergeben der Journal-Datei,
Aussetzen der Wiedergabe der Journal-Datei,
Löschen des Ereignisses in der Journal-Datei, an welchem die Wiedergabe ausgesetzt wurde und
Hinzufügen von Ereignissen in die Journal-Datei an der Stelle, an welcher die Wiedergabe angehalten wurde,
wobei eine Journal-Datei interaktiv während der Wiedergabe der Journal-Datei editiert wird.
Wiedergeben der Journal-Datei,
Aussetzen der Wiedergabe der Journal-Datei,
Löschen des Ereignisses in der Journal-Datei, an welchem die Wiedergabe ausgesetzt wurde und
Hinzufügen von Ereignissen in die Journal-Datei an der Stelle, an welcher die Wiedergabe angehalten wurde,
wobei eine Journal-Datei interaktiv während der Wiedergabe der Journal-Datei editiert wird.
76. Verfahren nach Anspruch 75, dadurch gekennzeichnet, daß
der Schritt des interaktiven Editierens der Journal-Datei das
Markieren von Stellen in der Journal-Datei enthält, wobei die
nachfolgende Wiedergabe der Journal-Datei ein Anhalten der Wie
dergabe an der Stelle der Markierung bewirkt, und wobei an der
Stelle der Marke Ereignisse hihzugefügt oder gelöscht werden
können.
77. Verfahren nach Anspruch 76, dadurch gekennzeichnet, daß
der Schritt des interaktiven Editierens ein Lesen jedes wieder
gegebenen Ereignisses und ein Schreiben des Ereignisses in eine
zweite Journal-Datei enthält, welche nachfolgend die erste
Journal-Datei ersetzt, wobei ein Hinzufügen von Ereignissen zur
Journal-Datei durch ein Hinzufügen von Ereignissen zur zweiten
Journal-Datei erfolgt und wobei ein Entfernen von Ereignissen
aus der Journal-Datei dadurch erfolgt, daß diese Ereignisse
nicht in die zweite Journal-Datei geschrieben werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/534,431 US5157779A (en) | 1990-06-07 | 1990-06-07 | User extensible testing system |
Publications (2)
Publication Number | Publication Date |
---|---|
DE4118454A1 true DE4118454A1 (de) | 1991-12-12 |
DE4118454C2 DE4118454C2 (de) | 2001-03-01 |
Family
ID=24129999
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4118454A Expired - Fee Related DE4118454C2 (de) | 1990-06-07 | 1991-06-05 | System zum automatischen Testen von Anwendersoftware |
Country Status (3)
Country | Link |
---|---|
US (1) | US5157779A (de) |
JP (1) | JP3407809B2 (de) |
DE (1) | DE4118454C2 (de) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0632377A1 (de) * | 1993-06-30 | 1995-01-04 | Microsoft Corporation | Verfahren zur Überprüfung eines nachrichtengesteuerten Betriebssystems |
DE19940306A1 (de) * | 1999-08-25 | 2001-03-08 | Siemens Ag | Verfahren zum Testen eines Programmsystems sowie zugehörige Datenverarbeitungsanlage und zugehöriges Programm |
WO2010063543A1 (de) * | 2008-12-02 | 2010-06-10 | Siemens Aktiengesellschaft | Einrichtung zum testen einer vorrichtung |
Families Citing this family (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5214780A (en) * | 1990-03-23 | 1993-05-25 | Sun Microsystems, Inc. | Synchronized journaling system |
US5657438A (en) * | 1990-11-27 | 1997-08-12 | Mercury Interactive (Israel) Ltd. | Interactive system for developing tests of system under test allowing independent positioning of execution start and stop markers to execute subportion of test script |
JPH0772870B2 (ja) * | 1990-12-21 | 1995-08-02 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 構造検査パネルの生産自動化方法 |
US5333302A (en) * | 1991-02-28 | 1994-07-26 | Hensley Billy W | Filtering event capture data for computer software evaluation |
US5930505A (en) * | 1991-12-17 | 1999-07-27 | Hudson Soft Co. Ltd. | Method for storing a program into an auxiliary memory |
US5303166A (en) * | 1992-04-14 | 1994-04-12 | International Business Machines Corporation | Method and system for automated network benchmark performance analysis |
JPH06187275A (ja) * | 1992-12-18 | 1994-07-08 | Fujitsu Ltd | サーバアプリケーションのテスト方法 |
US5513315A (en) * | 1992-12-22 | 1996-04-30 | Microsoft Corporation | System and method for automatic testing of computer software |
US5371889A (en) * | 1993-04-22 | 1994-12-06 | Digital Equipment Corporation | Journalling optimization system and method for distributed computations |
US5548718A (en) * | 1994-01-07 | 1996-08-20 | Microsoft Corporation | Method and system for determining software reliability |
US5408408A (en) * | 1994-02-22 | 1995-04-18 | Marsico, Jr.; Michael | Apparatus and method for electronically tracking and duplicating user input to an interactive electronic device |
US6226785B1 (en) * | 1994-09-30 | 2001-05-01 | Apple Computer, Inc. | Method and apparatus for storing and replaying creation history of multimedia software or other software content |
US5745767A (en) * | 1995-03-28 | 1998-04-28 | Microsoft Corporation | Method and system for testing the interoperability of application programs |
US6138252A (en) * | 1996-07-01 | 2000-10-24 | Sun Microsystems, Inc. | Graphical test progress monitor |
CA2190043C (en) * | 1996-11-12 | 2001-10-16 | Don E. Hameluck | Buffered screen capturing software tool usability testing of computer applications |
AU681841B3 (en) * | 1996-11-21 | 1997-09-04 | User Interface Metrics Pty Ltd | Usability evaluation system |
US6158019A (en) * | 1996-12-15 | 2000-12-05 | Delta-Tek Research, Inc. | System and apparatus for merging a write event journal and an original storage to produce an updated storage using an event map |
US5960196A (en) * | 1996-12-18 | 1999-09-28 | Alcatel Usa Sourcing, L.P. | Software release metric reporting system and method |
US6263376B1 (en) | 1997-02-24 | 2001-07-17 | Novell, Inc. | Generic run-time binding interpreter |
US5890154A (en) * | 1997-06-06 | 1999-03-30 | International Business Machines Corp. | Merging database log files through log transformations |
US5940618A (en) * | 1997-09-22 | 1999-08-17 | International Business Machines Corporation | Code instrumentation system with non intrusive means and cache memory optimization for dynamic monitoring of code segments |
US6587969B1 (en) * | 1998-06-22 | 2003-07-01 | Mercury Interactive Corporation | Software system and methods for testing the functionality of a transactional server |
US8645137B2 (en) | 2000-03-16 | 2014-02-04 | Apple Inc. | Fast, language-independent method for user authentication by voice |
DE10029346A1 (de) * | 2000-06-20 | 2002-03-28 | Bosch Gmbh Robert | Verfahren und Vorrichtung für die Optimierung eines Testprogramms |
US7370315B1 (en) * | 2000-11-21 | 2008-05-06 | Microsoft Corporation | Visual programming environment providing synchronization between source code and graphical component objects |
US7284194B2 (en) * | 2001-10-23 | 2007-10-16 | Sun Microsystems, Inc. | XML based report generator |
US7870431B2 (en) * | 2002-10-18 | 2011-01-11 | Computer Associates Think, Inc. | Transaction tracer |
US7921333B2 (en) * | 2003-03-19 | 2011-04-05 | Jds Uniphase Corporation | Method and systems for providing data replay, reprocess and retrigger functions in an analyzer |
US7379600B2 (en) * | 2004-01-28 | 2008-05-27 | Microsoft Corporation | Method and system for automatically determining differences in a user interface throughout a development cycle |
US7296184B2 (en) * | 2004-01-28 | 2007-11-13 | Microsoft Corporation | Method and system for masking dynamic regions in a user interface to enable testing of user interface consistency |
DE102004028526A1 (de) * | 2004-06-11 | 2006-01-12 | T-Mobile Deutschland Gmbh | Verfahren zur automatisierten Durchführung von Tests an Computerprogrammen |
US7653721B1 (en) | 2004-10-29 | 2010-01-26 | Sun Microsystems, Inc. | Mechanism for capturing high level events on user interface components |
US7676508B2 (en) * | 2004-11-10 | 2010-03-09 | Microsoft Corporation | Method and system for recording and replaying input-output requests issued by a user-mode program |
US7702958B2 (en) * | 2005-05-24 | 2010-04-20 | Alcatel-Lucent Usa Inc. | Auto-recording tool for developing test harness files |
US8677377B2 (en) | 2005-09-08 | 2014-03-18 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US9318108B2 (en) | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8977255B2 (en) | 2007-04-03 | 2015-03-10 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
ES2388747T3 (es) * | 2007-07-10 | 2012-10-18 | Siemens Aktiengesellschaft | Distribuidor giratorio para el control del caudal de vapor en una turbina de vapor |
US8001468B2 (en) * | 2007-09-19 | 2011-08-16 | Sap Ag | Method and system for accelerating test automation of software applications |
JP2009134406A (ja) * | 2007-11-29 | 2009-06-18 | Nomura Research Institute Ltd | コンピュータプログラムの実行結果を検証するためのテスト装置及び方法 |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8463109B2 (en) * | 2008-01-07 | 2013-06-11 | Black Mariah, Inc. | Editing digital film |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
US10496753B2 (en) | 2010-01-18 | 2019-12-03 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
JP5381179B2 (ja) * | 2008-06-06 | 2014-01-08 | 株式会社リコー | 画像処理装置 |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
EP2246788A1 (de) * | 2009-04-29 | 2010-11-03 | Optofidelity OY | Verfahren, System und ein Computerprogramm zum Testen einer Benutzeroberflächenfunktionalität |
US9858925B2 (en) | 2009-06-05 | 2018-01-02 | Apple Inc. | Using context information to facilitate processing of commands in a virtual assistant |
US10706373B2 (en) | 2011-06-03 | 2020-07-07 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US10241644B2 (en) | 2011-06-03 | 2019-03-26 | Apple Inc. | Actionable reminder entries |
US9431006B2 (en) | 2009-07-02 | 2016-08-30 | Apple Inc. | Methods and apparatuses for automatic speech recognition |
US8312322B2 (en) * | 2009-11-12 | 2012-11-13 | Siemens Medical Solutions Usa, Inc. | System for automated generation of computer test procedures |
US10705794B2 (en) | 2010-01-18 | 2020-07-07 | Apple Inc. | Automatically adapting user interfaces for hands-free interaction |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US10553209B2 (en) | 2010-01-18 | 2020-02-04 | Apple Inc. | Systems and methods for hands-free notification summaries |
US10679605B2 (en) | 2010-01-18 | 2020-06-09 | Apple Inc. | Hands-free list-reading by intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
CN102262582A (zh) * | 2010-05-25 | 2011-11-30 | 芯讯通无线科技(上海)有限公司 | 移动终端及其内存泄露检测方法 |
US8855961B2 (en) | 2010-06-01 | 2014-10-07 | United States Of America As Represented By The Secretary Of The Navy | Binary definition files |
US8429459B2 (en) * | 2010-07-28 | 2013-04-23 | Sap Ag | Use of attribute sets for test entity identification during software testing |
US8578340B1 (en) | 2010-09-24 | 2013-11-05 | Ca, Inc. | Recording and replaying computer program execution with recorded execution event breakpoints |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US8689214B2 (en) * | 2011-03-24 | 2014-04-01 | Amazon Technologies, Inc. | Replication of machine instances in a computing environment |
US8577842B1 (en) | 2011-09-19 | 2013-11-05 | Amazon Technologies, Inc. | Distributed computer system snapshots and instantiation thereof |
US20120303570A1 (en) * | 2011-05-27 | 2012-11-29 | Verizon Patent And Licensing, Inc. | System for and method of parsing an electronic mail |
US10057736B2 (en) | 2011-06-03 | 2018-08-21 | Apple Inc. | Active transport based notifications |
JP5648186B2 (ja) * | 2011-08-22 | 2015-01-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | トランザクションを再生するためのデータを生成する装置及び方法 |
US8994660B2 (en) | 2011-08-29 | 2015-03-31 | Apple Inc. | Text correction processing |
US9483461B2 (en) | 2012-03-06 | 2016-11-01 | Apple Inc. | Handling speech synthesis of content for multiple languages |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9495129B2 (en) | 2012-06-29 | 2016-11-15 | Apple Inc. | Device, method, and user interface for voice-activated navigation and browsing of a document |
US9547647B2 (en) | 2012-09-19 | 2017-01-17 | Apple Inc. | Voice-based media searching |
US9122798B2 (en) * | 2013-03-07 | 2015-09-01 | Oracle International Corporation | Debugger with method restart capability |
US9703679B2 (en) * | 2013-03-14 | 2017-07-11 | International Business Machines Corporation | Probationary software tests |
US9582608B2 (en) | 2013-06-07 | 2017-02-28 | Apple Inc. | Unified ranking with entropy-weighted information for phrase-based semantic auto-completion |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
WO2014197336A1 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197335A1 (en) | 2013-06-08 | 2014-12-11 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
CN110442699A (zh) | 2013-06-09 | 2019-11-12 | 苹果公司 | 操作数字助理的方法、计算机可读介质、电子设备和系统 |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US9268670B1 (en) * | 2013-08-08 | 2016-02-23 | Google Inc. | System for module selection in software application testing including generating a test executable based on an availability of root access |
US9842101B2 (en) | 2014-05-30 | 2017-12-12 | Apple Inc. | Predictive conversion of language input |
US9760559B2 (en) | 2014-05-30 | 2017-09-12 | Apple Inc. | Predictive text input |
US9966065B2 (en) | 2014-05-30 | 2018-05-08 | Apple Inc. | Multi-command single utterance input method |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
US9715875B2 (en) | 2014-05-30 | 2017-07-25 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US9785630B2 (en) | 2014-05-30 | 2017-10-10 | Apple Inc. | Text prediction using combined word N-gram and unigram language models |
US10078631B2 (en) | 2014-05-30 | 2018-09-18 | Apple Inc. | Entropy-guided text prediction using combined word and character n-gram language models |
US10659851B2 (en) | 2014-06-30 | 2020-05-19 | Apple Inc. | Real-time digital assistant knowledge updates |
US9338493B2 (en) | 2014-06-30 | 2016-05-10 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10446141B2 (en) | 2014-08-28 | 2019-10-15 | Apple Inc. | Automatic speech recognition based on user feedback |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US10789041B2 (en) | 2014-09-12 | 2020-09-29 | Apple Inc. | Dynamic thresholds for always listening speech trigger |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9646609B2 (en) | 2014-09-30 | 2017-05-09 | Apple Inc. | Caching apparatus for serving phonetic pronunciations |
US9886432B2 (en) | 2014-09-30 | 2018-02-06 | Apple Inc. | Parsimonious handling of word inflection via categorical stem + suffix N-gram language models |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10552013B2 (en) | 2014-12-02 | 2020-02-04 | Apple Inc. | Data detection |
US9865280B2 (en) | 2015-03-06 | 2018-01-09 | Apple Inc. | Structured dictation using intelligent automated assistants |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9899019B2 (en) | 2015-03-18 | 2018-02-20 | Apple Inc. | Systems and methods for structured stem and suffix language models |
US9842105B2 (en) | 2015-04-16 | 2017-12-12 | Apple Inc. | Parsimonious continuous-space phrase representations for natural language processing |
US10083688B2 (en) | 2015-05-27 | 2018-09-25 | Apple Inc. | Device voice control for selecting a displayed affordance |
US10127220B2 (en) | 2015-06-04 | 2018-11-13 | Apple Inc. | Language identification from short strings |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
US10255907B2 (en) | 2015-06-07 | 2019-04-09 | Apple Inc. | Automatic accent detection using acoustic models |
US10186254B2 (en) | 2015-06-07 | 2019-01-22 | Apple Inc. | Context-based endpoint detection |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
CN106484605A (zh) * | 2015-08-28 | 2017-03-08 | 中兴通讯股份有限公司 | 一种实现软件自动化测试的方法和系统 |
US9959197B2 (en) * | 2015-08-31 | 2018-05-01 | Vmware, Inc. | Automated bug detection with virtual machine forking |
US10747498B2 (en) | 2015-09-08 | 2020-08-18 | Apple Inc. | Zero latency digital assistant |
US10671428B2 (en) | 2015-09-08 | 2020-06-02 | Apple Inc. | Distributed personal assistant |
US9697820B2 (en) | 2015-09-24 | 2017-07-04 | Apple Inc. | Unit-selection text-to-speech synthesis using concatenation-sensitive neural networks |
US11010550B2 (en) | 2015-09-29 | 2021-05-18 | Apple Inc. | Unified language modeling framework for word prediction, auto-completion and auto-correction |
US10366158B2 (en) | 2015-09-29 | 2019-07-30 | Apple Inc. | Efficient word encoding for recurrent neural network language models |
US11587559B2 (en) | 2015-09-30 | 2023-02-21 | Apple Inc. | Intelligent device identification |
US10691473B2 (en) | 2015-11-06 | 2020-06-23 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10446143B2 (en) | 2016-03-14 | 2019-10-15 | Apple Inc. | Identification of voice inputs providing credentials |
US9934775B2 (en) | 2016-05-26 | 2018-04-03 | Apple Inc. | Unit-selection text-to-speech synthesis based on predicted concatenation parameters |
US9972304B2 (en) | 2016-06-03 | 2018-05-15 | Apple Inc. | Privacy preserving distributed evaluation framework for embedded personalized systems |
US10249300B2 (en) | 2016-06-06 | 2019-04-02 | Apple Inc. | Intelligent list reading |
US10049663B2 (en) | 2016-06-08 | 2018-08-14 | Apple, Inc. | Intelligent automated assistant for media exploration |
DK179309B1 (en) | 2016-06-09 | 2018-04-23 | Apple Inc | Intelligent automated assistant in a home environment |
US10586535B2 (en) | 2016-06-10 | 2020-03-10 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10067938B2 (en) | 2016-06-10 | 2018-09-04 | Apple Inc. | Multilingual word prediction |
US10490187B2 (en) | 2016-06-10 | 2019-11-26 | Apple Inc. | Digital assistant providing automated status report |
US10509862B2 (en) | 2016-06-10 | 2019-12-17 | Apple Inc. | Dynamic phrase expansion of language input |
US10192552B2 (en) | 2016-06-10 | 2019-01-29 | Apple Inc. | Digital assistant providing whispered speech |
DK179343B1 (en) | 2016-06-11 | 2018-05-14 | Apple Inc | Intelligent task discovery |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179049B1 (en) | 2016-06-11 | 2017-09-18 | Apple Inc | Data driven natural language event detection and classification |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
DK179745B1 (en) | 2017-05-12 | 2019-05-01 | Apple Inc. | SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
CN110858174A (zh) * | 2018-08-24 | 2020-03-03 | 山东华软金盾软件股份有限公司 | 一种移动设备聊天软件的图片审计方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA1268557A (en) * | 1986-04-01 | 1990-05-01 | Mikio Tomioka | Method for displaying program executing circumstances and an apparatus using the same |
US4819233A (en) * | 1987-04-08 | 1989-04-04 | Westinghouse Electric Corp. | Verification of computer software |
IE60444B1 (en) * | 1988-03-30 | 1994-07-13 | Elverex Ltd | A software verification apparatus |
US5063535A (en) * | 1988-11-16 | 1991-11-05 | Xerox Corporation | Programming conflict identification system for reproduction machines |
-
1990
- 1990-06-07 US US07/534,431 patent/US5157779A/en not_active Expired - Lifetime
-
1991
- 1991-06-05 DE DE4118454A patent/DE4118454C2/de not_active Expired - Fee Related
- 1991-06-07 JP JP16245791A patent/JP3407809B2/ja not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0632377A1 (de) * | 1993-06-30 | 1995-01-04 | Microsoft Corporation | Verfahren zur Überprüfung eines nachrichtengesteuerten Betriebssystems |
US5574854A (en) * | 1993-06-30 | 1996-11-12 | Microsoft Corporation | Method and system for simulating the execution of a computer program |
DE19940306A1 (de) * | 1999-08-25 | 2001-03-08 | Siemens Ag | Verfahren zum Testen eines Programmsystems sowie zugehörige Datenverarbeitungsanlage und zugehöriges Programm |
DE19940306B4 (de) * | 1999-08-25 | 2008-06-05 | Fujitsu Siemens Computers Gmbh | Verfahren und Datenverarbeitungsanlage zum Testen eines Programmsystems |
WO2010063543A1 (de) * | 2008-12-02 | 2010-06-10 | Siemens Aktiengesellschaft | Einrichtung zum testen einer vorrichtung |
Also Published As
Publication number | Publication date |
---|---|
US5157779A (en) | 1992-10-20 |
JPH05346875A (ja) | 1993-12-27 |
JP3407809B2 (ja) | 2003-05-19 |
DE4118454C2 (de) | 2001-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4118454C2 (de) | System zum automatischen Testen von Anwendersoftware | |
DE4108590C2 (de) | Verfahren zum Benchmark-Testen der Arbeitsgeschwindigkeit eines Computersystem | |
DE69720821T2 (de) | Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle | |
DE10051645B4 (de) | Prozesssteuersystem und Verfahren zum Kontrollieren eines Prozesses | |
DE69823682T2 (de) | Verfahren und gerät zur analyse von daten | |
DE69629120T2 (de) | Lesehilfe | |
DE60319229T2 (de) | Verfahren und system zur erweiterung der api eines dateisystems | |
EP0904548B1 (de) | Testsystem und testverfahren | |
DE10241400B4 (de) | Verfahren zum Verwalten eines sequentiellen Prozesses unter Verwendung einer graphischen Benutzerschnittstelle | |
DE69723489T2 (de) | Verfahren und System zur Verwaltung von Bau- und Produktionsinformation | |
DE69828800T2 (de) | Herstellungschnittstelle für ein integriertes schaltungsprüfsystem | |
US7523391B1 (en) | Indicating change to data form | |
DE102005016561B4 (de) | Verfahren und Vorrichtung zur strukturierten Erfassung und Bearbeitung von in einem System auftretenden Problemen | |
DE19706512A1 (de) | Echtzeit-Ereignisanordnung in einem elektronischen Ablaufdiagramm | |
DE19957780A1 (de) | Quellcode-Editierung in einer grafischen hierarchischen Umgebung | |
DE19844013A1 (de) | Strukturierter Arbeitsordner | |
DE19959765B4 (de) | Datei-Editor für mehrere Datenuntermengen | |
DE10135445A1 (de) | Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage | |
DE10240883A1 (de) | Verfahren zum Erfassen eines unbegrenzten Wachstums verketteter Listen in einer laufenden Anwendung | |
DE19741358A1 (de) | Verallgemeinertes Verfahren zum Trennen von charakteristischen Multimediamerkmalen von einem Multimediatitel unter Verwendung einer Multimedia-Softwaremaschine | |
DE10144390A1 (de) | Visualisierung eines Vergleichsergebnisses mindestens zweier in Verzeichnisbäumen organisierter Datenstrukturen | |
DE10151648B4 (de) | Verfahren und Vorrichtung zum Erfassen und Speichern von während einer computerbasierten Sitzung gemachten Notizen | |
EP3364257B1 (de) | Verfahren zum betrieb eines engineering-systems für ein industrielles prozessautomatisierungssystem und steuerungsprogramm | |
DE10038499A1 (de) | Verfahren und System für die verbesserte Entwicklungsprüfung mittels angepasster Ablaufverfolgung | |
WO2005078564A1 (de) | Visualisierung von strukturierten daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination | ||
8110 | Request for examination paragraph 44 | ||
8170 | Reinstatement of the former position | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |