WO1998025204A1 - Verfahren zum testen von systemkomponenten eines objektorientierten programms - Google Patents
Verfahren zum testen von systemkomponenten eines objektorientierten programms Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test 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
Description
Claims
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)
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)
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)
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 |
-
1996
- 1996-12-04 DE DE19650293A patent/DE19650293C1/de not_active Expired - Fee Related
-
1997
- 1997-11-07 DE DE59703703T patent/DE59703703D1/de not_active Expired - Lifetime
- 1997-11-07 EP EP97949889A patent/EP1034475B1/de not_active Expired - Lifetime
- 1997-11-07 CN CN97197018A patent/CN1105353C/zh not_active Expired - Fee Related
- 1997-11-07 WO PCT/DE1997/002609 patent/WO1998025204A1/de active IP Right Grant
- 1997-11-07 US US09/308,739 patent/US6523169B1/en not_active Expired - Fee Related
Patent Citations (3)
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)
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 |