DE60002455T2 - Verfahren und vorrichtung zur automatischen softwareprüfung - Google Patents

Verfahren und vorrichtung zur automatischen softwareprüfung Download PDF

Info

Publication number
DE60002455T2
DE60002455T2 DE60002455T DE60002455T DE60002455T2 DE 60002455 T2 DE60002455 T2 DE 60002455T2 DE 60002455 T DE60002455 T DE 60002455T DE 60002455 T DE60002455 T DE 60002455T DE 60002455 T2 DE60002455 T2 DE 60002455T2
Authority
DE
Germany
Prior art keywords
software
test
testing
test criteria
register
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 - Lifetime
Application number
DE60002455T
Other languages
English (en)
Other versions
DE60002455D1 (de
Inventor
Richard Beresford Ipswich WARD
John Alexander Ipswich GRAHAM
Martin Richard Harleston AYLETT
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.)
British Telecommunications PLC
Original Assignee
British Telecommunications PLC
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
Priority claimed from GBGB9907438.7A external-priority patent/GB9907438D0/en
Application filed by British Telecommunications PLC filed Critical British Telecommunications PLC
Publication of DE60002455D1 publication Critical patent/DE60002455D1/de
Application granted granted Critical
Publication of DE60002455T2 publication Critical patent/DE60002455T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Description

  • Die vorliegende Erfindung bezieht sich auf Softwareprüfung und insbesondere auf eine Einheit zur Durchführung der Prüfung von Software. Die Erfindung ist vorzugsweise, aber nicht ausschließlich für die Verwendung bei Software gedacht, bei der objektorientierte Programmiersprachen wie C++, Corba oder Java eingesetzt werden.
  • Das automatische Prüfen von Software bei ihrer Entwicklung ist bekannt. Die Tests werden als Teil eines Software-Entwicklungsprozesses entworfen, und sie werden dann in spezielle Testwerkzeuge als Programme eingebunden und automatisch ausgeführt. Viele Werkzeuge (Tools) sind kommerziell erhältlich als Unterstützung für diese Art der Softwareentwicklung.
  • Software, die sich beim Betrieb selber prüft, ist ebenfalls bekannt und wird in großem Umfang entwickelt und angewendet. Darin enthalten sein kann das Prüfen von Vor- und Nachbedingungen sowie das Durchsetzen und das Suchen nach Ausnahmezuständen an geeigneten Punkten in der Software während ihres normalen Ablaufs (siehe "Self Testing Systems", M. Aylett und P. Utton, BT Technology Journal 1992).
  • Die bekannten Prüfsysteme ermöglichen End-zu-End-Tests auf Betriebssystemen, um den Betrieb individueller Einrichtungen zu testen. Jedoch gibt es gegenwärtig keine Prüfsysteme, die ohne weiteres Test auf niedriger Ebene zulassen, die in einem vollständig integrierten und eingerichteten System laufen. Diese Tests werden oft als "Einheitentest" bezeichnet und werden direkt auf eine oder mehrere individuelle Code-Einheiten angewendet (z. B. eine Funktion, ein Verfahren, ein Modul oder ein Agent). Dies steht im Gegensatz zu den End-zu-End-Tests eines Systems, die über ein System oder eine Nutzerschnittstelle laufen. Einheitentests werden gegenwärtig bei der Entwicklung vor der Integration manuell oder automatisch durchgeführt.
  • Von Robert V. Binder wird in "Design for Testability in Object-Oriented Systems", Communications of the Association für Computing Machinery, Band 37, Nr. 9, September 1994 (1994–09), Seite 87–101, ein Verfahren zum Testen eines objektorientierten Systems beschrieben, bei dem ein Testtreiber einen Satz von Testkriterien aus einer zu einem Element von Software gehörenden Testspezifikation erzeugt. Der Testtreiber prüft das Element der Software in Übereinstimmung mit den erzeugten Testkriterien und nimmt das Ergebnis auf und evaluiert es.
  • Die vorliegende Erfindung wird in den unabhängigen Ansprüchen definiert.
  • In Übereinstimmung mit der vorliegenden Erfindung wird ein Verfahren zum Prüfen eines integrierten Betriebssystems angegeben, wobei das System mehrere Softwareelemente hat und die Schritte umfasst:
    • a) Automatisches Registrieren jedes aktiven Elements der Software in einem Register,
    • b) Assoziieren eines Satzes von Testkriterien mit jedem Softwareelement,
    • c) Auswählen eines Elements für die Prüfung aus denen, die in dem Register registriert sind, und Prüfen des Elements in Übereinstimmung mit dem assoziierten Satz von Testkriterien und
    • d) Sammeln von Ergebnissen der Prüfung des Elements und Vergleichen von ihnen mit den assoziierten Testkriterien.
  • Dies hat den Vorteil, dass Einheitentests in einem integrierten Softwaresystem während des Betriebes ausgeführt werden können, so dass eine schnelle Identifizierung latenter oder neu hinzugekommener Fehler in der Software möglich wird.
  • 1 ist eine schematische Darstellung eines Computers, auf dem eine Software läuft, als Ausführungsform der vorliegenden Erfindung.
  • 2 ist ein Blockdiagramm der Programmelemente der Software nach 1.
  • 3 ist ein Flussdiagramm, das einen Teil des Ablaufs der Software nach 2 zeigt.
  • 4a und 4b sind Tabellen zur Darstellung der Datenstrukturen, die verwendet werden und erzeugt werden durch Programmelemente nach 2.
  • 5 ist ein Flussdiagramm, das einen weiteren Teil des Ablaufs der Software nach 2 zeigt.
  • 1 zeigt einen konventionellen Computer 101, wie z. B. einen PC, auf dem ein konventionelles Betriebssystem 103, wie z. B. Windows, läuft und eine Anzahl von Applikationsprogrammen 105 vorhanden ist, wie z. B. ein Textverarbeitungsprogramm, ein Netz-Browser sowie ein E-Mail-Programm oder ein Datenbankprogramm. Der Computer 101 hat außerdem ein Software-Entwicklungsprogramm 107, das es dem Nutzer ermöglicht, neue Programme zu schreiben und zu kompilieren, sowie ein Prüfprogramm 109, mit dem Programme geprüft werden können. Der Computer 101 ist außerdem mit einer konventionellen Plattenspeichereinheit 111 zum Speichern von Daten und Programmen, einer Tastatur 113 und einer Maus 115 für Eingaben des Nutzers sowie einem Drucker 117 und einer Anzeigeeinheit 119 als Ausgabeeinheiten des Computers 101 verbunden. Der Computer 101 hat über eine Netzkarte 121 außerdem Zugriff auf (nicht dargestellte) externe Netze.
  • Bei der konventionellen objektorientierten Programmierung werden die Programme in konzeptuelle Untereinheiten unterteilt, die Objekte genannt werden. Jedes Objekt führt vorgegebene Funktionen aus, im Wesentlichen auf die gleiche Art, wie es eine Subroutine beim konventionellen Programmieren tut. Objekte sorgen für die Verarbeitung von Daten und können mit anderen Objekten zusammenarbeiten, um gewisse Funktionen zu erfüllen. Eine solche Zusammenarbeit erfolgt über Schnittstellen zwischen den Objekten, die Argumente genannt werden und die zum Übermitteln von Befehlen, Anfragen und Daten zwischen den Objekten dienen.
  • Jedes Objekt gehört zu einer Kategorie von Objektklassen. In der Tat ist es die Klasse eines Objekts, durch die die Funktionen und Eigenschaften eines Objekts festgelegt werden. Ein Objekt ist seinerseits eine Verkörperung (oder Instanz) der Klasse und kann erzeugt werden, um seine Funktion zu erfüllen, und gelöscht werden, sobald die Funktion erledigt ist. Die Erzeugung eines Objekts bei einer gegebenen Klasse erfolgt unter Überwachung durch einen Erzeugungsalgorithmus. Zusätzlich dient der entsprechende Löschalgorithmus jeder Klasse dazu, den Eintrag zu entfernen, wenn das entsprechende Objekt gelöscht wurde.
  • Jedes Objekt beinhaltet ein oder mehrere Verfahren. Jedes Verfahren ist eine Subroutine, die mit anderen Verfahren die Funktionen des Objekts an sich darstellt. Die Verfahren können mit andern Objekten zusammenarbeiten, um Funktionen/Verarbeitungen als Teil des Verfahrens durchzuführen. Die Verfahren werden ebenfalls durch die Klasse des Objekts definiert, wie es auch bei den Argumenten des Objekts der Fall ist.
  • Zusammenfassend, Objekte sind Funktionseinheiten des Softwarecodes, dessen Funktionen definiert werden durch die Klasse, von der ein gegebenes Objekt eine Instanz darstellt. Objekte können eine Anzahl von Zuständen einnehmen, die sich in Abhängigkeit von der Interaktion des Objekts mit anderen Objekten oder Daten ändern können. Die kombinierte Interaktion der Objekte, aus denen ein Computerprogramm besteht, bilden die Funktionen des Programms an sich.
  • In 2 umfasst das Prüfprogramm 109 fünf Hauptkomponenten, eine Testeinrichtung 201, ein Objektregister 203, einen Berichterstatter 205, einen Testkriterienspeicher 207 und einen Analysealgorithmus 209. Die Testeinrichtung 201 führt die Prüfung jedes Objekts in dem Softwareprogramm, das getestet wird, durch und leitet die Ergebnisse des Tests an den Berichterstatter 205. Das Objektregister 203 liefert der Testeinrichtung 201 eine Liste von Objekten, die zu einem gegebenen Zeitpunkt Teil des Programms sind (wie oben erwähnt, können Objekte im Ablauf eines Programms erzeugt und gelöscht werden). Der Testkriterienspeicher 207 wird verwendet, um die Daten und/oder Befehle zu speichern, die notwendig sind, um jedes der Objekte zu prüfen, die in dem Objektregister 203 registriert sind. Bei der vorliegenden Ausführungsform stehen die Daten und/oder Befehle in dem Testkriterienspeicher 207 der Testeinrichtung 201 sofort zur Verfügung. Jedoch können in manchen Fällen die Daten auch mit einer Script-Sprache codiert werden. In diesem Fall würde der Analysealgorithmus 209 verwendet werden, um die Daten/Befehle in eine Form zu bringen, in der sie von der Testeinrichtung 201 verwendet werden können. Die Funktionen und Interaktionen der fünf Hauptkomponenten wird genauer weiter unten beschrieben.
  • 2 zeigt außerdem ein Programmobjekt 211, das durch die Testeinrichtung 201 geprüft wird. Das Objekt 211 ist ein Standardobjekt, hat aber drei zusätzliche Funktionalitätsbereiche, die es ihm ermöglichen, automatisch mit dem Testprogramm 109 zu interagieren. Die zusätzliche Funktionalität ist in der vorliegenden Ausführungsform durch zwei spezielle Verfahren 213, 215 gegeben, die zu jeder Klassendefinition in dem zu prüfenden Programm hinzukom men, und durch Hinzufügungen zu der Funktionalität des Erzeugungs- und Löschalgorithmus für das Programm.
  • In 3 erfolgt die Erzeugung in der Art, dass bei Einordnung eines Objektes in eine gegebene Klasse ein Eintrag in dem Objektregister 203 für das neue Objekt erfolgt (siehe Schritt 301 in Ablauf C). Dann folgt bei der Erzeugung im Schritt 303 die Identifizierung als Objekt in seinem Eintrag im Register 203 (jedes Objekt erhält eine eindeutige Identifizierung, wenn es bei der Erzeugung erstellt wird). Im Schritt 305 wird der Klassentyp des Objektes in der Liste für das Objekt eingetragen, und in Schritt 307 ist der entsprechende Klassenname eingetragen. Nach Schritt 307 wird die Registrierung abgeschlossen, und der Erzeugungsalgorithmus wird beendet.
  • Wie oben bemerkt, wird ein Objekt durch einen Löschalgorithmus gelöscht, wenn es nicht länger benötigt wird. Bei der vorliegenden Ausführungsform wird der Löschalgorithmus so ausgelegt, dass die Schritte in dem Ablauf D in 3 durchgeführt werden. Im Schritt 309 identifiziert der Löschalgorithmus den Eintrag im Register 203, der dem Objekt entspricht, das gelöscht wird, und im Schritt 311 wird der Eintrag aus dem Register 203 entfernt.
  • In 4a hat jede Klasse von Objekten eine Testkriteriendatei, die in dem Testkriterienspeicher 207 gespeichert wird, wenn das erste Objekt dieser Klasse in das Objektregister 203 eingetragen wird. Die Kriterien werden bei der Erstellung und Implementierung des Computerprogramms, das getestet werden soll, erzeugt, und ihr genauer Aufbau hängt von den verwendeten Testverfahren ab. Bei der vorliegenden Ausführungsform wird ein Eintrag im Speicher 207 bei jeder Klasse 401 gemacht. Bei jeder Klasse wird bei jedem Verfahren ein Eintrag 403 innerhalb der Klasse gemacht. Bei jedem Verfahren 403 wird eine Definition der Eingabe 405 für das Verfahren, des Ausgabewertes 407 des Verfahrens, des Startzustandes 409 des Objekts, wenn das Verfahren durchgeführt wird, und des Endzustandes 411 des Objekts bei Beendigung des Verfahrens in dem Speicher 207 eingetragen.
  • Der Betrieb der Testeinrichtung 201 wird im Folgenden mit Bezug auf 5 beschrieben, in der bei Schritt 501 die Testeinrichtung 201 einen Befehl erwartet, um mit der Prüfung zu beginnen. Bei der vorliegenden Ausführungsform wird der Befehl von einem Nutzer eingegeben. Sobald der Befehl empfangen wurde, wählt die Testeinrichtung 201 in Schritt 503 aus dem Register 203 die Klasse der Objekte, die getestet werden sollen. Bei der vorliegenden Ausführungsform reagiert das System auf einen Befehl eines Nutzer, mit dem Prüfen zu beginnen, und wählt zufällig ein Verfahren. Jedoch kann auch der Befehl oder die Wahl des Verfahrens in Übereinstimmung mit einem vordefinierten Testplan oder in Abhängigkeit von Anfragen oder Ereignissen anderer Objekte oder Programme zufällig erfolgen.
  • Im Schritt 505 verwendet die Testeinrichtung 201 das erste spezielle Verfahren 213 zum Bestimmen der Anzahl der Verfahren in dem gewählten Objekt. Das Verfahren 213 gibt wie in 4b gezeigt Daten zurück, die die Klasse des Objekts 413 beschreiben, sowie Identifikationen 415 jedes der Verfahren in dem Objekt und eine Beschreibung 417 der Argumente für jedes der Verfahren. Im Schritt 507 identifiziert die Testeinrichtung 201 unter Verwendung der Klassenidentifizierung durch das Verfahren 213 die geeigneten Test kriterien in dem Testkriterienspeicher 207, und bei Schritt 509 wird das gewählte Verfahren in Bezug auf die identifizierten Testkriterien ablaufen gelassen.
  • Im Schritt 511 wird durch die Testeinrichtung 201 das zweite spezielle Verfahren 215 eingesetzt, und die Ergebnisse des Testlaufs werden bei dem Verfahren gesammelt. Die genauen Daten, die gesammelt werden, werden durch die Testkriterien festgelegt und können die Ausgangsdaten des getesteten Verfahrens, den Endzustand des Objekts, von dem das Verfahren ein Teil ist, sowie eine Liste von anderen Objekten oder Verfahren beinhalten, mit denen das Verfahren als Folge des Tests interagiert hat. Im Schritt 513 werden die Testdaten, die in dem vorangehenden Schritt gesammelt wurden, mit den Testkriterien verglichen, und die Ergebnisse des Vergleichs werden an den Berichterstatter 205 weitergegeben, um sie in einen Testbericht einzubauen. Nach Schritt 513 springt die Testeinrichtung zu Schritt 501 zurück, um weitere Testinstruktionen abzuwarten.
  • Das Prüfprogramm 201 dient dazu, Testprozeduren bezüglich eines Programms durchzuführen, während das Programm in Betrieb ist. Bei manchen Betriebssystemen kann das Prüfprogramm 201 eingerichtet werden, um als Hintergrundprozess zu laufen, oder eingerichtet werden, um zu arbeiten, wenn ein vorgegebener Umfang an restliche Ressourcen des Prozessors zur Verfügung steht.
  • Dem Fachmann ist klar, dass es bei manchen Systemen notwendig sein kann, Mittel vorzusehen, um Änderungen der Laufzeit eines Softwareelements bei der Prüfung zu vermeiden. Dies kann in Form von Laufzeittestschaltern erfolgen, die in ihrer Funktion einem Debug-Kompiler-Schalter ähneln. Bei manchen Systemen kann es notwendig sein, Mittel vorzusehen, um den Zustand von irgendwelchen konstanten Variablen (Variablen, die nach Ausführung ihren Zustand beibehalten) wiederherzustellen, die durch die Tests beeinflusst worden sind. Dies kann durch Kopieren der konstanten Variablen vor einem Test und ihre nachträgliche Wiederherstellung erfolgen.
  • Dem Fachmann ist außerdem klar, dass das System, das getestet wird, in der Praxis verteilt sein kann. Beispielsweise kann das Testen in einem Netzwerk erfolgen, und Einheiten des Codes sind über viele Computer verteilt. Außerdem kann das System während der Konstruktion und Herstellung eines Softwaresystems von Entwicklern verwendet werden oder als Teil der Funktionalität von Programmen bereitgestellt werden, die betriebsfertig sind.
  • Das Prüfprogramm ist vorzugsweise in derselben Sprache geschrieben wie das Programm, das mit ihm geprüft werden soll. Obgleich die obige Ausführungsform das Prüfen einer objektorientierten Programmiersprache beschreibt, ist dem Fachmann jedoch klar, dass die Prinzipien der Erfindung auch auf andere Programmiersprachen anwendbar sind. Andere derartige Sprachen können modulare Programmiersprachen (wie z. B. Modula-2) oder sequenzielle Programmiersprachen (wie z. B. Pascal) sein. Außerdem sollte klar sein, dass der Ausdruck "Objekt" in dieser Beschreibung eine breite Bedeutung hat und Funktionen, Verfahren, Module oder Agenten abdeckt.
  • Dem Fachmann ist klar, dass das Prüfprogramm 109 auch auf verschiedenen Übertragungs- und/oder Speichermedien, wie z. B. einer Diskette, einer CD-ROM oder einem Magnetband vorliegen kann, so dass das Programm auf einen oder mehrere Standardcomputer geladen werden kann oder über ein Computernetz mit einem geeigneten Transmissionsmedium heruntergeladen werden kann.
  • Soweit aus dem Kontext nichts anderes eindeutig hervorgeht, sollen in der Beschreibung und den Ansprüchen die Worte "umfassen", "umfassend" u. dgl. als einschließlich und nicht ausschließlich verstanden werden; mit anderen Worten im Sinne von "einschließlich, aber nicht ausschließlich".

