DE102004005544A1 - Software system or program testing in which testing for highly unlikely conditions is carried out by embedding mines within program source code that duplicate particular scenarios so that the program response can be monitored - Google Patents
Software system or program testing in which testing for highly unlikely conditions is carried out by embedding mines within program source code that duplicate particular scenarios so that the program response can be monitored Download PDFInfo
- Publication number
- DE102004005544A1 DE102004005544A1 DE200410005544 DE102004005544A DE102004005544A1 DE 102004005544 A1 DE102004005544 A1 DE 102004005544A1 DE 200410005544 DE200410005544 DE 200410005544 DE 102004005544 A DE102004005544 A DE 102004005544A DE 102004005544 A1 DE102004005544 A1 DE 102004005544A1
- Authority
- DE
- Germany
- Prior art keywords
- mines
- program
- mine
- software program
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Abstract
Description
Die Erfindung bezieht sich auf das Testen von Softwarecode und betrifft insbesondere die Flexibilität bei der Beobachtung und dem Testen von software-bezogenen Produkten.The This invention relates to software code testing and relates especially the flexibility in the monitoring and testing of software-related products.
Bei allen Produkten, die auf dem Einsatz von Software basieren, ist es notwendig, die Software vor Auslieferung des Produktes umfassend zu testen, um die Qualität des Erzeugnisses insgesamt gewährleisten zu können.at all products based on the use of software it is necessary to include the software before delivery of the product to test the quality of the product as a whole to be able to.
Dazu ist es erforderlich, Testszenarien zu entwerfen, die eine möglichst umfassende Beobachtung einerseits des Programms an sich und andererseits des Programms in Bezug auf das technische Produkt (wie z.B. eine Telefonanlage, ein Faxgerät oder beliebige andere technische Geräte) ermöglichen.To It is necessary to design test scenarios that are as possible comprehensive observation, on the one hand, of the program itself and, on the other hand of the program in relation to the technical product (such as a Telephone system, a fax machine or any other technical devices) enable.
Bisher erfolgte die Lösung dieses Problems dadurch, dass Macros eingesetzt werden, die spezifisch konfiguriert und zur Laufzeit des Programms aktiviert werden können, so dass sie die erforderlichen Situationen hervorrufen.So far the solution was done This problem occurs because macros are used specifically can be configured and activated at program runtime, so that they create the necessary situations.
Nachteil des eben beschriebenen Ansatzes aus dem Stand der Technik ist es, dass dieser für ein spezifisches Entwicklungsfeld konzipiert worden ist, nämlich z.B. für C++ Programme. Von daher ist es nur eingeschränkt möglich und mit sehr hohem Aufwand verbunden, das Macro-Konzept auf andere Softwaredesignkonzepte z.B. die .NET-Technologie zu transferieren. Dies liegt vor allem daran, dass die gängigsten .NET-Sprachen den Einsatz von Macros nicht unterstützen.disadvantage of the prior art approach just described, it is that this for a specific development field has been conceived, e.g. for C ++ Programs. Therefore, it is limited and possible with very high costs connected the macro concept to other software design concepts e.g. to transfer the .NET technology. This is mainly because that the most common .NET languages the Do not support the use of macros.
Als ein nicht zu vernachlässigender Nachteil des bisherigen Konzeptes hat es sich in der Praxis erwiesen, dass die Macros ein statisch fest definiertes Verhalten und wenig bis nahezu kaum Flexibilität hinsichtlich des Einsatzes zeigen. Weiter hin sind sie schlecht zu warten und relativ fehleranfällig im Einsatz.When a not to be neglected Disadvantage of the previous concept, it has proven in practice, that the macros have a statically defined behavior and little to almost no flexibility in terms of the insert. Farther on, they are bad to wait and relatively error prone in use.
Die vorliegende Erfindung hat sich deshalb zur Aufgabe gesetzt, einen Weg aufzuzeigen, mit dem Softwarecode oder Teile davon auch unter sehr ungewöhnlichen Situationen beobachtet und insbesondere getestet werden können, wobei die Parameter für den Test auch während der Laufzeit des Programms dynamisch veränderbar sind, ohne dass der Quellcode des zu testenden Programms verändert werden muss.The The present invention has therefore set itself the task of a Way to point out with the software code or parts of it also under very unusual Situations can be observed and tested in particular, where the parameters for the test even while the runtime of the program are dynamically changeable without the source code of the program to be tested got to.
Ausgehend von dem oben beschriebenen Stand der Technik wird diese Aufgabe durch die Merkmale der Erfindung gelöst, insbesondere durch ein Verfahren zur Beobachtung eines software-bezogenen Systems und/oder eines Softwareprogramms, vorzugsweise zum Testen auf Fehler unter zumindest einem Beobachtungsszenario, mit folgenden Schritten:
- – Zugriff auf eine Menge von Minen, die Beobachtungsszenarien generieren, unter denen das Programm beobachtet werden kann,
- – Einbetten von Minen in einen Quellcode des Softwareprogramms und
- – Simulieren von zumindest einem Beobachtungsszenario, indem zumindest eine eingebettete Mine aktiviert wird.
- - access to a set of mines that generate observational scenarios under which the program can be observed,
- - Embedding mines in a source code of the software program and
- Simulate at least one observation scenario by activating at least one embedded mine.
Eine Aufgabenlösung gemäß Anspruch 15 sieht ein System zur Beobachtung eines software-bezogenen Systems und/oder eines Softwareprogramms vor, vorzugsweise zum Testen des Softwareprogramms auf Fehler unter zumindest einem Beobachtungsszenario, mit folgenden Modulen:
- – zumindest einer Zugriffseinheit, die zum Zugriff auf eine Menge von Minen bestimmt ist, die Beobachtungsszenarien generieren, unter denen das Programm beobachtet werden kann,
- – zumindest einer Einbettungseinheit, die zum Einbetten von Minen in einen Quellcode des Softwareprogramms bestimmt ist und
- – zumindest einer Simulationseinheit, die zum Simulieren von zumindest einem Beobachtungsszenario bestimmt ist, indem zumindest eine eingebettete Mine aktiviert wird.
- At least one access unit intended to access a set of mines generating observation scenarios under which the program can be observed,
- At least one embedding unit intended for embedding mines in a source code of the software program, and
- At least one simulation unit, which is intended to simulate at least one observation scenario, by activating at least one embedded mine.
Weiterhin wird die Aufgabe gelöst durch eine Vorrichtung zur Beobachtung eines software-bezogenen Systems und/oder Softwareprogramms, vorzugsweise zum Testen auf Fehler unter zumindest einem Beobachtungsszenario, mit folgenden Modulen:
- – zumindest einer Zugriffseinheit, die zum Zugriff auf eine Menge von Minen bestimmt ist, die Beobachtungsszenarien generieren, unter denen das Programm beobachtet werden kann,
- – zumindest einer Einbettungseinheit, die zum Einbetten von Minen in einen Quellcode des Softwareprogramms bestimmt ist und
- – zumindest einer Simulationseinheit, die zum Simulieren von zumindest einem Beobachtungsszenario bestimmt ist, indem zumindest eine eingebettete Mine aktiviert wird.
- At least one access unit intended to access a set of mines generating observation scenarios under which the program can be observed,
- At least one embedding unit intended for embedding mines in a source code of the software program, and
- At least one simulation unit, which is intended to simulate at least one observation scenario, by activating at least one embedded mine.
Wesentlich für die erfindungsgemäße Lösung ist es, dass Minen oder Minenobjekte existieren, die in Form von Softwarecode abgelegt sind und die dazu bestimmt sind, bestimmte Fehlerszenarien zu generieren, unter denen das Programm beobachtet werden soll. Damit ist es möglich, bestimmte typische Fehlerszenarien mit nur einer zugehörigen Mine abzudecken, die dann bei verschiedenen zu testenden Systemen oder Programmen zum Einsatz kommen kann und insofern generisch ist.Essential for the solution according to the invention is that mines or mine objects exist which are stored in the form of software code and which are intended to generate certain error scenarios under which the program is to be observed. This makes it possible to cover certain typical fault scenarios with just one associated mine, then to test them at different ones the systems or programs can be used and is generic in this respect.
Die erfindungsgemäße Lösung sieht vor, dass sich die Vorbereitungen für einen Test in unterschiedliche Phasen einteilen lassen:
- 1. Eine Vorbereitungsphase, in der die Minen generiert werden. Diese ist zeitlich und/oder inhaltlich von der Entwicklung und von dem Testen des Programms entkoppelt. Von daher kann diese Phase vorteilhafterweise zeitlich vorgezogen sein.
- 2. Eine Einbettungsphase, in der alle oder eine Auswahl von Minen in den Quellcode des Software Programms eingebracht werden.
- 3. Zur Laufzeit des Programms können alle eingebetteten Minen oder eine Auswahl davon aktiviert bzw. gezündet werden. Das heisst, dass die von der jeweiligen Mine provozierten Testszenarien simuliert werden.
- 1. A preparatory phase in which the mines are generated. This is temporally and / or content decoupled from the development and testing of the program. Therefore, this phase may advantageously be preferable in time.
- 2. An embedding phase in which all or a selection of mines are inserted into the source code of the software program.
- 3. At runtime, all embedded mines or a selection thereof may be activated or detonated. This means that the test scenarios provoked by the respective mine are simulated.
Ein wesentlicher Vorteil der erfindungsgemäßen Lösung liegt darin, dass die Minen auch in dieser Phase – also sogar zur Laufzeit des Programms – parametrisiert werden können. Damit wird die Flexibilität des Testvorganges – sogar unter Laufzeitbedingungen – deutlich erhöht, ohne dass der Quellcode des Programms verändert werden muss. Damit ist es möglich, mit einer einmal verminten bzw. eingebetteten Mine, eine offene Anzahl von Fehlersituationen zu provozieren und damit zu testen.One An essential advantage of the solution according to the invention is that the Mines also in this phase - so even at runtime of the program - can be parametrized. In order to will the flexibility the test process - even under runtime conditions - clearly elevated, without having to change the source code of the program. This is it is possible with a once mined or embedded mine, an open mine Provoke and test the number of error situations.
Im Unterschied zur bisherigen Lösung aus dem Stand der Technik kann auf eine Bibliothek von Minen zugegriffen werden, die für verschiedene, zu testende Programme eingesetzt werden kann. Dies verbessert die Wartbarkeit des Testsystems insgesamt und führt zu einer deutlichen Kostenreduktion.in the Difference to the previous solution The prior art has accessed a library of mines be that for various programs to be tested can be used. This improves the maintainability of the test system as a whole and leads to a significant cost reduction.
Mit der erfindungsgemäßen Lösung wird es – im Unterschied zum Vorgehen aus dem Stand der Technik möglich –, den Test auch zur Laufzeit gezielt zu beeinflussen, indem die Aktivierung und/oder die Deaktivierung von Minen, insbesondere Minentypen und Mineninstanzen, zur Laufzeit verändert wird. Dies ist zusätzlich zu der Einflußnahme über eine initiale Konfigurationsdatei möglich.With the solution according to the invention is it - im Difference to the procedure from the state of the art possible - the test also targeting at run time by activating and / or the deactivation of mines, in particular mine types and Mine instances, changed at runtime becomes. This is additional to influence over one initial configuration file possible.
Das generierte Beobachtungs- bzw. Testszenario ist so ausgelegt, dass es verschiedene Fehlersituationen abdeckt, insbesondere: Generieren von (selten auftretenden) Ausnahmesituationen, Ersetzen bzw. Austausch von Parameterwerten und/oder anderen Einflußgrößen.The generated observation or test scenario is designed so that it covers various error situations, in particular: Generate of (rarely occurring) exceptional situations, replacement or exchange of parameter values and / or other influencing variables.
In der bevorzugten Ausführungsform der Erfindung ist es vorgesehen, dass die Mine zur Laufzeit des zu testenden Pro gramms aktiviert wird. Es ist jedoch auch möglich, über eine initiale Einstellung bereits bei dem Einbetten der Mine vorzusehen, dass diese auf jeden Fall zur Laufzeit aktiviert werden soll. Durch die Einflußnahme auf den Test auch zur Laufzeit wird der Umfang des Tests und damit die Qualität des Softwareprogrammproduktes insgesamt gesteigert, da das Beobachtungszenario auch zur Laufzeit des Programms dynamisch verändert werden kann.In the preferred embodiment The invention provides that the mine at the term of the program to be tested is activated. However, it is also possible over one provide initial setting already when embedding the mine, that this should be activated at runtime in any case. By the influence on the test also at runtime will be the scope of the test and thus the quality of Software program product increased overall, since the observation scenario can also be changed dynamically during runtime of the program.
Die Minen sind vorzugsweise als Softwarecode ausgebildet, der getrennt oder zusammen mit dem zu testenden Softwareprogramm compiliert werden kann. Es ist jedoch auch möglich, dass die Mine in Datenaustausch mit einer physikalischen Erfassungseinheit steht, die Parameterwerte, die für das zu testende Programm von Einfluß sind, erfaßt und in Abhängigkeit davon die Mine adaptiert.The Mines are preferably designed as software code that is separate or compiled with the software program being tested can. However, it is also possible that the mine is in data exchange with a physical detection unit stands, the parameter values that are for the program to be tested is influential, recorded and dependent of which the mine is adapted.
Die Minen sind so ausgelegt, dass sie auch während der Laufzeit parametrisierbar sind. Damit entsteht der Vorteil der weiteren Einflußnahme des Testers. Es ist jedoch auch möglich, dass die Mine nicht nur zur Laufzeit, sondern auch bereits im Vorfeld, also in der Vorbereitungsphase, parametrisierbar ist, indem die Mine z.B. auf physikalische oder chemische Werte ausgelegt wird, beispielsweise die Umgebungstemperatur etc.The Mines are designed to be parametrizable during runtime are. This creates the advantage of further influence of the tester. However, it is also possible that the mine not only at runtime, but also in advance, ie in the preparation phase, is parametrisable by the Mine e.g. is designed for physical or chemical values, for example the ambient temperature etc.
Es ist vorgesehen, dass die eingebetteten Minen wahlweise teilweise oder vollständig aus dem Produktcode entfernt werden, also aus dem Binary oder dem Code, der nach dem Übersetzen des Programms entsteht und der an den Kunden ausgeliefert wird. Damit wird vorteilhafterweise erreicht, dass der Test sich nicht auf das Produkt auswirkt und dieses nicht von dem Testcode infiltriert ist. In manchen Fällen kann es jedoch wünschenswert sein, dass das Testverfahren nachvollzogen werden kann. Um ein Tracing zu ermöglichen kann bestimmt werden, dass alle Minen oder zumindest alle aktivierten Minen in dem compilierten Code verbleiben sollen.It is provided that the embedded mines optional partial or completely be removed from the product code, ie from the binary or the Code after translating the program is created and delivered to the customer. This is advantageously achieved that the test is not affects the product and does not infiltrate it from the test code is. In some cases However, it may be desirable be that the test procedure can be understood. To a tracing to enable can be determined that all mines or at least all activated Mines should remain in the compiled code.
Üblicherweise wird die Mine zumindest durch den Vorgang des Compilierens von dem Quellcode und/oder von dem Produktcode entkoppelt. Das bedeutet, dass je nach dem, in welcher Phase sich der Testvorgang befindet, der Compiler auf unterschiedliche Art und Weise eingestellt werden kann: Soll der Test z.B. noch ausgeführt werden, so werden die im Quellcode eingebetteten Minen dem Compiler zugeführt. Ist das Testen jedoch beispielsweise abgeschlossen, so wird der Compiler so eingestellt, dass er die eingebetteten Minen nicht mitübersetzt, so das der nach dem Compilieren entstehende compilierte Code keine Minen mehr enthält. Damit kann erreicht werden, dass das auszuliefernde Produkt nicht mit dem Testcode bzw. den Minen infiltriert ist.Usually At least through the process of compiling the mine Source code and / or decoupled from the product code. That means, depending on which phase the test is in, the compiler can be set in different ways If the test should be e.g. are still running, so in the Source code embedded mines fed to the compiler. Is the testing, however For example, the compiler is set to he does not translate the embedded mines, so that after the Compile resulting compiled code containing no more mines. In order to can be achieved that the product to be delivered not with the test code or the mines is infiltrated.
Weiterhin wird durch dieses Merkmal die Modularität des Testsystems insgesamt erhöht. Es ist möglich, die Mine bzw. den Minencode vom Quellcode zu entkoppeln, indem der Quellcode lediglich Aufrufe enthält, die auf die jeweiligen einzubettenden Minen verweisen. Diese können somit an ganz anderer Stelle abgelegt sein, vorzugsweise in einer Minenbibliothek. Damit entsteht der Vorteil, dass die Minen auch für unterschiedliche Programme verwendet und dass sie gemeinsam verwaltet werden können. Damit wird die Wartung des Testcodes wesentlich vereinfacht.Furthermore, this feature increases the overall modularity of the test system. It is possible to decouple the mine from the source code by only using the source code Contains views that point to the particular mines to be embedded. These can thus be stored at a completely different location, preferably in a mine library. This has the advantage that the mines are also used for different programs and that they can be managed together. This considerably simplifies the maintenance of the test code.
Das erfindungsgemäße Vorgehen sieht nun vor, dass, nach Einbettung der Minen in den Quellcode, vorzugsweise über Aufrufe bestimmter Minen der Minenbibliothek, diese eingebetteten Minen scharf gestellt werden können. Durch diesen Schritt des Scharfstellens werden sie aktivierbar. Hier kann der Benutzer nochmals Einfluß auf den Test nehmen und beispielsweise bestimmen, welche der eingebetteten Minen für den jeweiligen Test berücksichtigt werden sollen. Dies erhöht die Variabilität des Systems der Erfindung.The inventive approach now provides that, after embedding the mines in the source code, preferably over Views of certain mines of the mine library, these embedded Mines can be focused. Through this step of focusing, they become activatable. Here the user can once again take influence on the test and for example determine which of the embedded mines will be considered for each test should. This increases the variability the system of the invention.
Alternativ ist es jedoch auch möglich, dass der Test so gefahren werden soll, dass grundsätzlich alle der eingebetteten Minen berücksichtigt werden sollen. Dann kann der Schritt des Scharfstellens entfallen.alternative but it is also possible that the test should be driven so that basically all of the embedded mines should be. Then the step of focusing can be omitted.
In einem nächsten Schritt, der auch zur Laufzeit des Programms ausgeführt werden kann, können die als aktivierbar gekennzeichneten Minen, also die scharf gestellten Minen aktiviert werden. Dieser Schritt kann auch mit dem Zünden der Minen gleichgesetzt werden. Dies bedeutet, dass bei Abarbeiten des Programms auch die eingebetteten, scharf gestellten und gezündeten Minen abgearbeitet werden, so dass beobachtet werden kann, wie sich das Programm in den Beobachtungsszenarien verhält, die von diesen Minen evoziert werden.In one next Step that also runs at runtime of the program can, can the marked as activatable mines, so the sharp Mines are activated. This step can also start with the ignition Mine be equated. This means that when processing the Program also the embedded, sharply focused and detonated mines be processed, so that it can be observed how the Program in the observation scenarios evoked by these mines become.
Es kann vorgesehen sein, dass das Aktivieren der Mine oder der Minen automatisch erfolgt. Dies schließt mögliche Fehlerquellen aus. Hier besteht weiterhin die Möglichkeit, dass der Benutzer dennoch dynamisch in den Prozess des automatischen Aktivierens eingreifen kann, indem vorgesehen ist, dass er angeben muss, auf welche Art (Reihenfolge, Kombination) die automatisch zu aktivierenden Minen aktiviert werden sollen. Hier kann z.B. eingestellt werden, dass die Minen sequentiell abgearbeitet werden sollen, also pro Testlauf eine Mine. Andernfalls kann auch bestimmt werden, dass alle Minen in Kombination aktiviert werden sollen, oder eine Untermenge diese Minen in Kombination miteinander. Mit diesem Merkmal wird sowohl die Dynamik als auch die Variabilität des Test deutlich gesteigert.It can be provided that activating the mine or mines automatically done. This excludes possible sources of error. Here there is still the possibility that the user is still dynamic in the process of automatic Activation can be intervened by providing that he specify must, in what way (order, combination) automatically activated mines to be activated. Here, e.g. adjusted be that the mines should be processed sequentially, so one mine per test run. Otherwise, it can also be determined that all mines should be activated in combination, or a subset these mines in combination with each other. With this feature will both the dynamics and the variability of the test significantly increased.
In einer vorteilhaften alternativen Ausführungsform der Erfindung ist vorgesehen, dass das Verfahren zusätzlich ein Deaktivieren von eingebetteten oder von aktivierten Minen vorsieht. Dies ist den Fällen von Vorteil, wenn sich während des Testens ergibt, dass die von bestimmten Minen generierten Testszenarien nicht mehr erforderlich sind. Dann ist ein Durchlaufen dieser Testszenarien nicht mehr notwendig. Dies trägt zur Effizienz des Verfahrens bei.In an advantageous alternative embodiment of the invention provided that the method additionally disabling embedded or activated mines. This is the case of Advantage if during testing shows that the test scenarios generated by certain mines are no longer necessary. Then you have to go through these test scenarios not necessary anymore. This carries to the efficiency of the process.
Die Erfindung sieht nicht nur ein Deaktivieren von Minen vor, sondern auch ein Entschärfen von scharf gestellten Minen. Beide Einstellungsmöglichkeiten führen zwar zu demselben Effekt, nämlich, dass die jeweilige Mine nicht gezündet wird, sie können aber zu unterschiedlichen Zeitpunkten vorgenommen werden. So ist ein Entschärfen noch zu einem wesentlich späteren Zeitpunkt des Testens möglich und erhöht somit die Flexibilität des Verfahrens.The The invention not only provides deactivation of mines, but also also a disarming of sharply set mines. Both settings lead though to the same effect, namely, that the mine did not fire she will, she can but at different times. So is a disarming even at a much later date Time of testing possible and increased thus the flexibility of the procedure.
Es kann einstellbar sein, dass eine vorbestimmbare Auswahl von Bedingungen erfüllt sein muss, damit die diesen Bedingungen zugeordnete Mine aktiviert bzw. gezündet wird. Dies stellt sicher, dass Minen nicht unnötig durchlaufen werden.It can be adjustable that a predeterminable selection of conditions Fulfills must be in order for the mine associated with these conditions to be activated or ignited becomes. This ensures that mines will not go through unnecessarily.
Die vorstehend beschriebenen, erfindungsgemäßen Ausführungsformen des Verfahren können auch als Computerprogrammprodukt ausgebildet sein, mit einem von einem Computer lesbaren Medium und mit einem Computerprogramm und zugehörigen Programmcode-Mitteln, wobei der Computer nach Laden des Computerprogramms zur Durchführung des oben beschriebenen, erfindungsgemäßen Verfahrens veranlaßt wird.The described above embodiments of the method according to the invention can also be designed as a computer program product, with one of a Computer readable medium and with a computer program and associated program code means, the computer after loading the computer program to perform the described above, the inventive method is caused.
Eine alternative Aufgabenlösung sieht ein Speichermedium vor, das zur Speicherung des vorstehend beschriebenen, computerimplementierten Verfahrens bestimmt ist und von einem Computer lesbar ist.A alternative task solution provides a storage medium for storing the above described, computer-implemented method is determined and readable by a computer.
Zusätzliche, vorteilhafte Ausführungsformen ergeben sich aus den Unteransprüchen.additional, yield advantageous embodiments from the dependent claims.
In der folgenden detaillierten Figurenbeschreibung werden nicht einschränkend zu verstehende Ausführungsbeispiele mit deren Merkmalen und weiteren Vorteilen anhand der Zeichnung besprochen. In dieser zeigen:In The following detailed description of the figures are not restrictive Understanding embodiments with their features and other advantages with reference to the drawing discussed. In this show:
Ein
im allgemeinen mit
Nachdem
die Software Entwicklung abgeschlossen ist und ein zu testender
Quellcode
Ein
nach dem Übersetzen
bzw. Compilieren des Quellcodes
Wesentlich
für die
Erfindung ist, dass die Minen
Die
Minen
Das erfindungsgemäße System und die erfindungsgemäße Vorrichtung greifen weiterhin zu auf bzw. umfassen weiterhin:
- – zumindest
eine Zugriffseinheit
20 , die zum Zugriff auf eine Menge von Minen12 bestimmt ist, die Beobachtungsszenarien generieren, unter denen das Softwareprogramm10 beobachtet werden kann, - – zumindest
eine Einbettungseinheit
22 , die zum Einbetten von Minen12 in den Quellcode14 des Softwareprogramms10 bestimmt ist und - – zumindest
eine Simulationseinheit
26 , die zum Simulieren von zumindest einem Beobachtungsszenario bestimmt ist, indem zumindest eine eingebettete Mine12 aktiviert wird.
- - At least one access unit
20 to access a lot of mines12 is determined to generate the observation scenarios under which the software program10 can be observed - - at least one embedding unit
22 for embedding mines12 in the source code14 of the software program10 is determined and - - at least one simulation unit
26 , which is for simulating at least one observation scenario, by at least one embedded mine12 is activated.
In
Dabei
wird auf die Simulationseinheit
In
In
einer vorteilhaften Ausführungsform
geschieht dies automatisch, so dass die Steuerung der Minen automatisch
erfolgt. An dieser Stelle wird ein geändertes Verhalten provoziert
und das Programm
Wenn
der Test oder die Abfolge von Tests erfolgreich war, kann bestimmt
werden, dass der Minencode nicht Bestandteil des compilierten Produktcodes
sein soll, damit der Produktcode durch Minen
Andernfalls
(falls bestimmt wird, dass der Verminungscode nicht aus der Produktversion
entfernt werden soll), ist erfindungsgemäß sichergestellt, dass der
Zündungsmechanismus
für die
Minen
Falls
der Test ein Fehlverhalten des Programms
Eine prototypische Version des erfindungsgemäßen Systems ist in drei Projekte gegliedert:
- 1. ein Mining-Projekt: Hier befindet sich die erforderliche Infrastruktur zusammen mit dem exemplarischen Minentyp.
- 2. ein ProductCode-Projekt: Hier ist der Produktcode repräsentiert, der beobachtet werden soll.
- 3. ein MiningTest-Projekt: Dieses Projekt repräsentiert den Produktcode.
- 1. a mining project: Here is the required infrastructure together with the exemplary mine type.
- 2. a ProductCode project: Here the product code is represented, which is to be observed.
- 3. A MiningTest project: This project represents the product code.
Im Unterschied zu dem Vorgehen nach dem Stand der Technik werden anstelle von Macros "Conditional"-Attribute der .NET-Klasse eingesetzt.in the Difference to the procedure according to the prior art instead used by macros "conditional" attributes of the .NET class.
Ein wesentlicher Vorteil der erfindungsgemäßen Lösung liegt darin, dass der Verminungscode teilweise oder auch vollständig aus der Produktversion des Programms entfernt werden kann. Damit wird der Produktcode leichter lesbar und ist auch einfacher zu warten.One An essential advantage of the solution according to the invention is that the Mine code partially or completely from the product version the program can be removed. This will make the product code easier readable and is also easier to maintain.
Nicht nur Minentypen, sondern auch Mineninstanzen können gezielt gezündet werden. Es ist also möglich, nur eine Instanz eines bestimmten Minentyps zu aktivieren (wie z.B. nur das Fehlschlagen einer Speicherallozierung in einer bestimmten Methode, während alle anderen Speicheranforderungen noch funktionieren sollen). Die gezielte Steuerung von Beobachtungssituationen wird damit stark vereinfacht.Not only mine types, but also mine instances can be targeted detonated. So it's possible to activate only one instance of a particular mine type (e.g. just the failure of a memory allocation in a particular one Method while all other memory requirements should still work). The Targeted control of observation situations thus becomes strong simplified.
Weiterhin unterstützt die Erfindung eine offene Menge an verschiedenen Minentypen, so dass flexibel auf neue Bedingungen für benötigte Beobachtungssituationen reagiert werden kann, ohne dass der Testcode verändert werden muss.Farther supports the invention an open set of different mine types, so that flexible to new conditions for needed observation situations can be reacted without the test code must be changed.
Erfindungsgemäß kann das
Aktivieren und/oder Deaktivieren von Minen
Da
die Mineninstanzen über
Parameter eingestellt werden können,
kann der Testercode verändert
werden, ohne dass der Quelltext
Es
ist weiterhin möglich,
ein Test-Review vorzusehen, mit dem die aktivierten Minen
Claims (29)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410005544 DE102004005544B4 (en) | 2004-02-04 | 2004-02-04 | Method and device for monitoring a software-related system and / or a software program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200410005544 DE102004005544B4 (en) | 2004-02-04 | 2004-02-04 | Method and device for monitoring a software-related system and / or a software program |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102004005544A1 true DE102004005544A1 (en) | 2005-09-08 |
DE102004005544B4 DE102004005544B4 (en) | 2010-07-01 |
Family
ID=34832516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200410005544 Expired - Fee Related DE102004005544B4 (en) | 2004-02-04 | 2004-02-04 | Method and device for monitoring a software-related system and / or a software program |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102004005544B4 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656009A (en) * | 2021-08-26 | 2021-11-16 | 五八同城信息技术有限公司 | Macro processing method and device, electronic equipment and storage medium |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067639A (en) * | 1995-11-09 | 2000-05-23 | Microsoft Corporation | Method for integrating automated software testing with software development |
-
2004
- 2004-02-04 DE DE200410005544 patent/DE102004005544B4/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6067639A (en) * | 1995-11-09 | 2000-05-23 | Microsoft Corporation | Method for integrating automated software testing with software development |
Non-Patent Citations (2)
Title |
---|
LAST,Mark u.a.: The Data Mining Approach to Auto- mated Software Testing. In: KDD-2003 Proceedings of the Ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. The Ass- ociation for Computing Machinery, New York, NY., USA, Edited by Domingos, Pedro et al |
LAST,Mark u.a.: The Data Mining Approach to Auto- mated Software Testing. In: KDD-2003 Proceedings of the Ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. The Ass- ociation for Computing Machinery, New York, NY., USA, Edited by Domingos, Pedro et al * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656009A (en) * | 2021-08-26 | 2021-11-16 | 五八同城信息技术有限公司 | Macro processing method and device, electronic equipment and storage medium |
CN113656009B (en) * | 2021-08-26 | 2024-02-02 | 五八同城信息技术有限公司 | Macro processing method, macro processing device, electronic equipment and storage medium |
Also Published As
Publication number | Publication date |
---|---|
DE102004005544B4 (en) | 2010-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69816830T3 (en) | Vehicle Service System with Web Server | |
EP2009525B1 (en) | Test device and method for testing at least one electronic control system | |
DE19959157C2 (en) | Improved functional testing by filtering rough mutations | |
DE102017211433B4 (en) | Procedure for performing a function test of a control unit in a hardware-in-the-loop test, HIL test, and HIL test bench and control unit | |
DE102006019292A1 (en) | Modeling programmable devices | |
EP3709166B1 (en) | Method and system for secure signal manipulation for testing integrated security functionalities | |
EP3379351B1 (en) | Method for operating an automation device and automation device | |
EP3306295B1 (en) | Method and device for testing electronic controls, in particular for testing of automobile control systems | |
DE3223584C2 (en) | ||
DE102004005544B4 (en) | Method and device for monitoring a software-related system and / or a software program | |
EP2083339A1 (en) | Method and device for performing tests through functionally cascaded test and experimentation devices | |
DE102006040794A1 (en) | Software program for implementing testing of e.g. electronic component, has two libraries with respective compiled routine coupled with function call when program is linked and is not linked in mode, respectively | |
EP2863277A1 (en) | Method for device simulation | |
EP2811352A1 (en) | Method for processing an automation project by a plurality of processing stations | |
EP3335084B1 (en) | Simulation method for simulation of real control for an industrial process, plant or a machine and simulation system for carrying out such a simulation method | |
EP2482148A1 (en) | Method for projecting and/or programming a multi-functional component of an industrial automation assembly | |
DE10332452A1 (en) | Method for operating control-and regulating-appliance e.g. for motor vehicle functions, requires encoding of programs and data ready for storage in control- and regulating appliance | |
EP3884636A1 (en) | Method for processing application programs in a distributed automation system | |
DE102006061796A1 (en) | Method and device for dynamic treatment of objects | |
DE102022208030A1 (en) | Method for collaboratively creating a software product and method for responding to an error | |
DE102008056434A1 (en) | Method for verifying systems assembled from software components, involves bringing together software components to system abstractions for verification, where verifying conditions for software components are loaded | |
DE102008052534A1 (en) | Software module integrating method for electronic controller of e.g. brake regulation system, in motor vehicle, involves exchanging modules between teams for forming software to exchange information of RAM data structure | |
DE10125385B4 (en) | Device, arrangement and method for parameterization, configuration and commissioning of control systems as well as for the timing of a system | |
Degutis | How to speed up BDD automated acceptance testing for safety-critical systems | |
DE102021118943A1 (en) | Loop mode for simulated ECUs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8120 | Willingness to grant licences paragraph 23 | ||
8364 | No opposition during term of opposition | ||
R081 | Change of applicant/patentee |
Owner name: SIEMENS HEALTHCARE GMBH, DE Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |