DE69023420T2 - Dienstprozessorprüfer. - Google Patents

Dienstprozessorprüfer.

Info

Publication number
DE69023420T2
DE69023420T2 DE69023420T DE69023420T DE69023420T2 DE 69023420 T2 DE69023420 T2 DE 69023420T2 DE 69023420 T DE69023420 T DE 69023420T DE 69023420 T DE69023420 T DE 69023420T DE 69023420 T2 DE69023420 T2 DE 69023420T2
Authority
DE
Germany
Prior art keywords
screen
screens
service processor
program
set forth
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.)
Expired - Fee Related
Application number
DE69023420T
Other languages
English (en)
Other versions
DE69023420D1 (de
Inventor
Timothy Glenn Evans
Mark William Gould
Timothy John Mcnamara
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE69023420D1 publication Critical patent/DE69023420D1/de
Application granted granted Critical
Publication of DE69023420T2 publication Critical patent/DE69023420T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2257Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using expert systems

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

    Dienstprozessorprüfer
  • Die Erfindung betrifft allgemein eine Computerprüfeinrichtung und betrifft insbesondere ein Computerhilfsprogramm zur automatischen Erzeugung von Anwendungsbeispielen zur Prüfung eines mit einem anderen Computer verbundenen Serviceprozessors.
  • Viele Computer sind mit einem Service- oder Unterstützungsprozessor ausgestattet, der verwendet wird, um einen Benutzer bei der Überprüfung der ordnungsgemäßen Funktion des Computers oder bei der Fehlerbeseitigung beim Computer zu unterstützen. Ein Serviceprozessor kann eine Vielzahl von Funktionen bereitstellen. Einige Serviceprozessoren können in den Computerspeicher schreiben und den Inhalt des Speichers anschließend lesen, um festzustellen, ob der Speicher ordnungsgemäß funktioniert. Außerdem können einige Serviceprozessoren ein Startprogramm laden, einen Startmikrocode laden, überprüfen, daß für eine Anwendung bereits Speicher zugeordnet wurde, und Übertragungskanäle, die betriebsfähig sind, kennzeichnen. Außerdem können einige Serviceprozessoren bestimmte Fehler korrigieren und bestimmte Funktionen zurücksetzen, um die Korrektur durchzuführen.
  • Ein früher bekannter IBM (eingetragenes Warenzeichen der IBM Corp.) Serviceprozessor befindet sich in einem Personal Computer und wird zur Bereitstellung solcher Funktionen mit einem IBM 9370 Computer verwendet. Dieser Serviceprozessor zeigt Start- und Zwischenmenübildschirme und Endpunktbildschirme, die unter Verwendung der Menübildschirme mit Hilfe von Pfaden manuell ausgewählt werden, an. Jeder Endpunktbildschirm stellt eine vom Serviceprozessor ausgeführte Funktion dar, zum Beispiel das Zugreifen (Lesen/Schreiben) auf eine Position im Computerspeicher, einleitendes Mikrocodeladen (IML), einleitendes Programmiaden (IPL), Speicherkonfiguration, usw.
  • Die Prüfung dieses Serviceprozessors erfolgte manuell oder halbautomatisch. Zur manuellen Prüfung des Serviceprozessors verwendete eine Person in der Regel zuerst die Menübildschirme manuell, um die Pfadfunktion des Serviceprozessors zu bestätigen. Als nächstes wies die Person beim Erreichen eines Endpunktbildschirms, der eine bestimmte Position im Speicher darstellt, (a) den Serviceprozessor zum Scheiben in die Position im Speicher, die durch einen Cursor auf dem Bildschirm bezeichnet wird, an und (b) versuchte anschließend den Inhalt dieser Position im Speicher mit Hilfe des Serviceprozessors zu lesen, um zu überprüfen, daß der Serviceprozessor und diese Position im Speicher ordnungsgemäß funktionieren (d.h. die Endpunktbildschirme darstellen). Andere Endpunktbildschirme, die verschiedene Funktionen wie das IML oder IPL darstellen, werden auf dieselbe Weise geprüft.
  • Zur halbautomatischen Prüfung des Serviceprozessors schrieb ein Benutzer üblicherweise zuerst ein individuelles Prüfprogramm, in dem der Benutzer für jeden Bildschirm einen Befehl angab, um den Serviceprozessor zum seguentiellen Aufrufen jedes Bildschirms im Pfad zu veranlassen. Das Programm beinhaltet außerdem Befehle für jeden Menübildschirm, um festzustellen, ob die Pfadfunktion der Menübildschirme ordnungsgemäß funktioniert. Das Programm umfaßt außerdem Schritte zur Darstellung von Endpunktbildschirmen.
  • Ungeachtet des Grades der durch die Verwendung von Prüfprogrammen bereitgestellten Automation ist der früher bekannte Prozeß zur Prüfung des Serviceprozessors jedoch immer noch zeitaufwendig, weil der Benutzer jeden Bildschirm im Pfad und jeden Endpunktbildschirm zur Prüfung angeben muß; es können Hunderte von Endpunktbildschirmen, die eine Darstellung benötigen, und viel mehr Bildschirme, die die Pfadprüfung benötigen, mit einem solchen Serviceprozessor verbunden sein.
  • Dementsprechend ist es ein allgemeines Ziel der vorliegenden Erfindung, eine vollautomatische Prüfeinrichtung zum Prüfen von Menü- und Endpunkt- oder Funktionsbildschirmen des vorhergehenden und anderer Serviceprozessoren bereitzustellen.
  • Es ist ein spezielleres Ziel der vorliegenden Erfindung, einen Generator für Anwendungsbeispiele, der leicht an eine Vielzahl von Serviceprozessoren und die damit verbundenen Bildschirme angeschlossen werden kann, bereitzustellen.
  • Ein anderes spezielles Ziel der Erfindung ist die Bereitstellung eines Prüfhilfsprogramms des vorhergehenden Typs, das für Stichproben von Prüfungen aus einer ausgewählten Gruppe von Bildschirmen programmiert werden kann, um die erforderliche Prüfzeit auf ein Minimum herabzusetzen.
  • Ein anderes spezielles Ziel der vorliegenden Erfindung ist die Bereitstellung eines solchen Prüfhilfsprogramms, das außerdem zum Prüfen von allgemeinen Menübildschirmen und damit verbundenen Endpunktbildschirmen verwendet werden kann.
  • Diese Ziele werden durch die Vorrichtung, wie sie in den Ansprüchen dargelegt wird, erfüllt.
  • Die Erfindung betrifft eine Vorrichtung zur automatischen Erzeugung von Anwendungsbeispielen zur Prüfung eines mit einem Computer verbundenen Serviceprozessors. Die Vorrichtung umfaßt einen Speicher oder eine Wissensbasis zum Abbilden von vom Serviceprozessor erzeugten Bildschirmen. Die Bildschirme des Serviceprozessors werden auf eine hierarchische Weise angeordnet und umfassen Menübildschirme, die auf andere, in der Hierarchie niedrigere Bildschirme zugreifen, und Endpunktbildschirme, die den Speicher des vom Serviceprozessor bedienten Computers darstellen. Die Vorrichtung umfaßt außerdem eine Benutzerschnittstelle zum Auswählen von mindestens einem vom Serviceprozessor erzeugten Bildschirm, der eine Gruppe von Bildschirmen in einem oder mehreren Pfaden zum Prüfen kennzeichnet. Ein Programmgenerator ist mit der Benutzerschnittstelle und der Wissensbasis verbunden und kennzeichnet Bildschirme in der Gruppe aus dem Speicher. Der Programmgenerator erzeugt außerdem ein Programm, um den Serviceprozessor zu veranlassen, Bildschirme der Gruppe aufzurufen und den Pfad zwischen den Bildschirmen der Gruppe zu prüfen, indem die Erwartungen des Prüfprogramms mit den vom Serviceprozessor tatsächlich aufgerufenen Bildschirmen verglichen werden.
  • Gemäß einem Merkmal der Erfindung ist die Gruppe in einer Verzweigung von Bildschirmen der Hierarchie enthalten, und der Programmgenerator kann einen Teil der Pfade in der Verzweigung, der kleiner als die Gesamtanzahl von Pfaden ist, zum Prüfen auswählen.
  • Gemäß einem anderen Merkmal der Erfindung können zufällige Prüfungen sequentiell erzeugt werden und bis zur Unterbrechung des Programms ablaufen.
  • Das Programm wählt außerdem Endpunktbildschirme in der Gruppe zum Prüfen aus. Das Programm veranlaßt den Serviceprozessor zur Darstellung der Endpunktbildschirme durch die Eingabe von gültigen Daten und die anschließende Überprüfung, daß die Daten tatsächlich eingegeben wurden, oder durch den Versuch, ungültige Daten einzugeben und die Suche nach einer Fehlernachricht. Gemäß einem anderen Merkmal der Erfindung kann der Programmgenerator alle oder weniger als alle Felder innerhalb der Endpunktbildschirme auswählen. Anschließend erzeugt der Programmgenerator ein Programm zur Prüfung der Fähigkeit des Serviceprozessors zum Schreiben von Daten in diese Felder im Computer und zum Lesen aus geeigneten Ausgabefeldern.
  • Gemäß einem anderen Merkmal der Erfindung kann der Programmgenerator einen größeren Teil von Grenzwerten von Feldern darstellen der größer ist als der Anteil innerer Werte der Felder prüfen. Dieses Merkmal ist nützlich, weil viele Fehler an den Grenzen auftreten.
  • KURZE BESCHREIBUNG DER FIGUREN
  • Fig. 1 ist ein schematisches Blockdiagramm, das einen Computer und einen Serviceprozessor gemäß dem Stand der Technik darstellt.
  • Fig. 2 ist ein schematisches Diagramm, das eine Hierarchie von Menü- und Endpunkt-Computerbildschirmen, die vom Serviceprozessor aus Fig. 1 angezeigt werden, darstellt.
  • Fig. 3 ist ein Blockdiagramm, das eine halbautomatische Prüfvorrichtung gemäß dem Stand der Technik zur Prüfung des Serviceprozessors aus Fig. 1 darstellt.
  • Fig. 4 ist ein Blockdiagramm, das eine automatische Serviceprozessor-Prüfeinrichtung gemäß der vorliegenden Erfindung darstellt. Die automatische Prüfeinrichtung umfaßt ein neuartiges Prüfprogramm oder ein System zur Erzeugung von Anwendungsbeispielen in Kombination mit der halbautomatischen Prüfeinrichtung (außer dem individuellen Prüfprogramm), einem Serviceprozessor, einer Schnittstellen-Verbindungseinheit und dem Computer aus Fig. 3.
  • Fig. 5 ist ein Flußdiagramm, das die allgemeine Operation des automatischen Generators für Anwendungsbeispiele des Serviceprozessors von Fig. 4 und die nachfolgende Ausführung des Prüfprogramms darstellt.
  • Fig. 6 ist ein Diagramm, das Benutzerschnittstellen-Menüs zur. Einleitung des Prüfprogramm-Erzeugungssystems aus Fig. 4.
  • Fig. 7 ist ein Flußdiagramm, das die Operation eines Koordinators mit dem Prüfprogramm-Erzeugungssystem aus Fig. 4 darstellt.
  • Fig. 8 ist ein Flußdiagramm, das eine wahlweise Unterroutine darstellt, die vom Prüfprogramm ausgeführt wird, um von einem Menübildschirm ausgehende Pfade pseudo-zufällig zu prüfen.
  • Fig. 9 ist ein Flußdiagramm, das eine Unterroutine darstellt, die vom Prüfprogramm-Erzeugungssystem aus Fig. 4 ausgeführt wird, um Felder innerhalb von Endpunktbildschirmen pseudo-zufällig zu prüfen und außerdem den Grad der Prüfung von Grenzwerten der Felder zu erhöhen.
  • Es wird nun ausführlich auf die Zeichnungen Bezug genommen, in denen gleiche Bezugsziffern gleiche Elemente in den verschiedenen Ansichten anzeigen. Fig. 1 stellt ausgewählte Komponenten eines mittelgroßen, allgemein mit 10 bezeichneten Computers und eines allgemein mit 12 bezeichneten Serviceprozessors gemäß dem Stand der Technik dar. Der Computer 10 ist beispielsweise ein IBM 9370 Computer und umfaßt die Taktverwaltung 14, die CPU 16, den Steuerspeicher 18, den lokalen Speicher 20, den Hauptspeicher 22 und ein Kanal-Subsystem 24. Solche Komponenten des IBM 9370 Computers und des Serviceprozessors 12 werden im IBM System/370 Handbuch "Principles of Operation", Bestellnr. GA22- 7000, veröffentlicht 1981 von IBM Corporation von Armonk, NY, und im IBM System/370 Handbuch "Principles of Operation", Bestellnr. GA22-7200, veröffentlicht 1987 von IBM Corporation von Armonk, NY, ausführlicher beschrieben. Diese beiden Veröffentlichungen werden als ein Teil der vorliegenden Beschreibung durch Bezugnahme hierin aufgenommen.
  • Der Serviceprozessor 12 ist beispielsweise ein Personal Computer, der eine CRT 17 umfaßt und über die Taktverwaltung 14 mit jedem der vorhergehenden Komponenten des Computers 10 interagiert.
  • Fig. 2 stellt bruchstückhaft eine exemplarische Hierarchie von Menü- und Endpunktbildschirmen dar, die vom Serviceprozessor 12 erzeugt werden (jedoch nicht im IBM 370 Serviceprozessor zu finden sind), um einem Benutzer eine Ausschnittdarstellung und die Steuerung des Computers 10 zu ermöglichen. Wenn der Serviceprozessor 12 aktiviert wird, erzeugt der Serviceprozessor zunächst einen Bildschirm 30 "Anmelden", der als ein Menü zum Auswählen eines Zwischenmenübildschirms, eines Bildschirms 32 "Fehlerbehebung in der Entwicklung", eines Bildschirms 34 "Bediener" oder eines Bildschirms 36 "Kundendienst". Solche Zwischenbildschirme definieren drei allgemeine Funktionen des Serviceprozessors. Fig. 2 stellt außerdem die vom Bildschirm 32 "Fehlerbehebung in der Entwicklung" stammenden Menübildschirme, d.h. den Bildschirm 38 "Kundenspezifisches System" und den Bildschirm 40 "Funktionen öffnen" dar. Andere Zwischenmenübildschirme 42 bis 47 und die Endpunktbildschirme 62, 64 und 66 stammen vom Bildschirm 40 "Funktionen öffnen". Der Bildschirm 62 "Absoluter Speicher", der Bildschirm 64 "Realer Speicher" und der Bildschirm 66 "Virtueller Speicher" stellen Teile des Speichers 22 dar, stellen jedoch verschiedene Anzeigemodi bereit.
  • Fig. 3 ist ein Blockdiagramm eines halbautomatischen Systems nach dem Stand der Technik zur Prüfung des Serviceprozessors 12. Gemäß dem Stand der Technik schreibt ein Benutzer zuerst ein individuelles Prüfprogramm 77, in dem der Benutzer für jeden Bildschirm einen Befehl angibt, um den Serviceprozessor zum sequentiellen Aufrufen von jedem Bildschirm in einem Pfad zu veranlassen. Das Programm wird nachfolgend geladen und läuft in einem Prüfsystem 70, das einen Personal Computer umfaßt, ab. Die tatsächlich aufgerufenen Bildschirme werden durch einen Zusatzcode im Prüfprogramm überprüft, um festzustellen, ob die Pfadfunktion der Menübildschirme ordnungsgemäß funktioniert. Das Programm umfaßt außerdem Schritte zur Darstellung von Endpunktbildschirmen. Falls der Endpunktbildschirm beispielsweise einen Teil des Speichers darstellt, wird das Prüfsystem 70 zur Ausführung eines Programms verwendet, um den Serviceprozessor 12 zum Schreiben von Daten in den Speicher zu veranlassen. Das Programm überträgt über eine Tastendruck-Schnittstelle 72 Informationen, um einen Cursor auf dem Monitor 17 zu bewegen und dabei eine genaue Position im Speicher anzuzeigen. Anschließend überträgt das Programm über die Tastendruck-Schnittstelle 72 eine Schreibanforderung zum Serviceprozessor 12. Die Tastendruck- Schnittstelle 72 erzeugt dasselbe Eingangssignal zum Serviceprozessor 12 wie ein Tastenanschlag auf der Tastatur 73. Es folgt eine speziellere Auflistung dieser Schritte:
  • Der Schritt der Cursor-Manipulation im Programm ist der folgende:
  • CURSOR BEWEGEN (ZEILE X, SPALTE Y).
  • Dieser Schritt bewirkt, daß die Tastendruck-Schnittstelle die wiederholte Aktivierung einer Tabulatortaste stimuliert, bis sich der Cursor in der angegebenen Zeile und Spalte befindet. Der folgende Schritt im Programm gibt die Schreibanforderung und die in die vom Cursor angezeigte Position zu schreibenden Daten an:
  • TASTEN AUFRUFEN (DATEN).
  • Als Antwort aktualisiert der Serviceprozessor die nächste Zeile an derselben Spaltenposition auf dem Bildschirm mit den tatsächlich geschriebenen Daten. Diese Position wird in die nächste Zeile und Spalte übernommen und zum Anzeigen des Inhalts der vorhergehenden Zeile verwendet. Der Programmschritt ist der folgende:
  • "SUCHEN NACH" AUFRUFEN (ZEILE +1, SPALTE, DATEN).
  • Dieser Programmschritt veranlaßt den Serviceprozessor 12 außerdem, die während des Schrittes "TASTEN AUFRUFEN" tatsächlich geschriebenen Daten mit den "Daten", die zum Schreiben angefordert wurden, zu vergleichen. Der Serviceprozessor 12 erzeugt einen Rückkehrcode, der anzeigt, ob die beiden gleich sind. Als nächstes liest das Programm den Rückkehrcode:
  • RÜCKKEHRCODE PRÜFEN.
  • Falls die beiden gleich sind, ist der Rückkehrcode gleich Null, und der Serviceprozessor wird als ordnungsgemäß funktionierend angesehen. Falls die beiden jedoch nicht gleich sind, ist der Rückkehrcode nicht gleich Null, es funktioniert entweder dann der Serviceprozessor 12 nicht ordnungsgemäß, oder der Speicher 22 funktioniert nicht ordnungsgemäß, und es wird eine Fehlernachricht in das Fehlerprotokoll 75 geschrieben, und ein Fehlerbehebungsprozeß wird aufgerufen.
  • Obwohl das Prüfsystem 70 und das individuelle Prüfprogramm 77 das Prüfen des Serviceprozessors 12 erleichtern, wird die Gesamtprüfung verlängert, weil es in der Hierarchie viele Bildschirme gibt; der Benutzer muß jeden zu prüfenden Menü- und Endpunktbildschirm angeben, und der Benutzer muß den Code für jede Prüfung schreiben.
  • Im Hinblick auf die vorliegende Erfindung stellt Fig. 4 ein vollautomatisches Prüfsystem, das allgemein mit 100 bezeichnet wird, dar. Das System 100 umfaßt ein neuartiges Prüfprogramm oder ein System 102 zur Erzeugung von Anwendungsbeispielen, das eine Ausführungsform der vorliegenden Erfindung ist, ein halbautomatisches Prüfsystem 70 (ausschließlich des individuellen Prüfprogramms 77) und eine dazwischenliegende Gateway-Leitwegschnittstelle 108 nach dem Stand der Technik. Das System 102 umfaßt eine Eenutzerschnittstelle 103, einen Koordinator 104 und ein Prüfprogramm oder einen Generator für Anwendungsbeispiele 106. Wie unten ausführlicher beschrieben wird, ist der Prüfprogramm-Generator (TPG) 106 ein Wissensbasissystem, das automatisch eine Off-Line des Prüfprogramms 107 erzeugt, um die Pfadfunktion der Menübildschirme zu prüfen und die Endpunktbildschirme des Serviceprozessors darzustellen. Später wird das Programm in das System 70 geladen und ausgeführt, und alle gewünschten Anwendungsbeispiele werden ohne eine weitere manuelle Eingabe ausgeführt.
  • Fig. 5 ist ein Flußdiagramm, das die Basisbetriebsart des Systems 100 darstellt. Im Schritt 80 gibt ein Benutzer durch die Hierarchie von Bildschirmen aus Fig. 2 den höchsten Bildschirm in einer Verzweigung von Bildschirmen zur Prüfung oder Start- und Endbildschirme in einem Prüfpfad an. Wenn der Prüfprogramm- Generator 106 verfügbar ist, überträgt der Koordinator 104 die Verarbeitungsanforderung vom Schritt 80 zum Generator 106 (Schritt 82), so daß der Generator 106 ein entsprechendes Prüfprogramm 107 schreiben kann. Anschließend bestimmt der Prüfprogramm-Generator 106 von seiner Wissensbasis aus die Bildschirme in der Verzweigung oder im Pfad (Schritt 83), die mit dem in Schritt 80 bezeichneten Startbildschirm beginnen. Als nächstes schreibt der Prüfprogramm-Generator das Prüfprogramm 107, um (a) zu bestätigen, daß der Serviceprozessor 12 durch die geeigneten Menübildschirme, die vom Serviceprozessor 12 tatsächlich erzeugt wurden, tatsächlich auf jeden Bildschirm oder eine Auswahl von Bildschirmen in der Verzweigung oder im Pfad zugreifen kann, und (b) die Endpunktbildschirme darzustellen (Schritt 84). Als nächstes wird das Prüfprogramm 107 in das System 70 geladen (Schritt 85) und ausgeführt, um den vom Serviceprozessor 12 tatsächlich bereitgestellten Pfad zu prüfen (Schritt 86). Jedwede Fehler werden im Protokoll 75 protokolliert (Schritte 86 und 87), und ein Fehlerbehebungsprozeß wird aufgerufen. Als nächstes überprüft das Prüfprogramm Endpunktbildschirme in der Verzweigung oder im Pfad, um festzustellen, ob der Serviceprozessor 12 tatsächlich die durch diesen Bildschirm dargestellte Funktion ausführen kann (Schritt 89). Solche Funktionen umfassen das Schreiben in den und das Lesen aus dem Speicher durch den Serviceprozessor 12, die Zuordnung von Speicher durch den Serviceprozessor 12 für eine Anwendung und die Fähigkeit des Serviceprozessors 12 zum Einschalten der CPU 16. Alle Fehler werden im Protokoll 75 protokolliert (Schritte 90 und 92), und es ist ein Fehlerbehebungsprozeß beteiligt.
  • Die Benutzerschnittstelle 103 zeigt durch Fig. 6 angezeigte Bildschirme an, die es dem Benutzer gestatten, eine Verarbeitungsanforderung anzugeben (Schritt 80 aus Fig. 5). Der Bildschirm 122 gestattet dem Benutzer die Auswahl von einem der drei Prüfmodi - "Nur Erzeugen", "Erzeugen und Ausführen" und "Erzeugen und fortlaufend Ausführen". Der Prüfmodus "Nur Erzeugen" veranlaßt den Prüfprogramm-Generator, das Prüfprogramm 107 zu schreiben, es jedoch nicht durch das System 70 ausführen zu lassen. Der Modus "Erzeugen und Ausführen" veranlaßt den Prüfprogramm-Generator, das Prüfprogramm zu schreiben und es auch ausführen zu lassen. Der Modus "Erzeugen und fortlaufend Ausführen" veranlaßt den Prüfprogramm-Generator (über eine vom Koordinator 104, der unten ausführlicher beschrieben wird, bereitgestellte Verarbeitungsanforderung), ein Prüfprogramm zum zufälligen Prüfen einiger Pfade und Endpunktbildschirme in einer Verzweigung zu schreiben. Nachdem diese Prüfung ausgeführt wurde, veranlaßt das Programm jedoch das System 70 zur Benachrichtigung des Koordinators 104. Als Antwort veranlaßt der Koordinator 104 den Prüfprogramm-Generator 106, ein anderes Prüfprogramm zum zufälligen Prüfen einiger Pfade und Endpunktbildschirme in derselben Verzweigung zu scheiben. Dieser Prozeß wird bis zu einer manuellen Abschaltung oder einer vorbestimmten Zeitsperre wiederholt. Dieser letzte Modus kann in Situationen verwendet werden, in denen die Anzahl von Prüfbildschirmen sehr groß ist und der Benutzer eine begrenzte Zeit zur Ausführung des Prüfprogramms hat, jedoch nicht den maximalen Intensitätsfaktor zum Ausfüllen dieser Zeit kennt.
  • Ein nächster Bildschirm 124 leitet den Generator 106 in den "Flußprüf"- Modus, um das Programm zur Prüfung der Pfade zwischen Bildschirmen, jedoch nicht zur Prüfung der Endpunktbildschirme, zu schreiben, oder in den "funktionellen" Modus zum Schreiben des Prüfprogramms zur Prüfung der Pfade und zur Prüfung der Endpunktbildschirme.
  • Falls der "funktionelle" Modus oder der "Fluß"-Modus vom Bildschirm 124 gewählt wird, präsentiert die Benutzerschnittstelle den Bildschirm 126, in dem die Optionen "UNGÜLTIG", "GÜLTIG" oder "MISCHEN" dargestellt werden. Die Option "UNGÜLTIG" liefert ein Prüfprogramm, das versucht, ungültige Daten mit dem Serviceprozessor 12 zu verarbeiten. Nach der Auswahl der Option "UNGÜLTIG" versucht das Prüfprogramm 107 beispielsweise, einen Wert außerhalb des Bereichs in ein Feld zu schreiben, versucht, den falschen Datentyp einzugeben, z.B. ein Zeichen anstelle einer Ziffer in ein numerisches Feld, eine ungültige PF-Taste anzuschlagen oder eine ungültige Auswahl zu treffen. Die Option "GÜLTIG" liefert ein Prüfprogramm, das versucht, den korrekten Datentyp in ein Feld zu schreiben und nachfolgend zu überprüfen, ob die Daten tatsächlich, wie oben beschrieben wurde, in das Feld geschrieben wurden. Die Option "MISCHEN" liefert ein Prüfprogramm, das beide Arten von Prüfungen, "UNGÜLTIGE" Daten und "GÜLTIGE" Daten, durchführt.
  • Nachdem der Bildschirm 126 verwendet wurde, präsentiert die Benutzerschnittstelle 103 den Bildschirm 130, der die Optionen "zufällig", "feststehend" und "vollständig" anzeigt. Die Option "feststehend" ermöglicht es dem Benutzer, einen Startbildschirm, z.B. Bildschirm A, und einen oder mehrere Endbildschirme, z.B. den unten beschriebenen Bildschirm B, zu bezeichnen, und veranlaßt den Prüfprogramm-Generator 106 zur Prüfung der Bildschirme in den Pfaden zwischen dem Bildschirm A und jedem bezeichneten Bildschirm B. Die Option "vollständig" ermöglicht es dem Benutzer, einen Startbildschirm einer Verzweigung bereitzustellen und veranlaßt den Prüfprogramm-Generator 106 zum Schreiben eines Prüfprogramms zur Prüfung aller Pfade unterhalb des bezeichneten Bildschirms in der Baumhierarchie zu prüfen. Die Option "zufällig" ruft den Bildschirm 132 auf, in dem der Benutzer die gewünschte "Intensität" der zufälligen Prüfung eingibt. Diese Benutzereingabe erfolgt in Form eines Prozentsatzes und zeigt den Prozentsatz an Pfaden und Bildschirmen innerhalb der Prüfverzweigung oder des Pfades an, den der Benutzer durch das Prüfprogramm prüfen lassen möchte. Der Benutzer hat außerdem die Option, einen Ausgangspunkt zur erneuten Erstellung eines gegebenen Satzes von Prüfprogrammen anzugeben. Es wird zufällig einer ausgewählt, falls er nicht bereitgestellt wird. Nachdem die Schnittstelle 103 den Bildschirm 132 präsentiert oder nachdem die Optionen "feststehend" oder "vollständig" aus dem Bildschirm 130 gewählt wurden, wird der Bildschirm 134 dargestellt, in dem der erste Bildschirm 30 der Hierarchie aus Fig. 2 angezeigt wird. In dem dargestellten Beispiel hat der Benutzer die Möglichkeit, einen der Bildschirme 32, 34 oder 36, auf die durch den Bildschirm 30 zugegriffen wird, als einen Startpunkt für die Prüfung auszuwählen. Falls der Benutzer die Prüfung zur Verringerung der Prüfzeit niedriger in der Hierarchie als der ausgewählte Bildschirm 32, 34 oder 36 starten möchte, kann der Benutzer einen der Bildschirme, auf die der ausgewählte Bildschirm 32, 34 oder 36 zugreift, auswählen. Als Antwort darauf präsentiert die Benutzerschnittstelle 103 den ausgewählten Bildschirm und ermöglicht es dem Benutzer, irgendeinen der Bildschirme, auf die er zugreift, als einen Startpunkt in der Prüfung zu bezeichnen. Dieses Verfahren wird wiederholt, bis der Benutzer eine Auswahl zur Einleitung der Prüfung trifft. Wenn die Auswahl getreffen wird, schreibt die Benutzerschnittstelle 103 alle Auswahlnummern in eine Datei (wie unten beschrieben wird).
  • Die Benutzerschnittstelle 103 gestattet es dem Benutzer außerdem, zusätzliche Bildschirmauswahlen unterhalb der ersten Auswahl im Modus "feststehend" zu treffen, um die geprüften Pfade auf diejenigen, die alle ausgewählten Bildschirme enthalten, zu begrenzen. Diese Pfade definieren außerdem die zu prüfenden Endpunktbildschirme. Die Benutzerschnittstelle 103 speichert außerdem die Auswahlnummer(n) der zusätzlichen Bildschirme in der Datei. Nachdem alle Auswahlen getroffen wurden, wird die Datei über den Koordinator 104 zum Prüfprogramm-Generator 106 gesendet, um alle Pfade unterhalb des Startbildschirms (und einschließlich des anderen Bildschirms bzw. der anderen Bildschirme, falls ausgewählt) zu bestimmen und einige der Pfade (falls zufällige Prüfung), wie unten beschrieben wird, pseudo-zufällig zur Prüfung auszuwählen.
  • In der dargestellten Ausführungsform können viele Benutzer auf das System 102 zugreifen. Wie in Fig. 7 dargestellt wird, empfängt der Koordinator 104 über die Benutzerschnittstelle 103 eine oder mehrere Verarbeitungsanforderungen in einer oder mehreren Dateien von einem oder mehreren Benutzern, wobei die erste der Verarbeitungsanforderungen den Koordinator "weckt" (Schritt 300). Die Datei der Verarbeitungsanforderungen umfaßt die Auswahlnummer(n), die den Startbildschirm (und wahlweise zusätzliche Bildschirme in den Prüfpfaden) anzeigt, um die oben beschriebenen Pfadprüfungen und Endpunktbildschirme zu definieren. Als nächstes benennt der Koordinator 104 die Verarbeitungsanforderungen und stellt sie in eine Warteschlange (Schritt 302). Anschließend formatiert der Koordinator 104 die Verarbeitungsanforderung für eine zukünftige Bezugnahme durch einen Benutzer (Schritt 304). Zur fortlaufenden Ausführung von Prüfungen führt der Koordinator 104 außerdem Statistiken, die die zur Prüfung ausersehenen Pfade anzeigen, und anzeigen, wie oft jeder Pfad für verschiedene Prüfungen geprüft wird. Solche Statistiken ermöglichen es dem Benutzer zu entscheiden, ob genügend Prüfungen für jeden Pfad vorliegen und ob zusätzliche Prüfungen benötigt werden. Die Statistiken zeigen außerdem an, wie viele Anwendungsbeispiele für jeden Endpunktbildschirm ausgeführt werden.
  • Die Verarbeitungsanforderung, die als erste in der Leitung ist, wird zur Ausführung zum Prüfprogramm-Generator 106 gesendet (Schritt 306). Der Koordinator 104 wartet anschließend auf die Ergebnisse vom Prüfprogramm-Generator (Schritt 308). Falls die Verarbeitungsanforderung erfolgreich ausgeführt wird (Entscheidungsblock 309), wird eine komplette Datei einschließlich der Anwendungsbeispiele zum Benutzer gesendet (Schritt 310). Falls ein Fehler in der Verarbeitungsanforderung vorhanden ist oder ein anderes Problem auftritt, wird ein Fehlersignal zum Benutzer übertragen (Schritt 312). Nach dem Schritt 310 oder 312 bestimmt der Koordinator 104, ob andere Verarbeitungsanforderungen in der Warteschlange vorhanden sind (Entscheidungsblock 314). Ist dies der Fall, kehrt die Steuerung zum Schritt 302 zurück. Falls keine Verarbeitungsanforderungen in der Warteschlange vorhanden sind, wird der Koordinator wieder in den Ruhezustand versetzt (Schritt 316). Das tatsächliche Pfad- und Anwendungs-Prüfprogramm wird erzeugt und nach dem Schritt 308 ausgeführt. Wie in Fig. 4 dargestellt wird, werden alle im Protokoll 75 protokollierten Fehler über die Schnittstellen-Gateway 108 und die Übertragungsleitung 320 direkt zur Benutzerschnittstelle 103 gemeldet.
  • Der Prüfprogramm-Generator 106 ist ein regelorientiertes Wissensbasissystem und verwendet beispielsweise die VM/Prolog- Sprache und sein integriertes Interferenzmodul. Der Generator 106 umfaßt Regeln/Fakten zur Verkettung und Analyse der Regeln/Fakten, um zu einem geeigneten Prüfverfahren zu gelangen. Außerdem kann der Generator 106 aus einer Datei lesen, in eine Datei schreiben, das Format von Nummern ändern und eine Schnittstelle zu anderen Computersprachen bereitstellen. Die Wissensbasis des Generators 106 umfaßt bestimmte Prüfregeln/-fakten 111, die verwendet werden, um alle vom Serviceprozessor 12 erzeugten Bildschirme einschließlich des Menübildschirms 30 "Anmelden", der Zwischenmenübildschirme 32 bis 47 und der Endpunktbildschirme 62 bis 66, wie sie in Fig. 2 dargestellt werden, zu definieren (einschließlich der Menüfunktion). Für jeden Menübildschirm gibt es mindestens so viele bestimmte Prüfregeln/-fakten wie die Anzahl der Bildschirme, auf die durch diesen Bildschirm zugegriffen wird. In dem in Fig. 2 dargestellten Beispiel kann der Bildschirm 30 "Anmelden" zum Zugriff auf den Bildschirm 32 "Fehlerbehebung in der Entwicklung", den "Bediener"-Bildschirm 34 und den Bildschirm 36 "Kundendienst" 36 verwendet werden. Folglich gibt es bestimmte Prüfregeln/-fakten, die anzeigen, daß der Bildschirm 30 "Anmelden" zu jedem der anderen Bildschirme 32, 34 und 36 führt. Das System 100 verwendet das folgende PROLOG-Format zum Anzeigen dieser Zusammenhänge:
  • 1. ANZEIGEDEF. ("ANMELDEN", "FEHLERBEHEBUNG IN DER ENTWICKLUNG", 1, D, "FEHLERBEHEBUNG IN DER ENTWICKLUNG").
  • 2. ANZEIGEDEF. ("ANMELDEN", "BENUTZERSCHNITTSTELLE", 2, 0, "BEDIENER").
  • 3. ANZEIGEDEF. ("ANMELDEN", "KUNDENSCHNITTSTELLE", 3, C, "KUN- DENDIENST").
  • Im vorhergehenden PROLOG-Format ist jede der drei Regeln/Fakten eine Definition der Anzeige "Anmelden" oder des Bildschirms 30. In jeder der vorhergehenden Regeln/Fakten ist der Term, der auf "Anmelden" folgt, eine Beschreibung eines anderen Bildschirms oder einer Anzeige, auf die durch das Menü des Bildschirms 30 "Anmelden" zugegriffen wird. Die Nummer, die auf den Bildschirm- Beschreibungsterm folgt, ist die Auswahlnummer (oben beschrieben), die den Bildschirm, auf den zugegriffen wird, kennzeichnet, und der Buchstabe, der auf die Auswahlnummer folgt, ist eine Eingabe der Tastatur 73 zur Auswahl des Bildschirms, auf den zugegriffen wird. Der letzte Term in jeder der Regeln/Fakten ist der tatsächliche Titel des Bildschirms, auf den zugegriffen wird. Die Beschreibung in der Anzeigedefinition kann gleich dem tatsächlichen Titel sein oder nicht. Die Wissensbasis umfaßt analoge Regeln/Fakten für alle vom Serviceprozessor 12 angezeigte Bildschirme. Es folgen als Beispiele die Regeln/Fakten für den Bildschirm 32 "Fehlerbehebung in der Entwicklung":
  • 1. ANZEIGEDEF. ("FEHLERBEHEBUNG IN DER ENTWICKLUNG", "KUNDEN- SPEZIFISCHES SYSTEM", 4, C, "KUNDENSPEZIFISCHES SYSTEM").
  • 2. ANZEIGEDEF. ("FEHLERBEHEBUNG IN DER ENTWICKLUNG", "FUNK- TIONSLISTE", 5, O, "FUNKTIONEN ÖFFNEN").
  • Solche Regeln/Fakten definieren den in Fig. 2 dargestellten hierarchischen Baum einschließlich aller Bildschirme, die vom Serviceprozessor 12 erzeugt werden können, und der Pfade zwischen allen Bildschirmen.
  • Der Prüfprogramm-Generator 106 umfaßt außerdem andere bestimmte Prüfregeln/-fakten, die alle Endpunktbildschirme einschließlich der Bildschirme 62, 64 und 66, die den Funktionen im Computer 10 entsprechen, definieren. In Fig. 2 entspricht der Bildschirm 64 "Realer Speicher" beispielsweise dem Speicher 22 und wird zum Teil durch die folgenden Regeln definiert:
  • 1. VAR-TYP ("REALER SPEICHER", VAR 1, "HEX");
  • 2. VAR-BEREICH ("REALER SPEICHER, VAR 1, [0,FFFF]);
  • 3. VAR-POS. ("REALER SPEICHER", VAR 1, 11, 20); und
  • 4. VAR-OPT. ("REALER SPEICHER", VAR 1, W).
  • Im Bildschirm 64 "Realer Speicher" kennzeichnet Regel/Faktum Nummer 1 oben ein Feld als "VAR 1" und gibt an, daß das Feld "VAR 1" hexadezimale Daten enthält. Regel/Faktum 2 gibt an, daß das Feld "VAR 1" hexadezimale Einträge im Bereich von 0 bis FFFF unterbringen kann. Regel/Faktum 3 gibt an, daß sich das Feld "VAR 1" in Zeile 11, Spalte 20 des Bildschirms 63 befindet. Regel/Faktum 4 gibt an, daß das Feld "VAR 1" ein Schreib- ("W"-) Feld ist, d.h. es können Daten in das Feld "VAR 1" geschrieben werden. Es gibt andere Regeln/Fakten, die alle anderen Schreibfelder im Bildschirm 64 definieren, und der Bildschirm 64 kann mehrere Seiten umfassen.
  • Der Prüfprogramm-Generator 106 umfaßt außerdem andere bestimmte Prüfregeln/-fakten, die Lesefelder im Bildschirm 64 "Realer Speicher" kennzeichnen und beschreiben. Ein anderer Satz von vier Regeln/Fakten beschreibt zum Beispiel das Feld "VAR 2", das verwendet wird, um zu überprüfen, ob Daten, die in das Feld "VAR 1" geschrieben werden sollten, tatsächlich in den Speicher geschrieben wurden:
  • 1. VAR-TYP ("REALER SPEICHER", VAR 2, "HEX");
  • 2. VAR-BEREICH ("REALER SPEICHER", VAR 2, [0,FFFF]);
  • 3. VAR-POS ("REALER SPEICHER", VAR 2, 12, 20); und
  • 4. VAR-OPT ("REALER SPEICHER", VAR 2, R).
  • Regel/Faktum 1 zeigt an, daß das Feld "VAR 2" hexadezimale Daten beinhaltet. Regel/Faktum 2 zeigt an, daß der Bereich des Feldes "VAR 2" 0 bis FFFF ist. Regel 3 zeigt an, daß sich das Feld "VAR 2" bei Zeile 12, Spalte 20, unmittelbar unterhalb des Feldes "VAR 1" befindet, so daß beide Felder zu Vergleichszwecken gleichzeitig auf dem Monitor 17 betrachtet werden können. Der Serviceprozessor ist programmiert, daß er diese beiden Felder mit derselben Position im Speicher verbindet, weil sich die Felder in aufeinander folgenden Zeilen (ungerade, gerade) in derselben Spalte befinden. Der Serviceprozessor ist außerdem programmiert, daß er aus demselben Grund auf die Zeile 11 als ein Schreibfeld und auf die Zeile 12 als ein Lesefeld antwortet. Regel 4 zeigt an, daß das Feld "VAR 2" ein Lesefeld ("R") ist.
  • Es gibt andere Regeln/Fakten, die andere Lesefelder im Bildschirm 64 definieren. Die anderen Endpunktbildschirme, die zur Zuordnung von Speicher oder zum Ein-/Ausschalten verwendet werden, umfassen Schreib- und Lesefelder und Regeln/Fakten, die analog zu den oben aufgelisteten sind.
  • Alle vorhergehenden bestimmten Prüfregeln/-fakten beschreiben die Pfade zwischen Bildschirmen und das Format von Endpunktbildschirmen des Serviceprozessors 12 auf eine Weise, die eine vollständige automatische Prüfung, wie sie unten ausführlicher beschrieben wird, gestattet. Die Informationen für die Anzeigedefinitionen und Felddefinitionen können entweder manuell eingegeben werden oder vorzugsweise direkt (elektronisch) aus einer Datenbank, die zum Programmieren des Serviceprozessors verwendet wird, entnommen werden.
  • Der Prüfprogramm-Generator 106 umfaßt außerdem generische Prüfregeln 110, die in zwei allgemeine Kategorien, Dienstregeln und Interpretationsregeln, fallen. Dienstregeln unterstützen durch die Bereitstellung einer verkürzten Schnittstelle zur Datei das Schreiben des Prüfprogramms in eine Datei. Eine Dienstregel kann beispielsweise verwendet werden, um anzugeben, daß der Befehl "DATEI ÖFFNEN" eine verkürzte Substitution für die entsprechenden ausführlichen PROLOG-Befehle ist. Ahnlich kann eine Dienstregel verwendet werden, um anzugeben, daß der Befehl "IN DIE DATEI SCHREIBEN" eine Substitution für die entsprechenden ausführlichen PROLOG-Befehle ist. Ein anderes Beispiel einer Dienstregel ist eine Regel zur Erzeugung von Pseudo-Zufallsnummern, d.h. zur Erzeugung einer Zufallsnummer in Abhängigkeit von einem Ausgangspunkt. Wie unten ausführlicher beschrieben wird, werden die Pseudo-Zufallsnummern verwendet, um einige, jedoch nicht alle Pfade in einer Verzweigung und die Bildschirme innerhalb jedes Prüfpfades zu prüfen, um die zur Durchführung der Prüfung benötigte Zeit zu verkürzen. Ein anderer Typ von Dienstregel ist eine Regel zur Definition der Umsetzung von einer Hexadezimalziffer zu einer Dezimalziffer. Diese Regel ist eingeschlossen, um dem System 100 eine Schnittstelle zu Serviceprozessoren, die mit einem Hexadezimalcode oder einem Dezimalcode operieren, zur Verfügung zu stellen.
  • Die Interpretationsregeln werden zum Bestimmen von Pfaden zur Prüfung und zur Erzeugung von Prüfungen zum Prüfen dieser Pfade verwendet. Die folgenden Interpretationsregeln werden beispielsweise rekursiv verwendet, um den Pfad zwischen zwei angegebenen Bildschirmen A und B im feststehenden Prüfmodus zu prüfen:
  • 1. FALLS ARC (BILDSCHIRM A, BILDSCHIRM B), DANN PFAD (BILDSCHIRM A, BILDSCHIRM B)
  • 2. FALLS ARC (BILDSCHIRM A, ZWISCHENBILDSCHIRM) UND PFAD (ZWi-SCHENBILDSCHIRM, BILDSCHIRM B), DANN PFAD (BILDSCHIRM A, BILDSCHIRM B)
  • EIN "ARC" ist eine direkte Verbindung zwischen zwei Bildschirmen ohne Zwischenbildschirme, und ein "Pfad" ist eine Verbindung mit oder ohne Zwischenbildschirme. Falls entweder die Regel 1 oder die Regel 2 erfüllt wird, so gibt es einen "Pfad" zwischen den beiden Bildschirmen. Die Regeln 1 und 2 werden rekursiv angewendet, bis eine direkte Verbindung von einem Zwischenbildschirm zum Bildschirm B gefunden wird. Anschließend aktualisiert und kennzeichnet der Generator 106 den Eintrag für diesen Pfad. Es sei darauf hingewiesen, daß der Generator 106 zu diesem Zeitpunkt nur den Pfad innerhalb der Wissensbasis des Generators 106 gekennzeichnet und überprüft hat. In dem in Fig. 2 dargestellten Beispiel könnte der Bildschirm A nach dem Ermessen des Benutzers der Bildschirm 32 sein, und der Bildschirm B könnte der Bildschirm 64 sein. Die Regel 1 bedeutet, daß, falls eine ARC vom Bildschirm A zum Bildschirm B vorhanden ist, ein Pfad vom Bildschirm A zum Bildschirm B vorhanden ist. Die Regel 2 bedeutet, daß, falls eine ARC vom Bildschirm A zu einem Zwischenbildschirm und ein Pfad vom Zwischenbildschirm zum Bildschirm B vorhanden ist, ein Pfad vom Bildschirm A zum Bildschirm B vorhanden ist.
  • Der Prüfprogramm-Generator 106 prüft die Regel 1, indem er alle oben beschriebenen Regeln/Fakten zur Anzeigedefinition für den Bildschirm A liest, um festzustellen, ob es einen direkten Pfad oder eine ARC vom Bildschirm A zum Bildschirm B gibt. Dieser Schritt wird durch das Lesen des letzten Eintrags für die Regeln/Fakten zur Anzeigedefinition für den Bildschirm A realisiert. Falls diese Regel erfüllt wird, hat der Generator 106 den Pfad innerhalb der Wissensbasis des Generators 106 lokalisiert. Falls diese Regel nicht erfüllt wird, prüft der Generator die Regel 2. Zur Prüfung der Regel 2 ersetzt der Generator den Bildschirm INT durch einen der Bildschirme, auf die durch den Bildschirm A zugegriffen wird. Diese Informationen werden aus den oben beschriebenen Regeln/Fakten zur Anzeigedefinition erhalten. Als nächstes analysiert der Generator 106 den zweiten Vordersatz der Regel 2 durch einen Zugriff auf die Regel 1, d.h. es gibt einen Pfad vom Zwischenbildschirm zum Bildschirm B, falls es eine direkte Verbindung zwischen ihnen gibt. Diese Informationen werden aus den oben beschriebenen Regeln/Fakten zur Anzeigedefinition für die Zwischenanzeige erhalten. Nachdem beide Vordersätze der Regel 2 geprüft wurden und die Zwischenanzeigen durch die Regeln/Fakten zur Anzeigedefinition für den Bildschirm A definiert wurden, zeichnet der Generator 106 den geprüften Pfad auf. Zu diesem Zeitpunkt enthält der Eintrag für den Pfad die Auswahlnummer für den Bildschirm A und den Tastaturbuchstaben für den ersten Bildschirm, auf den der Bildschirm A zugreift. Nach der ersten Iteration der oben beschriebenen Schritte 1, 2 beispielsweise erfolgt der folgende Eintrag für den Pfad vom Bildschirm 30 zum Bildschirm 32: 1, d.
  • Unter der Voraussetzung, daß die Regel 2 während der ersten Iteration nicht erfüllt wurde, wird einer der Bildschirme, auf die der Bildschirm 32 zugreift, die neue Zwischenanzeige. Gemäß den Anzeigedefinitionen für den Bildschirm 32 ist die neue Zwischenanzeige der Bildschirm 38. Das Vorhandensein dieses Bildschirm erfüllt den ersten Vordersatz der Regel 2. Anschließend wird der zweite Vordersatz der Regel 2 geprüft, indem festgestellt wird, ob es eine Verbindung von der neuen Zwischenanzeige zum Bildschirm B gibt. Diese Information wird aus den Anzeigedefinitionen für den Bildschirm 38 erhalten. Als nächstes aktualisiert der Generator 106 den Eintrag des geprüften Pfades: 1, d, c. Dieser Vorgang wird wiederholt, bis dieser Pfad zum Bildschirm B führt. Im ersteren Fall fügt der Prüfprogramm-Generator 106 die Tastaturbuchstaben des gültigen Pfades vom Bildschirm A zum Bildschirm B, sowie den Bildschirmtitel für jeden Bildschirm in das Prüfprogramm 107 ein. Eine Anzeigedefinition für einen Endpunktbildschirm ist von den Anzeigedefinitionen für die Zwischenbildschirme verschieden, weil die Endpunktbildschirme keine niedrigeren Bildschirme kennzeichnen:
  • ANZEIGEDEF. ("ABSOLUTER SPEICHER", *, *, "EINGABE", "ABSOLUTER SPEICHER").
  • Wenn der Generator 106 den "Eingabe"-Eintrag liest, realisiert der Generator, daß der Bildschirm "Absoluter Speicher" ein Endpunktbildschirm ist, und beendet den Pfad. Falls der Endpunktbildschirm nicht der Bildschirm B ist, geht der Prüfprogramm- Generator 106 vom Endpunktbildschirm aus eine Ebene höher und definiert anschließend den Pfad neu, um einen anderen der Bildschirme, auf die der Bildschirm der nächsthöheren Ebene zugreift, zu umfassen; falls der erste Pfad beispielsweise zum Bildschirm 62 "Absoluter Speicher" führen würde und der Bildschirm 62 nicht der Bildschirm B wäre, würde der Generator 106 zum Bildschirm 46 "Speicher" ausweichen und einen neuen Pfad zum Bildschirm 64 "Realer Speicher" definieren. Falls der Bildschirm 64 "Realer Speicher" nicht der Bildschirm B ist, weicht der Generator 106 erneut zum Bildschirm 46 "Speicher" aus und definiert einen neuen Pfad zum Bildschirm 66 "Virtueller Speicher". Falls der Bildschirm 66 "Virtueller Speicher" nicht der Bildschirm B ist, weicht der Generator 106 um eine weitere Ebene zum Bildschirm 43 "Anzeigeänderung" aus und definiert einen neuen Pfad zum Bildschirm 47 "Steuerinformationen". Der vorhergehende Vorgang wird wiederholt, bis der Bildschirm B lokalisiert und der Pfad durch die Auswahlnummer für den Bildschirm A und die vom Bildschirm A zum Bildschirm B führenden Tastaturbuchstaben gekennzeichnet ist.
  • Wenn die Verarbeitungsanforderung darin besteht, eine Verzweigung von Bildschirmen, die von einem einzigen Startbildschirm ausgehen, zu prüfen, bestimmt der Generator 106 zuerst alle Endpunktbildschirme in der Verzweigung und bildet dann jeden Pfad ausgehend vom Startbildschirm auf alle (vollständige Prüfung) oder einige (Zufalisprüfung) der Endpunktbildschirme in der Verzweigung ab. Alle Endpunktbildschirme in der Verzweigung werden folgendermaßen bestimmt: Die obigen Regeln 1 und 2 werden zur Kennzeichnung eines möglichen Bildschirms in der Verzweigung, der ein Endpunktbildschirm sein kann oder nicht, verwendet. Zur Verwendung der Regeln 1 und 2 zu diesem Zweck wird der Startbildschirm durch den Bildschirm A ersetzt, und der Bildschirm B wird durch die Regeln 1 und 2 und die Wissensbasis der Anzeigedefinitionen als ein möglicher Bildschirm gekennzeichnet. Anschließend wird die folgende Regel 3 analysiert, um festzustellen, ob der mögliche Bildschirm ein Endpunktbildschirm ist:
  • 3. Falls Pfad (Startbildschirm zum möglichen Bildschirm) und KEINE ARC (möglicher Bildschirm zu irgendeinem Bildschirm), dann Endpunktbildschirm.
  • Falls der zweite Vordersatz der Regel 3 erfüllt wird, ist der mögliche Bildschirm ein Endpunktbildschirm, der Titel des Endpunktbildschirms und die Auswahlnummer werden in einer Liste gespeichert, und ein anderer möglicher Bildschirm wird unter Verwendung der Regeln 1 und 2 ausgewählt, wobei der Bildschirm A unverändert bleibt. Falls der zweite Vordersatz der Regel 3 nicht erfüllt wird, ist der mögliche Bildschirm kein Endpunktbildschirm, und die Regeln 1 und 2 werden erneut analysiert, wobei der Bildschirm A nun auf den vorherigen Kandidaten gesetzt wird. Der vorhergehende Vorgang wird anschließend wiederholt, bis alle Kandidaten geprüft sind und alle Endpunktbildschirme gekennzeichnet und in der Liste gespeichert sind.
  • Falls die vollständige Prüfung gewählt wurde, werden die Regeln 1 und 2 angewendet, wie für jeden Endpunktbildschirm in der Liste oben beschrieben wird, wobei der Bildschirm A auf den Startbildschirm gesetzt wird und der Bildschirm B auf den Endpunktbildschirm gesetzt wird. Das Ergebnis ist eine Pfadabbildung vom Startbildschirm zu jedem Endpunktbildschirm. Falls jedoch die Zufallsprüfung gewählt wurde, werden der Pseudozufallsnummern- Generator 113 und der gewählte Intensitätsfaktor-Prozentsatz verwendet, um nur einige der Endpunktbildschirme auszuwählen. Anschließend werden die Regeln 1 und 2 für jeden der ausgewählten Endpunktbildschirme angewendet, um die Pfadabbildung vom Startbildschirm zu jedem der ausgewählten Endpunktbildschirme zu bestimmen.
  • Falls die Optionen "feststehend" oder "vollständig" im Bildschirm 130 (Fig. 6) gewählt wurden, wird dieser Vorgang für jeden Endbildschirm in der Liste von Endbildschirmen unter dem Bildschirm A wiederholt. Falls jedoch die Option "zufällig" im Bildschirm 130 gewählt wurde, wird dieser Vorgang für einen Pseudo-Zufallsteil der von dem einen ausgewählten Bildschirm ausgehenden Pfade verwendet. Fig. 8 stellt den vom Generator 106 realisierten Worgang zum pseudo-zufälligen Auswählen der Pfade zur Prüfung dar. Im Schritt 402 erstellt der Generator 106 eine Liste aller Endpunktbildschirme in allen von dem einen ausgewählten Bildschirmen ausgehenden Pfaden. Außerdem weist der Generator 106 jedem Endpunktbildschirm eine sequentielle Nummer zu. Anschließend bestimmt der Generator 106 die Anzahl (Nummer) der Pfade, die geprüft werden müssen, auf der Grundlage der im Schritt 132 (Fig. 6) gewählten Intensität mal der Anzahl der Endpunktbildschirme (Schritt 404). Außerdem setzt der Generator 106 eine Variable "T" gleich dieser Anzahl (Nummer). Als nächstes erhält der Generator 106 eine Zufallsnummer zwischen eins und der Anzahl der Endpunktbildschirme in der Liste unter Verwendung des Zufallsnummern-Generators 113 und wählt diese Nummer (x-te) eines Endpunktbildschirms aus der Liste (Schritt 406). Anschließend erzeugt der Generator 106 den Pfad vom Bildschirm A zum Bildschirm X (Schritt 408). Anschließend löscht der Generator 106 den Bildschirm X von der Liste, vermindert die Anzahl von Bildschirmen in der Liste und vermindert die Variable "T" (Schritt 410). Die Schritte 406, 408 und 410 werden für die restlichen Bildschirme bis T = 0 (Entscheidungsblock 412) wiederholt. Das Vorhergehende ist eine Beschreibung der Art und Weise, wie das Prüfsystem 100 Pfade von einem Bildschirm zu einem anderen prüft und überprüft, daß der Serviceprozessor 12 ordnungsgemäß auf die Bildschirme in den Pfaden zugreift.
  • Später prüft das Prüfprogramm 107, ob jeder Bildschirm oder Auswahlen von Bildschirmen im Pfad zwischen den beiden ausgewählten Bildschirmen oder in dem von dem einen ausgewählten, durch die Wissensbasis gekennzeichneten Bildschirm ausgehenden Pfad tatsächlich vom Serviceprozessor 12 in derselben hierarchischen Anordnung erzeugt werden. Zu diesem Zweck überträgt das Prüfprogramm einen Befehl (Tastaturbuchstaben) über die Schnittstelle 72 zum Serviceprozessor 12, um den Serviceprozessor 12 einzuschalten und die Tastaturbuchstaben zum Bildschirm A oder dem Startbildschirm in der Verzweigung vorzurücken. Anschließend bestimmt das Programm den Tastaturcode über die Schnittstelle 72, um den nächsten Bildschirm im Pfad aufzurufen. Anschließend stellt das Prüfprogramm fest, ob der Bildschirm mit dem Titel in der Anzeigedefinition übereinstimmt. Falls der Bildschirm A beispielsweise dem Bildschirm 30 "Anmelden" entspricht und der nächste Bildschirm im Pfad gemäß der Wissensbasis der Bildschirm 32 "Fehlerbehebung in der Entwicklung" ist, überträgt das Prüfprogramm 107 den Code für einen Tastenanschlag "D" folgendermaßen zum Serviceprozessor:
  • TASTEN AUFRUFEN ("D").
  • Als nächstes überträgt das Prüfprogramm 107 den Code zum Serviceprozessor 12, um den tatsächlichen Bildschirmtitel mit "Fehlerbehebung in der Entwicklung" zu vergleichen:
  • "SUCHEN NACH" AUFRUFEN (ANZEIGE "FEHLERBEHEBUNG IN DER ENTWICKLUNG").
  • Als Antwort vergleicht der Serviceprozessor 12 den Titel im tatsächlich aufgerufenen Bildschirm mit dem Titel "Fehlerbehebung in der Entwicklung", und falls sie übereinstimmen, überträgt er einen Rückkehrcode von Null zum Prüfprogramm 107.
  • Es folgt eine Beschreibung der Art und Weise, wie das Prüfprogramm Endpunktbildschirme überprüft, zum Beispiel durch Schreiben in einen Speicherbildschirm über den Serviceprozessor 12 und den anschließenden Vergleich des tatsächlich Geschriebenen mit dem, was geschrieben werden sollte. Falls die Option "vollständig" von der Benutzerschnittstelle gewählt wurde, werden alle Endpunktbildschirme in der Liste und alle Felder in jedem Bildschirm überprüft. Falls die Option "zufällig" gewählt wurde, werden die Endpunktbildschirme in der Liste vom Generator 113 pseudo-zufällig zur Prüfung ausgewählt. Außerdem werden die Felder in jedem der ausgewählten Bildschirme vom Generator 113 pseudo-zufällig zur Prüfung ausgewählt. Falls die Option "feststehend" gewählt wurde, hat der Benutzer angegeben, welche Endpunktbildschirme geprüft werden müssen. Es werden alle Felder in jedem angegebenen Endpunktbildschirm geprüft.
  • Die Interpretationsregeln werden zur Durchführung der Prüfung verwendet. Das Prüfprogramm 107 überträgt über die Schnittstelle 72 Tastaturcodes zum Serviceprozessor 12, um (1) einen Speicherbildschirm aufzurufen, (2) den Cursor zur korrekten Position oder zum korrekten Feld des Dateneintrags zu bewegen und (3) Daten folgendermaßen in den Speicher zu schreiben:
  • 1. (a) TASTEN AUFRUFEN (TASTATURBUCHSTABE).
  • (b) TASTEN AUFRUFEN (TASTATURBUCHSTABE).
  • 2. CURSOR BEWEGEN (ZEILE X, SPALTE Y)
  • 3. TASTEN AUFRUFEN (DATEN).
  • Diese Befehle veranlassen den Serviceprozessor 12 zum Schreiben der angegebenen Daten in das durch die Position des Cursors angezeigte Feld.
  • Anschließend veranlaßt das Prüfprogramm 107 den Serviceprozessor 12 zum Lesen des Inhalts der durch die Cursorposition angezeigten Speicherposition und zum Vergleichen der Daten in der durch den Cursor angezeigten Speicherposition mit den im Befehl angegebenen Daten, wobei der folgende Befehl verwendet wird:
  • "SUCHEN NACH" AUFRUFEN (DATEN).
  • Als Antwort auf diesen Befehl wird ein Rückkehrcode zum Prüfprogramm 107 gesendet, der anzeigt, ob der Serviceprozessor 12 erkennt, daß die angegebenen Daten in die korrekte Position geschrieben wurden.
  • Wie unten ausführlicher beschrieben wird, kann der Prüfprogramm- Generator 106 ein Prüfprogramm schreiben, das alle Felder in einem Speicherbildschirm prüft, falls dies von einem Benutzer angefordert wird. Der Prüfprogramm-Generator 106 kann jedoch auch einen Teil, der kleiner als eines der Speicherfelder innerhalb des Speicherbildschirms ist, auf die in Fig. 9 beschriebene Weise prüfen. Eine solche teilweise Methode der Prüfung verringert die Gesamtprüfzeit. Fig. 9 stellt außerdem die Art und Weise dar, wie der Prüfprogramm-Generator 106 die Prüfung der Grenzen der Adreß- und Datenfelder hervorhebt.
  • Im Schritt 202 bestimmt der Prüfprogramm-Generator 106 die unte ren und oberen Grenzen des Feldes. Falls die gültige Prüfung von der Benutzerschnittstelle 103 gewählt wurde (Entscheidungsblock 203), wählt der Prüfprogramm-Generator 106 unter Verwendung des Zufallsnummern-Generators 113 eine Pseudo-Zufallsnummer im Bereich von eins bis sieben aus (Schritt 204). Falls die Zufallsnummer gleich eins ist (Entscheidungsblock 206), prüft der Generator 106 die untere Grenze oder den niedrigsten Wert im Bereich (Schritt 208). In dem oben dargestellten Beispiel, in dem das Feld "VAR" durch die Regeln 1 bis 4 beschrieben wurde, ist der niedrigste Wert 0000. Falls die im Schritt 204 gewählte Zufallsnummer gleich zwei anstatt gleich eins wäre (Entscheidungsblock 210), würde der Generator 106 den niedrigsten Wert plus eins prüfen (Schritt 212). In dem oben für das Feld "VAR" dargestellten Beispiel ist dieser Wert gleich 0001. Falls die im Schritt 204 gewählte Zufallsnummer gleich drei wäre (Entscheidungsblock 214), würde der Generator 106 den maximalen Wert oder die obere Grenze minus eins, FFFE prüfen (Schritt 216). Falls die im Schritt 204 gewählte Zufallsnummer jedoch gleich vier wäre (Entscheidungsblock 218), würde der Generator 106 den maximalen Wert im Feld oder die obere Grenze prüfen (Schritt 220). In dem oben für das Feld "VAR" dargestellten Beispiel ist dieser maximale Wert gleich FFFF. Falls die im Schritt 204 gewählte Zufallsnummer jedoch zwischen fünf und sieben liegen würde, würde der Generator 106 unter Verwendung des Zufallsnummern-Generators 113 ein Pseudo-Zufallsfeld zwischen dem kleinsten und dem maximalen Wert auswählen (Schritt 222), das im obigen Beispiel zwischen 0000 und FFFF liegen würde.
  • Wie oben angezeigt wird, wird in etwa vier von sieben Fällen eine Grenzbedingung geprüft. Diese Hervorhebung beim Prüfen der Grenzbedingungen findet statt, weil im Vergleich zu den zwischen den Grenzen auftretenden Fehlern ein hoher Prozentsatz von Problemen an den Grenzpositionen auftritt. Im dargestellten Beispiel werden etwa vier Prüfungen von sieben bei den Grenzbedingungen durchgeführt. Falls es gewünscht wird, kann jedoch ein anderer Prozentsatz von Grenzbedingungen geprüft werden, indem einfach der Bereich der im Schritt 204 erzeugten Zufallsnummern geändert wird. Falls der Bereich vergrößert würde, würde ein geringerer Prozentsatz von Prüfungen an den Grenzbedingungen durchgeführt und umgekehrt. Außerdem stellt Fig. 8 im Schritt 222 dar, daß die Prüfung zwischen den Grenzbedingungen auf einer pseudo-zufälligen Grundlage erfolgt.
  • Fig. 9 stellt außerdem dar, daß das Prüfprogramm auch eine "ungültige" Prüfung durchführen kann (Entscheidungsblock 203), falls diese Prüfung über die Benutzerschnittstelle 103 gewählt wurde. In einem solchen Fall mit einer Zufallsnummer (Schritt 221) gleich acht wird ein Dateneintrag, der kleiner als der kleinste Wert im Bereich ist, versucht (Entscheidungsblock 223 und Schritt 225). Falls die Zufallsnummer gleich neun ist, wird ein Dateneintrag, der größer als der maximale Wert im Bereich ist, versucht (Schritt 229).
  • Die Interpretationsregeln werden außerdem verwendet, um die Fähigkeit des Serviceprozessors 12 zur Zuordnung von Speicher für eine bestimmte Anwendung zu prüfen. Zur Durchführung dieser Prüfung überträgt das Prüfprogramm 107 Tastaturcodes über die Schnittstelle 72, um einen Speicherzuordnungs-Bildschirm aufzurufen, den Cursor zur korrekten Position des Dateneintrags zu bewegen und anschließend den Speicher folgendermaßen zuzuordnen:
  • TASTEN AUFRUFEN (TASTATURBUCHSTABE).
  • CURSOR BEWEGEN (ZEILE X, SPALTE Y).
  • TASTEN AUFRUFEN (12 MEG).
  • Dieser Befehl veranlaßt den Serviceprozessor 12 zum Zuordnen von 12 Megabyte des Speichers 22 für eine Anwendung. Anschließend veranlaßt das Prüfprogramm 107 den Serviceprozessor 12, zu prüfen, wieviel Speicher tatsächlich zugeordnet wurde, indem der folgende Befehl übertragen wird:
  • "SUCHEN NACH" AUFRUFEN (MASCHINE HAT NUN 12 MEG).
  • Als Antwort vergleicht der Serviceprozessor 12 die Daten in der durch den Cursor angezeigten Speicherzuordnungsposition mit der angeforderten Zuordnung, und es wird ein Rückkehrcode zum Prüfprogramm 107 gesendet, der anzeigt, ob der Serviceprozessor 12 erkennt, daß die korrekte Speichergröße zugeordnet wurde. Dies ist eine andere Prüfung der Fähigkeit des Serviceprozessors 12 zum korrekten Schreiben in den und zum korrekten Lesen aus dem Speicher.
  • Der Prüfprogramm-Generator 106 umfaßt außerdem Regeln zur Prüfung, ob die CPU 16 nach dem Versuch des Serviceprozessors 12 zum Einschalten des Prozessors eingeschaltet wurde. Zur Durchführung dieser Prüfung überträgt das Prüfprogramm 107 den Einschaltcode zum Serviceprozessor 12, überträgt einen Code zum Bewegen des Cursors in die Position und veranlaßt anschließend den Serviceprozessor zum Vergleichen der Informationen an dieser Position mit den erwarteten Informationen.
  • TASTEN AUFRUFEN (TASTATURBUCHSTABE).
  • CURSOR BEWEGEN (ZEILE X, SPALTE Y).
  • TASTEN AUFRUFEN (DATEN).
  • "SUCHEN NACH" AUFRUFEN (DATEN).
  • Der Prüfprogramm-Generator 106 umfaßt außerdem Syntaxregeln 112, die in Fig. 5 dargestellt werden. Die Syntaxregeln gestatten dem Prüfprogramm-Generator die Erzeugung von Codes in anderen Formaten für anderen Typen von Serviceprozessoren und Schnittstellen.
  • In Abhängigkeit vom Vorangegangenen wurde eine automatische Prüfeinrichtung für einen Serviceprozessor beschrieben. Es können jedoch zahlreiche Änderungen und Substitutionen vorgenommen werden, ohne vom Anwendungsbereich der Erfindung abzuweichen. Der Serviceprozessor kann beispielsweise andere Funktionen und Steuerungen des Systems 10 prüfen, und die Prüfeinrichtung 100 kann zur Prüfung dieser anderen, vom Serviceprozessor bereitgestellten Funktionen und Steuerungen verwendet werden. Außerdem ist das System 100 mit Serviceprozessoren und anderen Anwendungstypen, die anderen Bildschirme als die in Fig. 2 dargestellten verwenden, anwendbar.

Claims (22)

1. Vorrichtung zum Prüfen eines mit einem Computer (10) verbundenen Serviceprozessors (17), wobei die Vorrichtung folgendes umfaßt:
Speichermittel, die eine Abbildung eines hierarchischen Baumes von Bildschirmen (30 bis 66), die vom Serviceprozessor angezeigt werden, enthalten, wobei die Bildschirme des Serviceprozessors Menübildschirme (30), die auf andere, in der Hierarchie niedrigere Bildschirme (32 bis 36; 40; 38; 42 bis 44; 45 bis 47) zugreifen, und Endpunktbildschirme (62; 64; 66), die auf Funktionen des Serviceprozessors zugreifen, umfassen;
ein Prüfprogramm-Erzeugungsmittel (106), das mit den Speichermitteln verbunden ist, zum Kennzeichnen von Bildschirmen in der Hierarchie aus den Speichermitteln; und zum automatischen Erzeugen eines Prüfprogramms, um zu bestätigen, daß der Serviceprozessor
a) alle Bildschirme korrekt aufrufen kann, indem der Serviceprozessor gesteuert wird, daß er allen möglichen Pfaden im hierarchischen Baum von Bildschirmen folgt, und indem das Ergebnis mit den entsprechenden Einträgen in der von den Speichermitteln bereitgestellten Abbildung verglichen wird;
b) die durch die Endpunktbildschirme angezeigten Funktionen ausführen kann, indem er sie prüft und das Ergebnis mit dem erwarteten, in den Speichermitteln gespeicherten Ergebnis vergleicht;
Prüfprogramm-Ausführungsmittel (70, 72), die mit dem Serviceprozessor verbunden sind, um die Befehle im Prüfprogramm (107) zum Serviceprozessor zu übertragen.
2. Vorrichtung, wie sie in Anspruch 1 dargelegt ist, die desweiteren ein Benutzerschnittstellen-Mittel (103) zum Auswählen von mindestens einem Bildschirm, der vom Serviceprozessor (11) angezeigt wird, umfaßt, wobei der Bildschirm eine Gruppe von Bildschirmen in einem oder mehreren Pfaden zum Prüfen kennzeichnet; und wobei das Programmerzeugungsmittel (106) mit dem Benutzerschnittstellen-Mittel verbunden ist, um die Pfade zwischen den Bildschirmen dieser Gruppe zu prüfen.
3. Vorrichtung, wie sie in Anspruch 1 dargelegt ist, wobei
das Programmerzeugungsmittel (106) ein Mittel (104) zum Auswählen von einigen, jedoch nicht allen Pfaden zwischen den Bildschirmen zur Prüfung umfaßt.
4. Vorrichtung, wie sie in Anspruch 1 dargelegt ist, wobei
die Bildschirme (30 bis 66) des Serviceprozessors (11) desweiteren Endpunktbildschirme (62; 64; 66) umfassen, die Speicher (18; 20; 22) des vom Serviceprozessor bedienten Computers (10) darstellen; und
das Programmerzeugungsmittel (106) ein Mittel (104) zum Auswählen von einigen, jedoch nicht allen Speicherfeldern innerhalb der Endpunktbildschirme und zum Erzeugen eines Programms (107) zum Prüfen der ausgewählten Felder umfaßt, um die Fähigkeit des Serviceprozessors zum Schreiben in die Felder im tatsächlichen Speicher im Computer und zum Lesen aus den Speicherfeldern im Computer zu testen.
5. Vorrichtung, wie sie in Anspruch 4 dargelegt ist, wobei die ausgewählten Felder der Speicherbildschirme zumindest teilweise zufällig ausgewählt werden; und
wobei das Benutzerschnittstellen-Mittel (103) Mittel zum Bestimmen des Anteils der Felder zum Prüfen umfaßt.
6. Vorrichtung, wie sie in Anspruch 4 dargelegt ist, wobei das Programmerzeugungsmittel ein Mittel (106) zum Prüfen eines größeren Anteils von Speichergrenzfeldern als von Speicherfeldern im Inneren des Speichers umfaßt.
7. Vorrichtung, wie sie in Anspruch 3 dargelegt ist, wobei die Pfade zufällig ausgewählt werden.
8. Vorrichtung, wie sie in Anspruch 7 dargelegt ist, die desweiteren folgendes umfaßt:
ein Benutzerschnittstellen-Mittel (103) zum Auswählen eines Ausgangspunktes zum Stützen der zufälligen Auswahl der Pfade, wobei die Auswahl des Ausgangspunktes dieselben Pfade zum Prüfen kennzeichnet; und
ein Mittel zum erneuten Erstellen (108) eines Prüfprogramms durch das Wiederaufrufen des Ausgangspunktes.
9. Vorrichtung, wie sie in Anspruch 3 dargelegt ist, wobei das Benutzerschnittstellen-Mittel ein Mittel (103) zum Angeben des Anteils der Pfade zum Prüfen umfaßt.
10. Vorrichtung, wie sie in Anspruch 1 dargelegt ist, wobei die Speichermittel wissensbasiert sind und für jeden Menübildschirm einen Satz von Regeln/Fakten enthalten, wobei der Satz die Bildschirme, auf die durch den Menübildschirm zugegriffen wird, definiert.
11. Vorrichtung, wie sie in Anspruch 2 dargelegt ist, wobei das Programmerzeugungsmittel (106) Mittel aufweist, um, ausgehend von der Abbildung in den Speichermitteln, einen Pfad zwischen zwei Bildschirmen zu kennzeichnen, die über das Benutzerschnittstellen-Mittel (103) ausgewählt werden.
12. Vorrichtung, wie sie in Anspruch 2 dargelegt ist, wobei die Gruppe eine Verzweigung von Bildschirmen in der Hierarchie ist und der kennzeichnende Bildschirm einen oberen Bild schirm in der Verzweigung kennzeichnet.
13. Vorrichtung, wie sie in Anspruch 1 dargelegt ist, wobei das Programmerzeugungsmittel ein Mittel (106) zum Schreiben eines Programms umfaßt, um die Fähigkeit des Serviceprozessors zum Zuordnen von Speicher im Computer zu testen.
14. Vorrichtung, wie sie in Anspruch 3 dargelegt ist, die desweiteren ein Mittel (104) umfaßt, das mit dem Programmerzeugungsmittel (106) verbunden ist, um das Programmerzeugungsmittel automatisch zu steuern, daß es zusätzliche Programme zum Auswählen von einigen anderen Pfaden zwischen den Bildschirmen zum Prüfen erzeugt, wobei die zusätzlichen Programme nach dem ersten Programm bis zu einem manuellen Abschalten oder einem zeitlich gesteuerten Abschalten kontinuierlich ausgeführt werden.
15. Vorrichtung, wie sie in einem oder mehreren der vorhergehenden Ansprüche dargelegt ist, mit einem Datenspeichermedium, das ein Computerprogramm enthält, wobei das Programm folgendes umfaßt:
eine Abbildung von Bildschirmen, wobei die Bildschirme von einem Serviceprozessor erzeugt werden, wenn der Serviceprozessor ordnungsgemäß funktioniert, wobei die Abbildung anzeigt, welche Bildschirme als Menüs zum Zugreifen auf andere, in der Hierarchie niedrigere Bildschirme dienen; und
mit der Abbildung verbundene Mittel zum Steuern des Serviceprozessors, daß er Bildschirme in der Hierarchie gemäß mindestens einem Pfad von Bildschirmen in der Hierarchie aufruft und die Pfade der aufgerufenen Bildschirme mit der Abbildung vergleicht, um zu bestimmen, ob der Serviceprozessor ordnungsgemäß funktioniert.
16. Vorrichtung, wie sie in Anspruch 15 dargelegt ist, wobei die Bildschirme Endpunktbildschirme umfassen, die Speicher in einem vom Serviceprozessor bedienten Computer darstellen, und wobei das Computerprogramm desweiteren Mittel zum Steuern des Serviceprozessors, daß er die Endpunktbildschirme des Serviceprozessors prüft, aufweist.
17. Vorrichtung, wie sie in Anspruch 15 dargelegt ist, wobei das Endpunktbildschirm-Prüfmittel den Serviceprozessor steuert, daß er einige, jedoch nicht alle Speicherfelder innerhalb des Endpunktbildschirms prüft.
18. Vorrichtung, wie sie in Anspruch 17 dargelegt ist, wobei das Computerprogramm desweiteren Mittel zum Steuern des Serviceprozessors umfaßt, daß er einen größeren Anteil von Speichergrenzfeldern als von Speicherinnenfeldern innerhalb des Endpunktbildschirms prüft.
19. Vorrichtung, wie sie in Anspruch 1 dargelegt ist, wobei
die Speichermittel Bildschirme, einschließlich der vom Serviceprozessor erzeugten ersten, zweiten und dritten Bildschirme darstellen, und die hierarchischen Zusammenhänge zwischen den Bildschirmen anzeigen, welche Bildschirme als Menüs zum Auswählen von anderen, in der Hierarchie niedrigeren Bildschirmen dienen, wobei die Bildschirme Aspekte eines vom Serviceprozessor bedienten Computers (10) darstellen, wobei der erste Bildschirm als ein Menü zum Auswählen von entweder dem zweiten Bildschirm oder dem dritten Bildschirm, die in der Hierarchie niedriger sind, dient;
das erste Erzeugermittel mit den Speichermitteln verbunden ist, um die Darstellung des ersten Bildschirms aus den Speichermitteln zu lesen und um ein Programm zu erzeugen, um dem Serviceprozessor zu befehlen, den zweiten Bildschirm aufzurufen und den vom Serviceprozessor tatsächlich aufgerufenen Bildschirm als Antwort auf den Befehl mit dem zweiten, aus den Speichermitteln erhaltenen Bildschirm zu vergleichen, um zu bestimmen, ob der Serviceprozessor ordnungsgemäß funktioniert.
20. Vorrichtung, wie sie in Anspruch 19 dargelegt ist, wobei
das zweite Erzeugermittel mit den Speichermitteln verbunden ist, um Bildschirme in einer Vielzahl von Pfaden zu kennzeichnen, die mit dem ersten Bildschirm beginnen und zu einer anderen Ebene in der Hierarchie führen, wobei ein erster der Pfade den ersten Bildschirm, den dritten Bildschirm und einen vierten Bildschirm, auf den durch den dritten Bildschirm zugegriffen wird, enthält; und wobei
das erste Erzeugermittel außerdem mit dem zweiten Erzeugermittel verbunden ist und Mittel zum Lesen der Darstellung von Bildschirmen in dem mit dem ersten Bildschirm beginnenden Pfad, zum Erzeugen eines Programms zum Steuern des Serviceprozessors, daß er den dritten Bildschirm aufruft und den vom Serviceprozessor tatsächlich aufgerufenen Bildschirm als Antwort auf den Befehl mit dem dritten, aus den Speichermitteln erhaltenen Bildschirm vergleicht, um zu bestimmen, ob der Serviceprozessor ordnungsgemäß funktioniert, und zum Lesen der Darstellung des dritten Bildschirms und zum Erzeugen eines Programms umfaßt, um dem Serviceprozessor zu befehlen, den vierten Bildschirm aufzurufen und den vom Serviceprozessor tatsächlich aufgerufenen Bildschirm als Antwort auf den Befehl mit dem vierten, aus den Speichermitteln erhaltenen Bildschirm zu vergleichen, um zu bestimmen, ob der Serviceprozessor ordnungsgemäß funktioniert.
21. Vorrichtung, wie sie in Anspruch 19 dargelegt ist, wobei
das zweite Erzeugermittel mit den Speichermitteln verbunden ist, um Sätze von Bildschirmen zu kennzeichnen, wobei jeder Satz mindestens zwei Bildschirme umfaßt, von denen einer den Menüzugriff auf den anderen Bildschirm bereitstellt; und wobei
das erste Erzeugermittel außerdem mit dem zweiten Erzeugermittel verbunden ist und Mittel zum Lesen der Darstellung von Bildschirmen in den Sätzen, wobei mit einem Bildschirm in jedem Satz begonnen wird, und zum Erzeugen eines Computerprogramms zum Steuern des Serviceprozessors umfaßt, daß er den anderen Bildschirm im Satz aufruft und den vom Serviceprozessor tatsächlich aufgerufenen Bildschirm als Antwort auf den Befehl mit dem anderen, aus den Speichermitteln erhaltenen Bildschirm vergleicht, um zu bestimmen, ob der Serviceprozessor ordnungsgemäß funktioniert.
22. Vorrichtung, wie sie in Anspruch 19 dargelegt ist, wobei die Speichermittel eine Wissensbasis eines Expertensystems umfaßt, in dem Regeln/Fakten (111) der Wissensbasis die Bildschirme und die hierarchischen Zusammenhänge zwischen den Bildschirmen definieren.
DE69023420T 1989-08-16 1990-07-11 Dienstprozessorprüfer. Expired - Fee Related DE69023420T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/394,696 US5067129A (en) 1989-08-16 1989-08-16 Service processor tester

