WO1998025204A1 - Verfahren zum testen von systemkomponenten eines objektorientierten programms - Google Patents

Verfahren zum testen von systemkomponenten eines objektorientierten programms Download PDF

Info

Publication number
WO1998025204A1
WO1998025204A1 PCT/DE1997/002609 DE9702609W WO9825204A1 WO 1998025204 A1 WO1998025204 A1 WO 1998025204A1 DE 9702609 W DE9702609 W DE 9702609W WO 9825204 A1 WO9825204 A1 WO 9825204A1
Authority
WO
WIPO (PCT)
Prior art keywords
function
test
functions
replacement
test frame
Prior art date
Application number
PCT/DE1997/002609
Other languages
English (en)
French (fr)
Inventor
Wolfgang Glunz
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to EP97949889A priority Critical patent/EP1034475B1/de
Priority to DE59703703T priority patent/DE59703703D1/de
Priority to US09/308,739 priority patent/US6523169B1/en
Publication of WO1998025204A1 publication Critical patent/WO1998025204A1/de

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

Definitions

  • the invention relates to a method for testing system components of an object-oriented program.
  • System components are e.g. individual program modules or - in the case of an object-oriented development - classes.
  • the object on which the invention is based is to simplify and accelerate the testing of test units.
  • the object is achieved by the method according to the features of patent claim 1.
  • the invention describes the automatic generation of a minimal set of complete replacement functions (stubs) for use in the class and / or module test.
  • stubs complete replacement functions
  • a test frame class is instantiated locally in the function / method. This test frame class encapsulates a state machine, which is defined by the parameters (both return and transfer parameters) of the function that is replaced by the stub. If more logical operations are to be carried out within the stub, these can be added manually.
  • the mode can be, for example, that interactive commands corresponding to a command prompt Instruction set of an interpreter integrated in the test frame class are permitted, or that a command file is executed in the replacement function, which, for example, generates outputs according to the commands of the command file.
  • Execution of the command file is returned from the replacement function to the calling module.
  • Another replacement function as soon as it has been called up, provides the same functionality with its own parameters. This means that specific tests can be carried out for all replacement functions with one test frame class.
  • the encapsulation of the test frame class as a separate state machine enables flexible use in any replacement function.
  • the test frame class instantiated for the replacement function is initialized with the parameters (both transfer and return parameters). In this way, type-specific operations can be defined in the test frame class that are called interactively or from a command file.
  • test frame class An advantageous development of the method according to the invention consists in the interactive use of the test frame class. This interaction represents a functional scope of an integrated debugger with the command set defined in the test frame class. Thus, as with a debugger, interactive commands can be carried out on the parameters visible in the current function.
  • 1 shows a flow chart in which the individual method steps are shown
  • 2 shows a sketch which contains an exemplary embodiment of the method according to the invention
  • step la the set of replacement functions is determined. For example, depending on the type of test run, either replacement functions can be created automatically for all methods of an object-oriented program that have not yet been implemented, or nesting of method calls can be resolved by implementing any method of your choice as a replacement function in the call hierarchy . This gives a set of substitute functions that is complete in that at least all functions that have not yet been implemented are represented by substitute functions.
  • the automatic generation of replacement functions takes into account both the return parameter and the call parameters of the function to be replaced (see step 1b).
  • a general test frame class can be defined that implements a state machine for each replacement function, which depends on the one hand on the command set of the interpreter integrated in the test frame class, on the other hand through the set of parameters of the replacement function or, if the
  • Test Frame Class has the same command set for all replacement functions, which allows access to the replacement function-specific parameters (both transfer and return parameters). Furthermore, the functionality of the replacement function can be supplemented in such a way that the test frame class, after all replacement function-specific parameters have been defined, can be operated both interactively and that a command file can be processed independently. This corresponds to the initiation of the state machine (step lc). Interaction means that during the test run as soon as the respective replacement function is called, the user sees, for example, a command prompt on his screen, on which he can make entries in accordance with the command set specified in the test frame class. This process can also be automated by adding several of these
  • State machines of the test frame class allow commands to be combined in a command file that is executed instead of the interaction. Furthermore, it is possible to arrange execution of a command file and switching to the mode that expects interaction with the user in any order in a replacement function. Command files can thus run exclusively in replacement functions or serve as a supplement between interactions (step ld).
  • test cases can be easily automated by using the command files described above.
  • test frame class in any modules. Since all necessary parameters of the test frame class are communicated, and since the place for interaction in the program code can be individually defined, integrated debugging with a view of the currently valid variables is possible at the point in the program code where the interaction is permitted. For example, operations on types that contain complex data structures can be carried out with simple means.
  • the interactively permitted commands can be implemented individually in the test frame class. By encapsulating the functionality for executing certain commands in a test frame class, it is possible to provide the functionality of the test frame class for all replacement functions by simply instantiating the test frame class in the respective replacement function. 2 shows an exemplary version of the method according to the invention.
  • Object-oriented modeling can be done, for example, using the C ++ programming language.
  • the classes of the system software are expediently declared in corresponding class header files KLH.
  • the methods of the respective classes are implemented in the associated program files PrgF (eg files with the extensions .cpp or. C). If certain methods are now declared within the class header files KLH, but the corresponding concrete implementation within the program files PrgF is missing, the translator will issue an error message indicating that the implementation of the declared method could not be found (e.g. error message: "Unresolved Externais "). From this
  • a test frame generator TRG generates information about methods whose implementation either does not yet exist or is not to be used via a substitute function generator EFG in accordance with substitute functions EF.
  • the test frame generator TRG searches for the appropriate declaration and uses it to determine the return and call parameters.
  • the equivalent function EF also receives the same call and return parameters.
  • a test frame class is instantiated in this replacement function.
  • the test frame class has its own methods that allow the transfer and return parameters of the replacement function EF to be communicated to the instantiated test frame class.
  • a mode can be agreed within the substitute function EF which, when this substitute function EF is called, either allows interaction at a command prompt or the execution of a command script.
  • the user can enter various commands at a command prompt, which are agreed within the test frame class.
  • a command prompt which are agreed within the test frame class. This corresponds to a kind of interpreter that defines one defined by the test frame class over a certain one Represents the set of state machines with the parameters of the replaced function.
  • Replacement function generator EFG carried out. You get a universal tool that is easy to use for different test cases and can be used either manually (in interactive mode) or automatically (using command files) or both.