Claims (12)

  1. Verfahren zum Prüfen eines integrierten Betriebssystems, wobei das System mehrere Softwareelemente hat, welches die Schritte umfasst: a) Assoziieren eines Satzes von Testkriterien mit einem oder mehreren Softwareelementen, b) Sammeln (511) von Ergebnissen der Prüfung des Elements und Vergleichen (513) von ihnen mit den assoziierten Testkriterien, gekennzeichnet durch die Schritte: c) automatisches Registrieren jedes aktiven Elements der Software in einem Register und d) Auswählen (503) eines Elements für die Prüfung aus denen, die in dem Register registriert sind, und Prüfen (509) des Elements in Übereinstimmung mit dem assoziierten Satz von Testkriterien.
  2. Verfahren nach Anspruch 1, bei dem jedes Softwareelement so angelegt ist, dass es automatisch seine Identifizierung in dem Register registriert.
  3. Verfahren nach Anspruch 1 oder 2, bei dem jedes Softwareelement so angelegt ist, dass es die Ergebnisse seiner Prüfung sammelt.
  4. Verfahren nach einem der Ansprüche 1 bis 3, das außerdem als Schritt das automatische Erstellen eines Berichtes über die Ergebnisse der Prüfung umfasst.
  5. Verfahren nach einem der vorangehenden Ansprüche, bei dem die Testkriterien definiert werden unter Verwendung einer Script-Sprache und das Verfahren außerdem als Schritt die Durchführung eines Analysealgorithmus der Testkriterien umfasst, um sie in eine Form zu bringen, damit sie zur Prüfung hergezogen werden können.
  6. Vorrichtung zum Prüfen eines integrierten Betriebssystems, wobei das System mehrere Softwareelemente umfasst, wobei die Vorrichtung umfasst: a) Einrichtung (203) zum Assoziieren eines Satzes von Testkriterien mit einem oder mehreren Softwareelementen, b) Einrichtung (201) zum Prüfen der Software und Vergleichen der Ergebnisse der Prüfung des Elements mit den assoziierten Testkriterien, gekennzeichnet durch: c) Einrichtung (207) für das automatische Registrieren jedes aktiven Elements der Software in einem Register und d) Einrichtung (201) zum Auswählen eines Software-Elements für die Prüfung aus denen, die in dem Register registriert sind, und Prüfen des Elements in Übereinstimmung mit dem assoziierten Satz von Testkriterien.
  7. Vorrichtung nach Anspruch 6, bei der jedes Softwareelement so angelegt ist, dass es automatisch seine Identifizierung in dem Register registriert.
  8. Vorrichtung nach Anspruch 6 oder 7, bei der jedes Softwareelement so angelegt ist, dass es die Ergebnisse seiner Prüfung sammelt.
  9. Vorrichtung nach einem der Ansprüche 6 bis 8, die außerdem eine Einrichtung für das automatische Erstellen eines Berichtes über die Ergebnisse der Prüfung umfasst.
  10. Vorrichtung nach einem der Ansprüche 6 bis 9, bei der die Testkriterien definiert werden unter Verwendung einer Script-Sprache und die Vorrichtung außerdem eine Einrichtung für die Durchführung eines Analysealgorithmus der Testkriterien umfasst, um sie in eine Form zu bringen, damit sie zur Prüfung herangezogen werden können.
  11. Datenträger, der in einem Computer geladen werden kann und Instruktionen enthält, um den Computer zu veranlassen, das Verfahren nach Anspruch 1 durchzuführen.
  12. Datenträger, der in einem Computer geladen werden kann und Instruktionen enthält, um den Computer in die Lage zu versetzen, die Vorrichtung nach Anspruch 6 herzustellen.