Publications (2)

Publication Number Publication Date
DE69023420D1 DE69023420D1 (de) 1995-12-14
DE69023420T2 true DE69023420T2 (de) 1996-06-20

Family

ID=23560044

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69023420T Expired - Fee Related DE69023420T2 (de) 1989-08-16 1990-07-11 Dienstprozessorprüfer.

Country Status (4)

Country Link
US (1) US5067129A (de)
EP (1) EP0413133B1 (de)
JP (1) JPH0675253B2 (de)
DE (1) DE69023420T2 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2804125B2 (ja) * 1989-11-08 1998-09-24 株式会社日立製作所 情報処理システムの障害監視装置と制御方法
US5214653A (en) * 1990-10-22 1993-05-25 Harris Corporation Fault finder expert system
GB2278213A (en) * 1993-05-18 1994-11-23 Ibm Test program generator.
US5870590A (en) * 1993-07-29 1999-02-09 Kita; Ronald Allen Method and apparatus for generating an extended finite state machine architecture for a software specification
US5414836A (en) * 1993-09-29 1995-05-09 International Business Machines Corporation Software testing system that employs a graphical interface to generate test cases configured as hybrid tree structures
US5629878A (en) * 1993-10-07 1997-05-13 International Business Machines Corporation Test planning and execution models for generating non-redundant test modules for testing a computer system
US5648898A (en) * 1994-12-19 1997-07-15 Caterpillar Inc. Method for programming a vehicle monitoring and control system
US5724242A (en) * 1995-03-21 1998-03-03 Caterpillar Inc. Method for producing production control software for a natural gas engine controller
US6269300B1 (en) 1995-03-29 2001-07-31 Caterpillar Inc. Method for producing production control software for a natural gas or diesel engine controller
US5845064A (en) * 1995-09-11 1998-12-01 Digital Equipment Corporation Method for testing and verification of a CPU using a reference model
US5913023A (en) * 1997-06-30 1999-06-15 Siemens Corporate Research, Inc. Method for automated generation of tests for software
JP4190610B2 (ja) * 1998-02-18 2008-12-03 富士通株式会社 ロードモジュールの試験ルート決定装置
US6357020B1 (en) * 1999-02-01 2002-03-12 International Business Machines Corporation Method and system for low level testing of central electronics complex hardware using Test nano Kernel
US6574764B2 (en) * 2001-04-25 2003-06-03 Agilent Technologies, Inc. Algorithmically programmable memory tester with history FIFO's that aid in error analysis and recovery
US6907550B2 (en) * 2002-02-28 2005-06-14 Microsoft Corporation Stochastic simulation of computer activity based on user categories
US20050114066A1 (en) * 2003-11-24 2005-05-26 Kolman Robert S. Method and apparatus for detecting and correcting invalid test definition data
US20050172182A1 (en) * 2004-01-15 2005-08-04 Elias Gedamu Optimal operational voltage identification for a processor design
US20050159925A1 (en) * 2004-01-15 2005-07-21 Elias Gedamu Cache testing for a processor design
US20050172178A1 (en) * 2004-01-15 2005-08-04 Elias Gedamu Cache-testable processor identification
US8881105B2 (en) * 2007-04-11 2014-11-04 Patrick J. Quilter, Jr. Test case manager
US9317411B2 (en) 2013-07-31 2016-04-19 Bank Of America Corporation Testing coordinator
US10127141B2 (en) 2017-02-20 2018-11-13 Bank Of America Corporation Electronic technology resource evaluation system
JP7259949B2 (ja) * 2019-05-30 2023-04-18 日本電信電話株式会社 テストスクリプト生成装置、テストスクリプト生成方法及びプログラム

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1479122A (en) * 1975-12-11 1977-07-06 Ibm Method of operating a computer to produce test case programmes
GB1510240A (en) * 1976-11-25 1978-05-10 Ibm Method of operating a computer to produce test case programmes
EP0052684B1 (de) * 1980-11-26 1985-09-04 International Business Machines Corporation Testverfahren für eine Anzeigseinrichtung
DE3116079A1 (de) * 1981-04-23 1982-11-11 Robert Bosch Gmbh, 7000 Stuttgart Pruefsystem
FR2531230A1 (fr) * 1982-07-27 1984-02-03 Rank Xerox Sa Ensemble destine au test automatique centralise de circuits imprimes et procede de test de circuits a microprocesseur faisant application de cet ensemble
JPS5945561A (ja) * 1982-09-07 1984-03-14 Mitsubishi Electric Corp 電子計算機のサ−ビスプロセツサ
US4550406A (en) * 1983-06-14 1985-10-29 Everett/Charles Test Equipment, Inc. Automatic test program list generation using programmed digital computer
US4606025A (en) * 1983-09-28 1986-08-12 International Business Machines Corp. Automatically testing a plurality of memory arrays on selected memory array testers
US4649515A (en) * 1984-04-30 1987-03-10 Westinghouse Electric Corp. Methods and apparatus for system fault diagnosis and control
US4654852A (en) * 1984-05-15 1987-03-31 International Business Machines Corporation On-line problem-determination procedure for diagnosis of faults in a data-processing system
US4727473A (en) * 1986-01-02 1988-02-23 Fischer & Porter Company Self-learning mechanism for a set of nested computer graphics
US4759019A (en) * 1986-07-10 1988-07-19 International Business Machines Corporation Programmable fault injection tool
US4766595A (en) * 1986-11-26 1988-08-23 Allied-Signal Inc. Fault diagnostic system incorporating behavior models
JPH02108134A (ja) * 1988-10-17 1990-04-20 Fujitsu Ltd 自動試験方式
US4970725A (en) * 1989-03-14 1990-11-13 Westinghouse Electric Corp. Automated system testability assessment method
US4932021A (en) * 1989-04-03 1990-06-05 At&T Bell Laboratories Path learning feature for an automated telemarketing system