Abstract

In dem Verfahren werden Systemkomponenten eines objektorientierten Programms getestet, indem verschachtelte Abhängigkeiten von Methoden aufgelöst werden derart, daß eine beliebige Methode durch einen Stub (=Ersatzfunktion) ersetzt wird. Dabei werden Methoden ohne Implementierung entdeckt und als Stubs realisiert. Ein Testrahmengenerator erzeugt Stubs, die über dieselben Aufruf- und Rückgabeparameter verfügen wie die zu ersetzende Funktion. Weiterhin impliziert die Ersatzfunktion einen Zustandsautomaten, der wiederum als Klasse gekapselt ist und in dem Stub instantiiert wird. Wird während des Tests der Stub aufgerufen, so kann der Benutzer interaktiv Kommandos, die durch den gekapselten Zustandsautomaten festgelegt sind, benutzen oder mehrere solcher Kommandos in einer Kommandodatei zusammenfassen und diese automatisiert ausführen.

Description

Beschreibung
Verfahren zum Testen von Systemkomponenten eines objektorientierten Programms
Die Erfindung betrifft ein Verfahren zum Testen von Systemkomponenten eines objektorientierten Programms.
In [W. Archert : "Objektorientiert analysieren - Ein Überblick der wichtigsten Methoden", Elektronik 3/96, Seiten 80-86] werden Kriterien für den Vergleich objektorientierter Methoden, insbesondere Vergleichsmethoden unterschiedlicher Darstellungsmöglichkeiten eines objektorientierten Programms erläutert. Weiterhin werden Vorteile der objektorientierten Programmierung dargestellt, insbesondere Modularität und Portabilität .
Bei der Entwicklung eines Softwaresystems ist es sinnvoll, vor dem Test des Gesamtsystems die einzelnen Systemkomponenten isoliert zu testen. Systemkomponenten sind z.B. einzelne Programmodule oder - bei einer objektorientierten Entwicklung - Klassen. Beim Klassen- oder
Modultest tritt häufig das Problem auf, daß eine Testeinheit
(Klasse bzw. Modul) stark von anderen Testeinheiten abhängig ist. Solche Abhängigkeiten ergeben sich z.B. aus der gegenseitigen Benutzung von Funktionen (oder bei der Verwendung von Klassen: Methoden) . Dies hat aber zur Folge, daß zum Test einer Testeinheit A alle anderen Testeinheiten U, die von A benutzt werden (direkt oder auch indirekt, weil z.B. U wiederum andere Einheiten benutzt) bereits vorhanden sein müssen.
Die der Erfindung zugrundeliegende Aufgabe besteht darin, das Testen von Testeinheiten zu vereinfachen und zu beschleunigen. Die Aufgabe wird durch das Verfahren gemäß den Merkmalen des Patentanspruchs 1 gelöst.
Um dieses Problem zu umgehen, bietet es sich an, für die von der Testeinheit A aus anderen Testeinheiten U benutzten Funktionen und/oder Methoden Ersatzfunktionen mit einer Dummyfunktionalität zu erstellen. Solche Ersatzfunktionen werden auch "Stubs" genannt. Auch wenn eine Funktion/Methode bereits implementiert ist, kann es sinnvoll sein, für den Test anderer Funktionen/Methoden diese durch einen Stub zu ersetzen. Hierdurch kann beispielsweise die Komplexität des Testrahmens klein gehalten werden.
Die Erfindung beschreibt die automatische Generierung eines minimalen Satzes von vollständigen Ersatzfunktionen (Stubs) für den Einsatz beim Klassen- und/oder Modultest. Damit ist gemeint, daß alle Funktionen/Methoden, die in dem Softwaresystem deklariert, deren Implementierung aber entweder noch nicht vorhanden ist oder aber aus Komplexitätsgründen nicht benutzt werden kann, automatisch als Ersatzfunktionen (Stubs) implementiert werden. Dabei wird darauf geachtet, daß der Rückgabeparameter und auch die Übergabeparameter der Funktion/Methode äquivalent zur ursprünglichen Funktion/Methode auch für die Ersatzfunktion generiert werden. Für die Implementierung der Ersatzfunktion wird lokal in der Funktion/Methode eine Testrahmenklasse instanziiert . Diese Testrahmenklasse kapselt einen Zustandsautomaten, der definiert wird durch die Parameter (sowohl Rückgabe- als auch Übergabeparameter) der Funktion, die durch den Stub ersetzt wird. Sollen innerhalb des Stubs weitergehend logische Operationen durchgeführt werden, so können diese manuell ergänzt werden.
Beginnt das Softwaresystem nun den Testlauf, wird in dem Stub entsprechend dem voreingestellten Modus der Testrahmenklasse verzweigt. Der Modus kann z.B. sein, daß an einem Kommandoprompt interaktiv Kommandos entsprechend einem Befehlssatz eines in der Testrahmenklasse integrierten Interpreters zugelassen werden, oder daß in der Ersatzfunktion eine Kommandodatei ausgeführt wird, die beispielsweise Ausgaben entsprechend den Kommandos der Kommandodatei erzeugt. Nach der Interaktion bzw. der
Ausführung der Kommandodatei wird aus der Ersatzfunktion in das aufrufende Modul zurückgesprungen. Eine weitere Ersatzfunktion stellt, sobald sie aufgerufen wurde, dieselbe Funktionalität mit den ihr eigenen Parametern zur Verfügung. Somit können für alle Ersatzfunktionen spezifische Tests mit der einen Testrahmenklasse durchgeführt werden. Die Kapselung der Testrahmenklasse als eigener Zustandsautomat ermöglicht die flexible Verwendung in jeder Ersatzfunktion. Die für die Ersatzfunktion instantiierte Testrahmenklasse wird mit den Parametern (sowohl Übergabe- als auch Rückgabeparameter) initialisiert. Somit können in der Testrahmenklasse typspezifische Operationen definiert werden, die interaktiv oder von einer Kommandodatei aufgerufen werden.
Eine vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens besteht in der interaktiven Verwendung der Testrahmenklasse. Diese Interaktion stellt einen Funktionsumfang eines integrierten Debuggers mit dem in der Testrahmenklasse definierten Befehlssatz dar. Somit können, wie bei einem Debugger, interaktiv Kommandos auf den in der aktuellen Funktion sichtbaren Parametern durchgeführt werden.
Weiterbildungen des erfindungsgemäßen Verfahrens ergeben sich aus den abhängigen Ansprüchen.
Die Erfindung wird anhand eines Ausführungsbeispiels, welches in den Figuren dargestellt ist, weiter erläutert.
Es zeigen Fig.l ein Ablaufdiagramm, in dem die einzelnen Verfahrensschritte dargestellt sind, Fig.2 eine Skizze, die eine beispielhafte Ausprägung des erfindungsgemäßen Verfahrens enthält,
In Fig.l sind die einzelnen Verfahrensschritte des erfindungsgemäßen Verfahrens dargestellt. In einem ersten
Schritt la wird die Menge der Ersatzfunktionen festgelegt. So können beispielsweise je nach Art des Testdurchlaufs entweder für alle Methoden eines objektorientierten Programms, die noch nicht implementiert sind, automatisch Ersatzfunktionen kreiert werden, oder es kann eine Verschachtelung von Methodenaufrufen aufgelöst werden dadurch, daß in der Aufrufhierarchie eine beliebig gewählte Methode als Ersatzfunktion implementiert wird. Somit erhält man eine Menge von Ersatzfunktionen, die insoweit vollständig ist, als zumindest alle noch nicht implementierten Funktionen durch Ersatzfunktionen dargestellt werden. Die automatische Generierung von Ersatzfunktionen berücksichtigt sowohl den Rückgabeparameter als auch die Aufrufparameter der zu ersetzenden Funktion (siehe Schritt lb) . Um eine möglichst hohe Flexibilität und Wiederverwendbarkeit zu erhalten, kann eine allgemeine Testrahmenklasse definiert werden, die für jede Ersatzfunktion einen Zustandsautomaten implementiert, der zum einen von dem Befehlssatz des in der Testrahmenklasse integrierten Interpreters abhängt , zum anderen durch die Menge der Parameter der Ersatzfunktion oder, falls die
Funktion eine Methode einer Klasse ist, durch die zur Methode gehörende Klasse bestimmt ist. Die Testrahmenklasse verfügt für alle Ersatzfunktionen über den gleichen Befehlssatz, der Zugriff auf die ersatzfunktionsspezifischen Parameter (sowohl Übergabe- als Rückgabeparameter) erlaubt. Weiterhin kann die Funktionalität der Ersatzfunktion dahingehend ergänzt werden, daß die Testrahmenklasse, nachdem alle ersatzfunktions- spezifischen Parameter definiert wurden, sowohl interaktiv betrieben werden kann als auch, daß eigenständig eine Kommandodatei abgearbeitet werden kann. Dies entspricht der Initiierung des Zustandsautomaten (Schritt lc) . Interaktion bedeutet hierbei, daß während des Testlaufes, sobald die jeweilige Ersatzfunktion aufgerufen wird, der Benutzer beispielsweise an seinem Bildschirm einen Kommandoprompt sieht, an dem er Eingaben gemäß dem in der Testrahmenklasse vorgegebenen Befehlssatz machen kann. Dieser Vorgang kann auch automatisiert werden, indem mehrere solcher vom
Zustandsautomaten der Testrahmenklasse erlaubten Befehle in einer Kommandodatei zusammengefaßt werden, die anstelle der Interaktion ausgeführt wird. Weiterhin ist es möglich, in einer Ersatzfunktion Ausführung einer Kommandodatei und Umschalten in den Modus, der Interaktion mit dem Benutzer erwartet, in beliebiger Reihenfolge anzuordnen. So können Kommandodateien exklusiv in Ersatzfunktionen ablaufen, oder als Ergänzung zwischen Interaktionen dienen (Schritt ld) .
Das Verfahren zeichnet sich dadurch aus, daß nicht für jeden Testdurchlauf ein erneutes Compilieren und Linken erforderlich ist. Weiterhin können Testfälle einfach automatisiert werden, indem die oben beschriebenen Kommandodateien verwendet werden.
Eine vorteilhafte Weiterbildung des erfindungsgemäßen Verfahrens ist die Verwendung der Testrahmenklasse in beliebigen Modulen. Da alle notwendigen Parameter der Testrahmenklasse mitgeteilt werden, und da die Stelle zur Interaktion im Programmcode individuell festgelegt werden kann, ist an der Stelle im Programmcode, an der die Interaktion zugelassen wird, ein integriertes Debugging mit Sicht auf die aktuell gültigen Variablen möglich. So können mit einfachen Mitteln beispielsweise Operationen auf Typen, die komplexe Datenstrukturen enthalten, durchgeführt werden. Die interaktiv erlaubten Befehle können individuell in der Testrahmenklasse implementiert werden. Durch Kapselung der Funktionalität zur Ausführung bestimmter Befehle in einer Testrahmenklasse ist es möglich, für alle Ersatzfunktionen durch einfache Instantiierung der Testrahmenklasse in der jeweiligen Ersatzfunktion die Funktionalität der Tes rahmenklasse bereitzustellen . Fig.2 zeigt eine beispielhafte Ausprägung des erfindungsgemäßen Verfahrens. Eine objektorientierte Modellierung kann beispielsweise unter der Programmiersprache C++ erfolgen. Zweckmäßigerweise werden die Klassen der Systemsoftware in entsprechenden Klassen-Headerfiles KLH deklariert. Die Methoden der jeweiligen Klassen werden in den zugehörigen Programmfiles PrgF (z.B. Files mit den Endungen .cpp oder . c) implementiert. Sind nun bestimmte Methoden innerhalb der Klassen-Headerfiles KLH deklariert, fehlt aber die zugehörige konkrete Implementierung innerhalb der Programmfiles PrgF, so wird der Übersetzer eine Fehlermeldung ausgeben, die anzeigt, daß die Implementierung der deklarierten Methode nicht gefunden werden konnte (z.B. Fehlermeldung: "Unresolved Externais"). Aus dieser
Information über Methoden, deren Implementierung entweder noch nicht vorhanden ist oder aber nicht verwendet werden soll, erzeugt ein Testrahmengenerator TRG über einen Ersatzfunktionengenerator EFG entsprechend Ersatzfunktionen EF. Dazu sucht der Testrahmengenerator TRG die passende Deklaration und bestimmt daraus die Rückgabe- und Aufrufparameter . Die gleichen Aufruf- und Rückgabeparameter erhält auch die Ersatzfunktion EF. Um individuelle Testläufe innerhalb der Ersatzfunktion EF zuzulassen, wird eine Testrahmenklasse in dieser Eratzfunktion instantiiert . Die Testrahmenklasse verfügt über eigene Methoden, die es erlauben, Übergabe- und Rückgabeparameter der Ersatzfunktion EF der instantiierten Testrahmenklasse mitzuteilen. Weiterhin kann innerhalb der Ersatzfunktion EF ein Modus vereinbart werden, der beim Aufrufen dieser Ersatzfunktion EF entweder Interaktion an einem Kommandoprompt oder das Ausführen eines Kommandoskripts erlaubt. Wird beispielsweise der Modus Interaktion gewählt, so kann der Benutzer an einem Kommandoprompt unterschiedliche Befehle eingeben, die innerhalb der Testrahmenklasse vereinbart sind. Dies entspricht einer Art Interpreter, der einen durch die Testrahmenklasse definierten über einen bestimmten Befehlssatz verfügenden Zustandsautomaten mit den Parametern der ersetzten Funktion darstellt.
Es ist vorteilhaft, Funktionalität, die der ersetzten Funktion innewohnt, entsprechend den individuellen
Bedürfnissen in der Ersatzfunktion EF nachzubilden. Die Kapselung des Interpreters in einer eigenen Testrahmenklasse, beispielsweise in der Sprache C++, hat den Vorteil, daß der individuell definierte Befehlssatz des in der Testrahmenklasse vereinbarten Zustandsautomaten für alle
Instanzen dieser Testrahmenklasse in jeder Ersatzfunktion EF zur Verfügung steht. Die einzig notwendige Aktivität, um den Zustandsautomaten in der Testrahmenklasse sinnvoll zu nutzen, ist die Definition der ersatzfunktionsabhängigen Parameter für den Zustandsautomaten. Dies wird automatisch vom
Ersatzfuntkionengenerator EFG durchgeführt. Man erhält ein universelles und für verschiedene Testfälle einfach zu nutzendes Werkzeug, das entweder manuell (im interaktiven Modus) oder automatisch (durch Kommandodateien) oder beides benutzt werden kann.

Claims

Patentansprüche
1. Verfahren zum Testen von Systemkomponenten eines objektorientierten Programms, wobei die Systemkomponenten Klassen und/oder Module des objektorientierten Programms aufweisen, a) bei dem Abhängigkeiten von Methoden und/oder Funktionen aufgelöst werden dadurch, daß eine aufgerufene Methode oder Funktion durch eine Ersatzfunktion ersetzt wird, b) bei dem die Ersatzfunktion durch einen Zustandsautomaten dargestellt wird, wobei der Zustandsautomat in einer eigenen Klasse gekapselt ist und interaktiv eine Eingabe von Kommandos zuläßt, c) bei dem zu ersetzende Methoden/Funktionen automatisch als Ersatzfunktionen generiert werden, wobei die jeweilig erzeugte Ersatzfunktion gleiche Aufrufparameter und einen gleichen Rückgabewert wie die ersetzte Methode/Funktion aufweist.
Verfahren nach Anspruch l, bei dem die automatisch generierte Ersatzfunktion als integrierter Debugger benutzt wird, indem innerhalb der Ersatzfunktion interaktiv Kommandos eingegeben werden.
PCT/DE1997/002609 1996-12-04 1997-11-07 Verfahren zum testen von systemkomponenten eines objektorientierten programms WO1998025204A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP97949889A EP1034475B1 (de) 1996-12-04 1997-11-07 Verfahren zum testen von systemkomponenten eines objektorientierten programms
DE59703703T DE59703703D1 (de) 1996-12-04 1997-11-07 Verfahren zum testen von systemkomponenten eines objektorientierten programms
US09/308,739 US6523169B1 (en) 1996-12-04 1997-11-07 Method for testing system components of an object-oriented program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE19650293.4 1996-12-04
DE19650293A DE19650293C1 (de) 1996-12-04 1996-12-04 Verfahren zum Testen von Systemkomponenten eines objektorientierten Programms

Publications (1)

Publication Number Publication Date
WO1998025204A1 true WO1998025204A1 (de) 1998-06-11

Family

ID=7813626

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1997/002609 WO1998025204A1 (de) 1996-12-04 1997-11-07 Verfahren zum testen von systemkomponenten eines objektorientierten programms

Country Status (5)

Country Link
US (1) US6523169B1 (de)
EP (1) EP1034475B1 (de)
CN (1) CN1105353C (de)
DE (2) DE19650293C1 (de)
WO (1) WO1998025204A1 (de)

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7047176B2 (en) * 2000-05-05 2006-05-16 Fujitsu Limited Method and system for hardware simulation
US7150007B2 (en) * 2000-09-11 2006-12-12 Microsoft Corporation Universal routine for reviewing and exercising software objects
WO2002075610A1 (en) * 2001-03-19 2002-09-26 Empirix Inc. Component/web service data synthesis using test software
DE10127530B4 (de) * 2001-05-31 2016-03-03 Bally Wulff Games & Entertainment Gmbh Verfahren und Vorrichtung zur Durchführung des Verfahrens für ein Geldspielgerät zur Begrenzung der innerhalb einer Zeiteinheit aufsummierten Spielergebnisse
US6983399B2 (en) * 2001-12-06 2006-01-03 Sun Microsystems, Inc. System and method for ascertaining public application program interface coverage
US7152222B2 (en) * 2002-01-08 2006-12-19 International Business Machines Corporation Method and system for localizing Java™ JAR files
US7039902B2 (en) * 2002-06-06 2006-05-02 Sun Microsystems, Inc. Mechanism for enabling efficient testing of a set of computer code
CN1310150C (zh) * 2002-11-21 2007-04-11 中兴通讯股份有限公司 一种嵌入式软件测试方法
JP2004213053A (ja) * 2002-12-26 2004-07-29 Toshiba Corp オブジェクト状態分類方法とシステム、およびそのためのプログラム
CN100412811C (zh) * 2003-10-07 2008-08-20 爱德万测试株式会社 测试程序除错装置与方法、半导体测试装置及测试方法
JP2005338987A (ja) * 2004-05-25 2005-12-08 Fujitsu Ltd 例外テスト支援プログラム及び例外テスト支援装置
CN1318976C (zh) * 2004-06-16 2007-05-30 华为技术有限公司 软件测试方法及其系统
US7519945B2 (en) * 2004-06-17 2009-04-14 International Business Machines Corporation System and method for supporting data driving a software process using objects of arbitrary data types
CN1326044C (zh) * 2004-10-22 2007-07-11 中国工商银行股份有限公司 一种基于脚本解释工具的自动化软件测试系统
US7549144B2 (en) * 2005-02-22 2009-06-16 Microsoft Corporation Custom API modeling for source code static analysis simulator
US7805709B2 (en) * 2005-05-27 2010-09-28 Delphi Technologies, Inc. System and method for bypassing execution of an algorithm
US20070168973A1 (en) * 2005-12-02 2007-07-19 Sun Microsystems, Inc. Method and apparatus for API testing
US7533314B2 (en) * 2006-08-10 2009-05-12 Microsoft Corporation Unit test extender
US8311794B2 (en) * 2007-05-04 2012-11-13 Sap Ag Testing executable logic
CN101387980B (zh) * 2007-09-13 2010-09-22 英业达股份有限公司 配置文件测试系统及方法
US8745587B2 (en) * 2007-10-03 2014-06-03 International Business Machines Corporation System and method for testing computer programs
US20120174068A1 (en) * 2010-12-30 2012-07-05 Sap Ag Testing Software Code
US9454347B2 (en) * 2013-03-14 2016-09-27 Fujitsu Limited Analyzing incomplete software
US9990272B2 (en) 2016-08-03 2018-06-05 International Business Machines Corporation Test case generation for uncovered code paths
US10592396B2 (en) * 2018-04-23 2020-03-17 Microsoft Technology Licensing, Llc Memory validity states in time-travel debugging
US10541042B2 (en) 2018-04-23 2020-01-21 Microsoft Technology Licensing, Llc Level-crossing memory trace inspection queries
CN112882931B (zh) * 2021-02-06 2023-05-09 重庆富民银行股份有限公司 基于ddt的自动化测试方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994014117A1 (de) * 1992-12-17 1994-06-23 Siemens Aktiengesellschaft Verfahren zum testen mindestens einer klasse eines objektorientierten programmes auf einem rechner
EP0679004A2 (de) * 1994-04-20 1995-10-25 Siemens Schweiz AG Verfahren zum Testen von Fernmeldeanlagen oder Teilen davon und eine Vorrichtung zur Durchführung des Verfahrens
DE4416704A1 (de) * 1994-05-11 1995-11-16 Siemens Ag Integrationstestverfahren für ein objektorientiertes Programm

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE2926867C2 (de) 1979-07-03 1986-01-02 GAO Gesellschaft für Automation und Organisation mbH, 8000 München Schaltungseinheit
AT395224B (de) 1990-08-23 1992-10-27 Mikron Ges Fuer Integrierte Mi Kontaktloses, induktives datenuebertragungssystem
US5432940A (en) * 1992-11-02 1995-07-11 Borland International, Inc. System and methods for improved computer-based training
US5680619A (en) * 1995-04-03 1997-10-21 Mfactory, Inc. Hierarchical encapsulation of instantiated objects in a multimedia authoring system
US5692184A (en) * 1995-05-09 1997-11-25 Intergraph Corporation Object relationship management system
US5757669A (en) * 1995-05-31 1998-05-26 Netscape Communications Corporation Method and apparatus for workgroup information replication
US5724589A (en) * 1995-10-13 1998-03-03 Borland International, Inc. Development system with a property-method-event programming model for developing context-free reusable software components
US6085233A (en) * 1995-12-29 2000-07-04 Pankosmion, Inc. System and method for cellular network computing and communications
US6275976B1 (en) * 1996-03-15 2001-08-14 Joseph M. Scandura Automated method for building and maintaining software including methods for verifying that systems are internally consistent and correct relative to their specifications
US5751941A (en) * 1996-04-04 1998-05-12 Hewlett-Packard Company Object oriented framework for testing software
US5987245A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
JP3427918B2 (ja) * 1996-07-02 2003-07-22 インターナショナル・ビジネス・マシーンズ・コーポレーション プログラム開発支援システム及び支援方法
US5892949A (en) * 1996-08-30 1999-04-06 Schlumberger Technologies, Inc. ATE test programming architecture
US6031990A (en) * 1997-04-15 2000-02-29 Compuware Corporation Computer software testing management
US5923867A (en) * 1997-07-31 1999-07-13 Adaptec, Inc. Object oriented simulation modeling
AU1809599A (en) * 1997-12-11 1999-06-28 Digits Corp. Object code analysis and remediation system and method
US6223306B1 (en) * 1998-02-27 2001-04-24 Hewlett-Packard Company Method and apparatus for testing X servers
US6175956B1 (en) * 1998-07-15 2001-01-16 International Business Machines Corporation Method and computer program product for implementing method calls in a computer system
US6421634B1 (en) * 1999-03-04 2002-07-16 Sun Microsystems, Inc. Interface independent test system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994014117A1 (de) * 1992-12-17 1994-06-23 Siemens Aktiengesellschaft Verfahren zum testen mindestens einer klasse eines objektorientierten programmes auf einem rechner
EP0679004A2 (de) * 1994-04-20 1995-10-25 Siemens Schweiz AG Verfahren zum Testen von Fernmeldeanlagen oder Teilen davon und eine Vorrichtung zur Durchführung des Verfahrens
DE4416704A1 (de) * 1994-05-11 1995-11-16 Siemens Ag Integrationstestverfahren für ein objektorientiertes Programm

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MCGREGOR J D ET AL: "INTEGRATED OBJECT-ORIENTED TESTING AND DEVELOPMENT PROCESSES", COMMUNICATIONS OF THE ASSOCIATION FOR COMPUTING MACHINERY, vol. 37, no. 9, 1 September 1994 (1994-09-01), NEW YORK, US, pages 59 - 77, XP000485273 *

Also Published As

Publication number Publication date
EP1034475A1 (de) 2000-09-13
US6523169B1 (en) 2003-02-18
DE59703703D1 (de) 2001-07-05
CN1105353C (zh) 2003-04-09
DE19650293C1 (de) 1998-04-09
CN1227643A (zh) 1999-09-01
EP1034475B1 (de) 2001-05-30

Similar Documents

Publication Publication Date Title
EP1034475B1 (de) Verfahren zum testen von systemkomponenten eines objektorientierten programms
DE19781804B4 (de) Vorrichtung zur Simulation einer Echtzeit-Prozesssteuerung
EP0852759B1 (de) Entwurfsverfahren für die anlagentechnik und rechnergestütztes projektierungssystem zur verwendung bei diesem verfahren
DE60212372T2 (de) System und verfahren zur erstellung von diagnosen vermittels einer tragbaren vorrichtung
EP1330685B1 (de) Prüfverfahren und prüfvorrichtung zur inbetriebnahme von mittels einer programmlogik gesteuerten systemen
DE69918334T2 (de) Erzeugung von kompilierten programmen für interpretative laufzeitumgebungen
DE3503119A1 (de) Verfahren zum automatischen erzeugen eines quellenprogramms
DE4416704A1 (de) Integrationstestverfahren für ein objektorientiertes Programm
DE19960050A1 (de) Grafische Benutzerschnittstelle zur Entwicklung von Anwendungsbeispielen unter Verwendung einer Testobjektbibliothek
DE10059796A1 (de) Steuerung der Lebensdauer von Aktivitäten für die Datenverarbeitung
WO1994014117A1 (de) Verfahren zum testen mindestens einer klasse eines objektorientierten programmes auf einem rechner
EP0838054B1 (de) Verfahren und steuereinrichtung für eine graphische steuerung von abläufen in einem netzwerkmanagementsystem
DE4104568A1 (de) Verfahren und vorrichtung zur programmverarbeitung
DE10041072A1 (de) Verfahren zur automatischen Erzeugung von Programmcode
EP1038221B1 (de) Verfahren zur überprüfung der pfadüberdeckung bei software-tests
EP0664905B1 (de) Verfahren zur durchfürhung von tests an auf einem rechner parallel ablauffähigen objekten eines objektorientierten programmes
EP1010070A1 (de) Verfahren zum umsetzen eines objektcodes in einen programmcode
WO2021052955A1 (de) System und verfahren zum bereitstellen einer digitalen nachbildung einer anlage und entsprechendes computerprogrammprodukt
EP0708941B1 (de) Verfahren zum test eines objektorientierten programms
DE4310615C2 (de) Entwurf elektrischer Vorrichtungen mit mehreren Entwurfswerkzeugen, die zumindest teilweise untereinander inkompatibel sind
DE10033812A1 (de) Verfahren zum Erzeugen von Informationsmodellen
EP1533940A1 (de) Transformation Function eines TMN Systems
DE102017212612A1 (de) Verfahren zum automatischen Erzeugen von Tests für die Software eines Fahrzeugs
EP1149353B1 (de) Verfahren zur übertragung von simulationsmodellen zwischen simulatoren
DE10254530A1 (de) Verfahren und System zur wissensbasierten Transformation von textuellen Programmen, die sich auf die Softwarekonfiguration eines verteilten Leitsystems beziehen

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 97197018.1

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1997949889

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 09308739

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1997949889

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1997949889

Country of ref document: EP