DE60002455T 1999-03-31 2000-03-10 Verfahren und vorrichtung zur automatischen softwareprüfung Expired - Lifetime DE60002455T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB9907438.7A GB9907438D0 (en) 1999-03-31 1999-03-31 Method and apparatus for automated software testing
GB9907438 1999-03-31
EP99305543 1999-07-13
EP99305543 1999-07-13
PCT/GB2000/000882 WO2000058836A1 (en) 1999-03-31 2000-03-10 Method and apparatus for automated software testing

Publications (2)

Publication Number Publication Date
DE60002455D1 DE60002455D1 (de) 2003-06-05
DE60002455T2 true DE60002455T2 (de) 2004-02-26

Family

ID=26153537

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60002455T Expired - Lifetime DE60002455T2 (de) 1999-03-31 2000-03-10 Verfahren und vorrichtung zur automatischen softwareprüfung

Country Status (5)

Country Link
US (1) US7062753B1 (de)
EP (1) EP1171821B1 (de)
AU (1) AU3175200A (de)
DE (1) DE60002455T2 (de)
WO (1) WO2000058836A1 (de)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7539978B1 (en) * 2001-11-01 2009-05-26 Cigital, Inc. Method for understanding and testing third party software components
WO2003088149A1 (en) * 2002-04-17 2003-10-23 Compudigm International Limited Spatial file checking method and system
US7334218B2 (en) * 2002-09-02 2008-02-19 International Business Machines Corporation Method for adaptively assigning of data management applications to data objects
US7334219B2 (en) * 2002-09-30 2008-02-19 Ensco, Inc. Method and system for object level software testing
TWI262383B (en) * 2003-01-10 2006-09-21 Univ Nat Cheng Kung A generic software testing system and method
US7171653B2 (en) * 2003-06-03 2007-01-30 Hewlett-Packard Development Company, L.P. Systems and methods for providing communication between a debugger and a hardware simulator
US8074204B2 (en) * 2006-11-21 2011-12-06 Microsoft Corporation Test automation for business applications
US8561024B2 (en) * 2007-01-23 2013-10-15 International Business Machines Corporation Developing software components and capability testing procedures for testing coded software component
US8196105B2 (en) * 2007-06-29 2012-06-05 Microsoft Corporation Test framework for automating multi-step and multi-machine electronic calendaring application test cases
US20110131451A1 (en) * 2009-11-30 2011-06-02 Ricardo Bosch Methods and system for testing an enterprise system
US8549479B2 (en) 2010-11-09 2013-10-01 Verisign, Inc. Test automation tool for domain registration systems
DE102012103654A1 (de) * 2011-05-17 2012-11-22 International Business Machines Corp. Installieren und Prüfen einer Anwendung auf einer stark genutzten Computerplattform
CN112965910A (zh) * 2021-03-19 2021-06-15 携程旅游信息技术(上海)有限公司 自动化回归测试方法、装置、电子设备、存储介质
NL2027854B1 (en) 2021-03-29 2022-10-12 Novulo R&D B V Automatic testing of interrelated components of a software application

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6256774B1 (en) * 1996-12-06 2001-07-03 Sun Microsystems, Inc. Methods, systems, and computer program products for storing, loading, analyzing, and sharing references to recently used objects
US6002869A (en) * 1997-02-26 1999-12-14 Novell, Inc. System and method for automatically testing software programs
JP3395163B2 (ja) * 1997-12-08 2003-04-07 沖電気工業株式会社 通信ソフトウェアの自動検証装置及び方法

Also Published As

Publication number Publication date
EP1171821A1 (de) 2002-01-16
DE60002455D1 (de) 2003-06-05
US7062753B1 (en) 2006-06-13
WO2000058836A1 (en) 2000-10-05
EP1171821B1 (de) 2003-05-02
AU3175200A (en) 2000-10-16

Similar Documents

Publication Publication Date Title
DE69720821T2 (de) Fehlersuchsystem für Programme mit einer graphischen Benutzerschnittstelle
DE60002455T2 (de) Verfahren und vorrichtung zur automatischen softwareprüfung
DE69924296T2 (de) Ic-test programmiersystem zur zuordnung logischer funktionstestdaten von logischen integrierten schaltung zu einer physikalischen darstellung
DE60130840T2 (de) Vorrichtung und Verfahren zur Katalogisierung von symbolischen Daten zur Verwendung bei der Leistungsanalyse von Computerprogrammen
DE19836333C2 (de) Software Installation und Testen für ein gemäß einer Bestellung gebautes Computersystem
DE19650293C1 (de) Verfahren zum Testen von Systemkomponenten eines objektorientierten Programms
DE102005016561B4 (de) Verfahren und Vorrichtung zur strukturierten Erfassung und Bearbeitung von in einem System auftretenden Problemen
DE10300545B4 (de) Vorrichtung, Verfahren, Speichermedium und Datenstruktur zur Kennzeichnung und Speicherung von Daten
DE19960050A1 (de) Grafische Benutzerschnittstelle zur Entwicklung von Anwendungsbeispielen unter Verwendung einer Testobjektbibliothek
DE19717716A1 (de) Verfahren zur automatischen Diagnose technischer Systeme unter Berücksichtigung eines effizienten Wissenserwerbs und einer effizienten Bearbeitung zur Laufzeit
DE10127170A1 (de) Fehlersuchverfahren und Fehlersuchvorrichtung
EP1657670A1 (de) System und Verfahren zur Status- und Fortschriftskontrolle eines technischen Prozesses oder eines technischen Projektes
DE102019001129A1 (de) Numerische Steuervorrichtung
DE10324594A1 (de) Verfahren zum Bereitstellen einer verbesserten Simulationsfähigkeit eines dynamischen Systems außerhalb der ursprünglichen Modellierungsumgebung
DE112018002316T5 (de) Codeabdeckungsverfolgung für ein mikrocontroller-programm
WO2003029978A2 (de) Verfahren und system zur bearbeitung von fehlerhypothesen
DE102012210482A1 (de) Verfahren und System zum Migrieren von Geschäftsprozessinstanzen
DE10393511T5 (de) Programmentwicklungsunterstützungsvorrichtung, Programmausführungsvorrichtung, Kompilierverfahren und Diagnoseverfahren
DE60213786T2 (de) System und verfahren zur automatischen erfassung von aussagen in einer java-kompatibilitätsprüfumgebung
DE102022111835A1 (de) Verfahren und system zum bestimmen einer vorhergesagten vorgangszeit für einen fertigungsvorgang unter verwendung eines zeitvorhersagemodells
DE10057575A1 (de) Verfahren zur automatischen Softwaregenerierung
DE102010044039A1 (de) Verfahren und Vorrichtung zur Qualitätsanalyse von Systemmodellen
DE112004001955T5 (de) Benutzeroberflächensoftware-Entwurfssystem
DE102008048862A1 (de) Testmodul und Verfahren zum Testen einer O/R-Abbildungs-Middleware
DE102020206327A1 (de) Verfahren und Vorrichtung zum Prüfen eines technischen Systems

Legal Events

Date Code Title Description
8364 No opposition during term of opposition