Also Published As

Publication number Publication date
JPH0388046A (ja) 1991-04-12
EP0413133A3 (en) 1992-02-26
DE69023420D1 (de) 1995-12-14
EP0413133B1 (de) 1995-11-08
JPH0675253B2 (ja) 1994-09-21
US5067129A (en) 1991-11-19
EP0413133A2 (de) 1991-02-20

Similar Documents

Publication Publication Date Title
DE69023420T2 (de) Dienstprozessorprüfer.
DE69030862T2 (de) Automatisches Ikonerzeugungssystem
DE69932371T2 (de) Verschiebbare Instrumentationskennzeichen für die Prüfung und die Fehlerbeseitigung eines Computerprogramms
DE60001916T2 (de) Plattformunabhängige speicherabbild analysearchitektur zur programmfehlerbeseitigung
DE3850051T2 (de) Graphischer Menübaum.
DE69216020T2 (de) Verbessertes fehlersuchsystem und -verfahren, besonders für die fehlersuche in einer multi-architekturumgebung
DE69720821T2 (de) Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle
DE69024515T2 (de) Gerät zur Streckenmessung und -analyse zur Leistungsabschätzung von Software-Entwürfen
DE3787496T2 (de) Verfahren und Einrichtung zum Steuern von Mehrfenstern und Arbeitsstation mit Mehrfensterfunktion.
DE68926428T2 (de) Personalisierung von Benutzerschnittstellen für Anwendungsprogramme
DE19747396C2 (de) Verfahren und Anordnung zur Schaffung einer Ferndiagnose für ein elektronisches System über ein Netz
DE69935103T2 (de) System zur dynamischen Diagnose einer Vorrichtung
DE68926130T2 (de) Diagnoseexpertensystem
DE60004628T2 (de) Bestimmung eines Systemmodells für Fehlererkennung und Lokalisierung, insbesondere in Rechnersystemen
DE69022842T2 (de) Verwendung von Befehlsähnlichkeiten in einem intelligenten Hilfssystem.
DE60021066T2 (de) Prüfung eines Softwarepakets
DE102005016561B4 (de) Verfahren und Vorrichtung zur strukturierten Erfassung und Bearbeitung von in einem System auftretenden Problemen
DE3833933C2 (de) Informationsverarbeitungseinrichtung mit einer Adressenerweiterungsfunktion
DE3911465C2 (de) Verfahren zur automatischen Konfiguration technischer Systeme aus Komponenten
DE68915847T2 (de) Tastatur-Umbelegung.
DE3688191T2 (de) Editor für virtuelle Maschinen.
DE102006056432A1 (de) Verfahren zum Testen eines Computerprogramms
DE10205111A1 (de) Dynamische Benutzerschnittstelle zum Erleichtern der Verwendung einer Netzvorrichtungsfähigkeit
DE19960050A1 (de) Grafische Benutzerschnittstelle zur Entwicklung von Anwendungsbeispielen unter Verwendung einer Testobjektbibliothek
DE19949377A1 (de) Automatische Speicherung einer Trigger-Definition in einem Signalmeßsystem

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee