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 PDF

Info

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
Application number
DE200410005544
Other languages
German (de)
Other versions
DE102004005544B4 (en
Inventor
Armin Michel
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Healthcare GmbH
Original Assignee
Siemens AG
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 AG filed Critical Siemens AG
Priority to DE200410005544 priority Critical patent/DE102004005544B4/en
Publication of DE102004005544A1 publication Critical patent/DE102004005544A1/en
Application granted granted Critical
Publication of DE102004005544B4 publication Critical patent/DE102004005544B4/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Abstract

Testing method for a software system and or a software program, whereby errors are for tested for using at least one observation scenario. The method has the following steps: access to a quantity of mines that generate particular scenarios under which the behavior of the program can be monitored and embedding of the mines in the source code of the software program. A particular scenario is then observed by running the program and activating the embedded mine. Independent claims are also included for the following:- (A) a system for monitoring a software system and or program and; (B) a device for monitoring a software system and or program.

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.
Based on the above-described prior art, this object is achieved by the features of the invention, in particular by a method for monitoring a software-related system and / or a software program, preferably for testing for errors under at least one observation scenario, with the following steps:
  • - 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.
A task solution according to claim 15 provides a system for monitoring a software-related system and / or a software program, preferably for testing the software program for errors under at least one observation scenario, with the following modules:
  • 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.
Furthermore, the object is achieved by a device for monitoring a software-related system and / or software program, preferably for testing for errors under at least one observation scenario, with the following modules:
  • 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.
The solution according to the invention provides that the preparations for a test can be divided into different phases:
  • 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:

1 Ein Ablaufdiagramm für ein erfindungsgemäßes Testverfahren und 1 A flow chart for an inventive test method and

2 eine Übersicht über die wesentlichen Bauteile gemäß der bevorzugten Ausführungsform der Erfindung. 2 an overview of the essential components according to the preferred embodiment of the invention.

Ein im allgemeinen mit 10 bezeichnetes Softwareprogramm soll unter bestimmten Szenarien beobachtet werden. Vorzugsweise soll das Softwareprogramm bzw. Programm 10 getestet werden. Dafür werden erfindungsgemäß Minen 12 in das Programm 10 eingebracht. Die Minen 12 sind als Softwarecode ausgebildet.A generally with 10 designated software program should be observed under certain scenarios. Preferably, the software program or program 10 be tested. Therefore are inventively mines 12 in the program 10 brought in. The mines 12 are designed as software code.

Nachdem die Software Entwicklung abgeschlossen ist und ein zu testender Quellcode 14 des Programms 10 generiert worden ist, werden die Minen 12 in den Quellcode 14 eingebracht.After the software development is complete and a source code to be tested 14 of the program 10 has been generated, the mines 12 in the source code 14 brought in.

Ein nach dem Übersetzen bzw. Compilieren des Quellcodes 14 generierter compilierter Code 16 kann zum Ablauf gebracht werden. Der compilierte Code 16 enthält – zumindest während des Testverfahrens – die vorgesehenen Minen 12. Nach erfolgreichem Abschluß des Testverfahrens können die Minen 12 aus dem compilierten Code 16 entfernt werden. Damit enthält der compilierte Code bzw. der Produktcode 16 keinen Hinweis mehr auf die verwendeten Minen 12.One after translating or compiling the source code 14 generated compiled code 16 can be brought to expiration. The compiled code 16 contains - at least during the test procedure - the intended mines 12 , After successful completion of the test procedure, the mines 12 from the compiled code 16 be removed. This contains the compiled code or product code 16 no indication of the mines used 12 ,

Wesentlich für die Erfindung ist, dass die Minen 12 sich nicht notwendigerweise auf Fehlersituationen beziehen müssen, sondern, dass diese so ausgelegt sein können, um im allgemeinen eine Veränderung des Software Verhaltens zu generieren und das Programm 10 unter diesen (gezielt geänderten) Bedingungen zu beobachten. Das Verfahren dient somit der Steuerung und/oder Kontrolle des Ablaufverhaltens des Programms zur Laufzeit mit externen Mitteln, die nicht direkt bzw. unmittelbar im Quellcode 14 definiert sind, so dass bei einer gewünschten Änderung der Laufzeitbedingungen und/oder des Laufzeitverhaltens des Programms eine entsprechende Modifikation des Quellcodes 14 nicht erforderlich ist.Essential to the invention is that the mines 12 they do not necessarily have to relate to error situations, but that they may be designed to generally generate a change in software behavior and the program 10 to observe under these (specifically changed) conditions. The method thus serves to control and / or control the execution behavior of the program at runtime with external means that are not directly or directly in the source code 14 are defined, so that when a desired change in the runtime conditions and / or the runtime behavior of the program, a corresponding modification of the source code 14 is not required.

Die Minen 12 sind vorzugsweise als Softwarecode ausgebildet und in einer Minen-Bibliothek 18 abgelegt. Hier können alle Minen 12 eines und/oder verschiedener Testvorgänge abgelegt und zentral verwaltet werden. Damit entsteht der Vorteil, dass der Entwurf der Minen 12, die dazu ausgelegt sind, ein bestimmtes geändertes Verhalten des zu testenden Systems zu provozieren, vollständig entkoppelt werden kann von dem spezifischen Testfall. Damit können allgemeingültige Minen 12 generisch für unterschiedliche Beobachtungs- und Testsituationen herangezogen werden. Dies muß allerdings nicht notwendigerweise so sein, sondern es ist ebenso möglich, dass nur solche Minen 12 in einer Minen-Bibliothek 18 zusammengefaßt sind, die für einen spezifischen Testfall entwickelt worden sind.The mines 12 are preferably formed as software code and in a mine library 18 stored. Here are all mines 12 one and / or various test procedures are stored and centrally managed. This creates the advantage that the design of the mines 12 , which are designed to provoke a particular changed behavior of the system under test, can be completely decoupled from the specific test case. This can be generalized mines 12 Generically used for different observation and test situations. This need not necessarily be so, but it is also possible that only such mines 12 in a mine library 18 summarized that have been developed for a specific test case.

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 Minen 12 bestimmt ist, die Beobachtungsszenarien generieren, unter denen das Softwareprogramm 10 beobachtet werden kann,
  • – zumindest eine Einbettungseinheit 22, die zum Einbetten von Minen 12 in den Quellcode 14 des Softwareprogramms 10 bestimmt ist und
  • – zumindest eine Simulationseinheit 26, die zum Simulieren von zumindest einem Beobachtungsszenario bestimmt ist, indem zumindest eine eingebettete Mine 12 aktiviert wird.
The system according to the invention and the device according to the invention continue to apply or furthermore comprise:
  • - At least one access unit 20 to access a lot of mines 12 is determined to generate the observation scenarios under which the software program 10 can be observed
  • - at least one embedding unit 22 for embedding mines 12 in the source code 14 of the software program 10 is determined and
  • - at least one simulation unit 26 , which is for simulating at least one observation scenario, by at least one embedded mine 12 is activated.

In 2 ist das Zusammenwirken und die datentechnische Kommunikation zwischen den einzelnen Bauteilen dargestellt. Auf die Minenbibliothek 18 und die darin organisierten Minen 12 greift die Zugriffseinheit 20 des erfindungsgemäßen Systems zu. Über die Einbettungseinheit 22 wird eine Auswahl von Minen 12 in den Quellcode 14 des Programms 10 eingebracht. Nachdem der Quellcode 14 durch den Compiler 24 übersetzt worden ist, kann das Programm 10 zur Ausführung gebracht werden.In 2 the interaction and the data communication between the individual components is shown. On the mine library 18 and the mines organized in it 12 accesses the access unit 20 of the system according to the invention. About the embedding unit 22 will be a selection of mines 12 in the source code 14 of the program 10 brought in. After the source code 14 through the compiler 24 the program can be translated 10 be executed.

Dabei wird auf die Simulationseinheit 26 zugegriffen, die über eine Schnittstelle zum Anwender eine auch zur Laufzeit dynamische Einstellung und Anpassung des jeweiligen Tests vorsieht.It is on the simulation unit 26 accessed, which provides via an interface to the user at a dynamic setting and adjustment of the respective test.

In 1 ist der grundlegende Ablauf des erfindungsgemäßen Verfahrens angedeutet. Nachdem die Minen 12 durch Zugriff auf die Minen-Bibliothek 18 in den Quellcode 14 eingebracht worden sind, ist es vorgesehen, dass aus der Menge der eingebrachten Minen 12 alle oder eine Teilmenge davon in Bezug auf einen bestimmten Test scharf gestellt werden. Die Entscheidung, ob und welche Minen in den Quellcode 14 eingebracht werden sollen, kann erfindungsgemäß leicht über die Archivumgebung (Buildsystem) mittels einer spezifischen Compilereinstellung definiert werden (z.B. mit der Festlegung: 'Debug Mode' mit Minen – 'Release Mode' ohne Minen). Nach Compilierung des Codes ist vorgesehen, dass alle oder eine Teilmenge der scharf gestellten Minen 12 gezündet bzw. aktiviert werden.In 1 the basic sequence of the method according to the invention is indicated. After the mines 12 by accessing the mine library 18 in the source code 14 have been introduced, it is envisaged that from the amount of mines introduced 12 all or a subset of them are focused on a particular test. The decision whether and which mines in the source code 14 According to the invention, it can easily be defined via the archive environment (build system) by means of a specific compiler setting (eg with the definition: 'debug mode' with mines - 'release mode' without mines). After compilation of the code is provided that all or a subset of the focused mines 12 ignited or activated.

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 10 kann unter diesen Bedingungen getestet werden.In an advantageous embodiment, this happens automatically, so that the control of the mines takes place automatically. At this point a changed behavior is provoked and the program 10 can be tested under these conditions.

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 12 nicht unnötig kompliziert wird. In diesem Fall kann bestimmt werden, dass der Verminungsocde vollständig aus der Produktversion des Programms entfernt wird.If the test or sequence of tests was successful, it can be determined that the mine code should not be part of the compiled product code to mine the product code 12 not unnecessarily complicated. In this case, it can be determined that the mining document is completely removed from the product version of the program.

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 12 deaktiviert ist, so dass ein unbeabsichtig tes Zünden von Minen 12 und damit ein Fehlverhalten bei Ablauf der Produktversion des Programms 10 sicher vermieden wird.Otherwise (if it is determined that the mining code should not be removed from the product version), is sicherge according to the invention represents that the firing mechanism for the mines 12 is disabled, allowing accidental detonation of mines 12 and thus a misconduct at the end of the product version of the program 10 safely avoided.

Falls der Test ein Fehlverhalten des Programms 10 aufdeckt, wird eine neue Release des Programms 10 erzeugt und das eben beschriebene Vorgehen wird iterativ durchlaufen.If the test is a misconduct of the program 10 reveals, will be a new release of the program 10 generated and the procedure just described is iterated.

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.
A prototypical version of the system according to the invention is divided into three projects:
  • 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 12 beliebig oft und auf unterschiedliche Weise erfolgen, um Kombinationen von Sondersituationen abdecken zu können.According to the invention, the activation and / or deactivation of mines 12 Any number of times and in different ways to cover combinations of special situations can.

Da die Mineninstanzen über Parameter eingestellt werden können, kann der Testercode verändert werden, ohne dass der Quelltext 14 des Programms 10 verändert werden muss.Since the mine instances can be set via parameters, the tester code can be changed without the source code 14 of the program 10 must be changed.

Es ist weiterhin möglich, ein Test-Review vorzusehen, mit dem die aktivierten Minen 12 und das diesbezügliche Verhalten des Programms 10 mitgeführt bzw. geloggt wird. Damit ist es auch möglich zu prüfen, ob der Einsatz der Minen 12 fehlerfrei erfolgt ist.It is also possible to provide a test review with which the activated mines 12 and the related behavior of the program 10 is carried or logged. Thus it is also possible to check if the use of mines 12 error-free is done.

Claims (29)

Verfahren zur Beobachtung eines software-bezogenen Systems und/oder eines Softwareprogramms (10), vorzugsweise zum Testen auf Fehler unter zumindest einem Beobachtungsszenario, mit folgenden Schritten: – Zugriff auf eine Menge von Minen (12), die Beobachtungsszenarien generieren, unter denen das Softwareprogramm (10) beobachtet werden kann, – Einbetten von Minen (12) in einen Quellcode (14) des Softwareprogramms (10) und – Simulieren von zumindest einem Beobachtungsszenario, indem zumindest eine eingebettete Mine (12) aktiviert wird.Method for monitoring a software-related system and / or a software program ( 10 ), preferably for testing for errors under at least one observation scenario, comprising the following steps: - accessing a set of mines ( 12 ) that generate observation scenarios under which the software program ( 10 ), - embedding mines ( 12 ) into a source code ( 14 ) of the software program ( 10 ) and - simulating at least one observation scenario by having at least one embedded mine ( 12 ) is activated. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die eingebettete Mine (12) zur Laufzeit des Programms (10) aktiviert werden kann.Method according to claim 1, characterized in that the embedded mine ( 12 ) during the period of the program ( 10 ) can be activated. Verfahren nach zumindest einem der Ansprüche 1 oder 2, dadurch gekennzeichnet, dass die Mine (12) als Softwarecode ausgebildet ist, der getrennt oder zusammen mit dem Softwareprogramm (10) compiliert wird.Method according to at least one of claims 1 or 2, characterized in that the mine ( 12 ) is designed as software code which is separated or together with the software program ( 10 ) is compiled. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Beobachtungsszenario zur Laufzeit des Softwareprogramms (10) dynamisch verändert werden kann.Method according to at least one of the preceding claims, characterized in that the observation scenario at runtime of the software program ( 10 ) can be changed dynamically. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die eingebetteten Minen (12) wahlweise teilweise oder vollständig aus einem compilierten Code des Softwareprogramms (10) entfernt werden.Method according to at least one of the preceding claims, characterized in that the embedded mines ( 12 ) optionally partially or completely from a compiled code of the software program ( 10 ) are removed. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Mine (12) zumindest durch den Vorgang des Compilierens vom Quellcode (14) und/oder von einem Produktcode (16) entkoppelt wird.Method according to at least one of the preceding claims, characterized in that the mine ( 12 ) at least by the process of compiling from the source code ( 14 ) and / or a product code ( 16 ) is decoupled. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Aktivieren der Mine bzw. der Minen (12) automatisch erfolgt.Method according to at least one of the preceding claims, characterized in that the activation of the mine (s) ( 12 ) automatically. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren zusätzlich den Verfahrensschritt umfaßt: – Scharfstellen der eingebetteten Minen (12) durch Auswahl von aktivierbaren Minen (12) aus der Menge der Minen (12), die zur Beobachtung des Programms (10) berücksichtigt werden sollen.Method according to at least one of the preceding claims, characterized in that the method additionally comprises the step of: - focusing the embedded mines ( 12 ) by selecting activatable mines ( 12 ) from the crowd of the mines ( 12 ) used to monitor the program ( 10 ) should be taken into account. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren zusätzlich den Verfahrensschritt umfaßt: – Deaktivieren von zumindest einer eingebetteten Mine (12) zur Laufzeit des Programms (10).Method according to at least one of the preceding claims, characterized in that the method additionally comprises the method step: - deactivating at least one embedded mine ( 12 ) during the period of the program ( 10 ). Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Einbetten der Mine (12) in den Quellcode (14) des Softwareprogramms (10) über eine Einstellung eines Compilers (24) erfolgt, der zur Compilierung des zu beobachtenden Softwareprogramms (10) bestimmt ist.Method according to at least one of the preceding claims, characterized in that the embedding of the mine ( 12 ) into the source code ( 14 ) of the software program ( 10 ) about a setting of a compiler ( 24 ), which is used to compile the software program to be monitored ( 10 ) is determined. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass die Minen (12) parametrisierbar sind.Method according to at least one of the preceding claims, characterized in that the mines ( 12 ) are parameterizable. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren auf vordefinierte Minen (12), insbesondere auf zumindest eine Minen-Bibliothek (18), zugreift.Method according to at least one of the preceding claims, characterized in that the method is based on predefined mines ( 12 ), in particular at least one mine library ( 18 ), accesses. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Aktivieren und ein Auslösen der Minen (12) erfolgt, falls vorbestimmbare Bedingungen erfüllt sind.Method according to at least one of the preceding claims, characterized in that the activation and triggering of the mines ( 12 ) takes place, if predeterminable conditions are met. Verfahren nach zumindest einem der vorstehenden Ansprüche, dadurch gekennzeichnet, dass das Verfahren ein Entschärfen von scharf gestellten Minen (12) vorsieht.Method according to at least one of the preceding claims, characterized in that the method comprises defusing sharply set mines ( 12 ). System zur Beobachtung eines software-bezogenen Systems und/oder eines Softwareprogramms (10), vorzugsweise zum Testen auf Fehler unter zumindest einem Beobachtungsszenario, mit folgenden Modulen: – zumindest einer Zugriffseinheit (20), die zum Zugriff auf eine Menge von Minen (12) bestimmt ist, die Beobachtungsszenarien generieren, unter denen das Softwareprogramm (10) beobachtet werden kann, – zumindest einer Einbettungseinheit (22), die zum Einbetten von Minen (12) in einen Quellcode (14) des Softwareprogramms (10) bestimmt ist und – zumindest einer Simulationseinheit (26), die zum Simulieren von zumindest einem Beobachtungsszenario bestimmt ist, indem zumindest eine eingebettete Mine (12) aktiviert wird.System for monitoring a software-related system and / or a software program ( 10 ), preferably for testing for errors under at least one observation scenario, with the following modules: - at least one access unit ( 20 ) used to access a lot of mines ( 12 ) generate the observation scenarios under which the software program ( 10 ), - at least one embedding unit ( 22 ) used for embedding mines ( 12 ) into a source code ( 14 ) of the software program ( 10 ) and - at least one simulation unit ( 26 ) intended to simulate at least one observation scenario by having at least one embedded mine ( 12 ) is activated. System nach Anspruch 15, dadurch gekennzeichnet, dass die eingebettete Mine (12) zur Laufzeit des Programms (10) aktiviert werden kann.System according to claim 15, characterized in that the embedded mine ( 12 ) during the period of the program ( 10 ) can be activated. System nach zumindest einem der Ansprüche 15 oder 16, dadurch gekennzeichnet, dass die Mine (12) als Softwarecode ausgebildet ist, der getrennt oder zusammen mit dem Softwareprogramm (10) compiliert wird.System according to at least one of claims 15 or 16, characterized in that the mine ( 12 ) is designed as software code which is separated or together with the software program ( 10 ) is compiled. System nach zumindest einem der vorstehenden Ansprüche 15 bis 17, dadurch gekennzeichnet, dass das Beobachtungsszenario zur Laufzeit des Softwareprogramms (10) dynamisch verändert werden kann.System according to at least one of the preceding claims 15 to 17, characterized in that the observation scenario at runtime of the software program ( 10 ) can be changed dynamically. System nach zumindest einem der vorstehenden Ansprüche 15 bis 18, dadurch gekennzeichnet, dass die eingebetteten Minen (12) wahlweise teilweise oder vollständig aus einem compilierten Code (16) des Softwareprogramms (10) entfernt werden .System according to at least one of the preceding claims 15 to 18, characterized in that the embedded mines ( 12 ) optionally partially or completely from a compiled code ( 16 ) of the software program ( 10 ) are removed. System nach zumindest einem der vorstehenden Ansprüche 15 bis 19, dadurch gekennzeichnet, dass die Mine (12) zumindest durch den Vorgang des Compilierens vom Quellcode (14) und/oder von einem Produktcode (16) entkoppelt wird.System according to at least one of the preceding claims 15 to 19, characterized in that the mine ( 12 ) at least by the process of compiling from the source code ( 14 ) and / or a product code ( 16 ) is decoupled. System nach zumindest einem der vorstehenden Ansprüche 15 bis 20, dadurch gekennzeichnet, dass das Aktivieren der Mine bzw. der Minen (12) automatisch erfolgt.System according to at least one of the preceding claims 15 to 20, characterized in that the activation of the mine (s) ( 12 ) automatically. System nach zumindest einem der vorstehenden Ansprüche 15 bis 21, dadurch gekennzeichnet, dass das System zusätzlich folgendes umfaßt: – Scharfstellen der eingebetteten Minen (12) durch Auswahl von aktivierbaren Minen (12) aus der Menge der Minen, die zur Beobachtung des Programms (10) berücksichtigt werden sollen.System according to at least one of the preceding claims 15 to 21, characterized in that the system additionally comprises: - focusing of the embedded mines ( 12 ) by selecting activatable mines ( 12 ) from the quantity of mines used to monitor the program ( 10 ) should be taken into account. System nach zumindest einem der vorstehenden Ansprüche 15 bis 22, dadurch gekennzeichnet, dass das System zusätzlich folgendes umfaßt: – Deaktivieren von zumindest einer eingebetteten Mine (12) zur Laufzeit des Programms (10).System according to at least one of the preceding claims 15 to 22, characterized in that the system additionally comprises: - deactivating at least one embedded mine ( 12 ) during the period of the program ( 10 ). System nach zumindest einem der vorstehenden Ansprüche 15 bis 23, dadurch gekennzeichnet, dass das Einbetten der Mine (12) in den Quellcode (14) des Softwareprogramms (10) über eine Einstellung eines Compilers (24) erfolgt, der zur Compilierung des zu beobachtenden Softwareprogramms (10) bestimmt ist.System according to at least one of the preceding claims 15 to 23, characterized in that the embedding of the mine ( 12 ) into the source code ( 14 ) of the software program ( 10 ) about a setting of a compiler ( 24 ), which is used to compile the software program to be monitored ( 10 ) is determined. System nach zumindest einem der vorstehenden Ansprüche 15 bis 24, dadurch gekennzeichnet, dass die Minen (12) parametrisierbar sind.System according to at least one of the preceding claims 15 to 24, characterized in that the mines ( 12 ) are parameterizable. System nach zumindest einem der vorstehenden Ansprüche 15 bis 25, dadurch gekennzeichnet, dass das System auf vordefinierte Minen (12), insbesondere auf zumindest eine Minen-Bibliothek (18), zugreift.System according to at least one of the preceding claims 15 to 25, characterized in that the system is based on predefined mines ( 12 ), in particular at least one mine library ( 18 ), accesses. System nach zumindest einem der vorstehenden Ansprüche 15 bis 26, dadurch gekennzeichnet, dass das Aktivieren und ein Auslösen der Minen (12) erfolgt, falls vorbestimmbare Bedingungen erfüllt sind.System according to at least one of the preceding claims 15 to 26, characterized in that the activation and triggering of the mines ( 12 ) takes place, if predeterminable conditions are met. System nach zumindest einem der vorstehenden Ansprüche 15 bis 27, dadurch gekennzeichnet, dass das System ein Entschärfen von scharf gestellten Minen (12) vorsieht.System according to at least one of the preceding claims 15 to 27, characterized in that the system defuses sharply set mines ( 12 ). Vorrichtung zur Beobachtung eines software-bezogenen Systems und/oder eines Softwareprogramms (10), vorzugsweise zum Testen auf Fehler unter zumindest einem Beobachtungsszenario, mit folgenden Modulen: – zumindest einer Zugriffseinheit (20), die zum Zugriff auf eine Menge von Minen (12) bestimmt ist, die Beobachtungsszenarien generieren, unter denen das Softwareprogramm (10) beobachtet werden kann, – zumindest einer Einbettungseinheit (22), die zum Einbetten von Minen (12) in einen Quellcode (14) des Softwareprogramms (10) bestimmt ist und – zumindest einer Simulationseinheit (26), die zum Simulieren von zumindest einem Beobachtungsszenario bestimmt ist, indem zumindest eine eingebettete Mine (12) aktiviert wird.Device for monitoring a software-related system and / or a software program ( 10 ), preferably for testing for errors under at least one observation scenario, with the following modules: - at least one access unit ( 20 ) used to access a lot of mines ( 12 ) generate the observation scenarios under which the software program ( 10 ), - at least one embedding unit ( 22 ) used for embedding mines ( 12 ) into a source code ( 14 ) of the software program ( 10 ) and - at least one simulation unit ( 26 ) intended to simulate at least one observation scenario by having at least one embedded mine ( 12 ) is activated.
DE200410005544 2004-02-04 2004-02-04 Method and device for monitoring a software-related system and / or a software program Expired - Fee Related DE102004005544B4 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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