DE102008048862A1 - Test module and method for testing an O / R imaging middleware - Google Patents

Test module and method for testing an O / R imaging middleware Download PDF

Info

Publication number
DE102008048862A1
DE102008048862A1 DE200810048862 DE102008048862A DE102008048862A1 DE 102008048862 A1 DE102008048862 A1 DE 102008048862A1 DE 200810048862 DE200810048862 DE 200810048862 DE 102008048862 A DE102008048862 A DE 102008048862A DE 102008048862 A1 DE102008048862 A1 DE 102008048862A1
Authority
DE
Germany
Prior art keywords
test
data
middleware
module
oriented
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.)
Ceased
Application number
DE200810048862
Other languages
German (de)
Inventor
Uwe Dr. Hohenstein
Michael Dr. Jäger
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 AG
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 DE200810048862 priority Critical patent/DE102008048862A1/en
Priority to PCT/EP2009/059846 priority patent/WO2010034548A1/en
Priority to EP09781269A priority patent/EP2329374A1/en
Publication of DE102008048862A1 publication Critical patent/DE102008048862A1/en
Ceased legal-status Critical Current

Links

Classifications

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

Abstract

Die vorliegende Erfindung betrifft ein Testen einer Middleware, welche zum gegenseitigen Abbilden von objektorientierten Daten einer objektorientierten Anwendung und relationalen Daten einer relationalen Datenbank konfiguriert ist. Das Testen wir dabei unter Verwendung eines Datenmodells zum Modellieren von Beziehungstypen relationaler Datenmodelle im Hinblick auf objektorientierte Datenmodelle; unter Verwendung von Testdaten, die gemäß einem Datenmodell der objektorientierten Anwendung bereitgestellte Testdaten sind; unter Verwendung vorgegebener Testfälle zum Testen der Middleware, wobei die Testfälle Abfragen aufweisen, die Datenabfragen der objektorientierten Anwendung an die relationale Datenbank über die Middleware entsprechen; und durch Analyse der Ergebnisse der vorgegebenen Testfälle durchgeführt. Die vorliegende Erfindung betrifft insbesondere Anwendungen mit O/R-Abbildungs-Middlewares und erlaubt ein effizientes und korrektes Handhaben und Betreiben von Prozessen oder Abläufen und/oder Komponenten oder Modulen einer Industriesparte oder von Produkten, die von effizient und korrekt funktionierenden O/R-Abbildungs-Middlewares abhängig sind.The present invention relates to testing of middleware configured to inter-map object-oriented data of an object-oriented application and relational database relational data. We test using a data model to model relationship types of relational data models with respect to object-oriented data models; using test data that is test data provided according to a data model of the object-oriented application; using predetermined test cases for testing the middleware, the test cases having queries corresponding to data queries of the object-oriented application to the relational database via the middleware; and by analyzing the results of the given test cases. More particularly, the present invention relates to applications with O / R imaging middleware and allows efficient and correct handling and operation of processes or processes and / or components or modules of an industry sector or products that require efficient and properly functioning O / R imaging -Middlewares are dependent.

Description

Die Erfindung betrifft das Testen einer Middleware, welche zum gegenseitigen Abbilden von objektorientierten Daten einer objektorientierten Anwendung und relationalen Daten einer relationalen Datenbank konfiguriert ist. Dabei beschreibt die Erfindung eine Testumgebung zum schematischen Ermitteln des Verhaltens der Middleware. Insbesondere betrifft die vorliegende Erfindung ein Testmodul, ein Verfahren zum Testen der Middleware, ein Computerprogrammprodukt durch das das Verfahren implementiert wird und/oder einen Datenträger, welches das Computerprogrammprodukt aufweist.The The invention relates to the testing of middleware that is for mutual Mapping object-oriented data of an object-oriented application and relational data of a relational database is. The invention describes a test environment for a schematic Determine the behavior of the middleware. In particular, the The present invention relates to a test module, a method for testing the Middleware, a computer program product through which the process is implemented and / or a disk containing the computer program product having.

Unter einer Objekt/relationalen (O/R) Abbildungs-Middleware versteht man eine Software, die die Verbindung zwischen einer objektorientierten Anwendung und einer relationalen Datenbank herstellt. Das Einsatzziel dieser O/R-Abbildungs-Middleware ist, die Daten einer Anwendung in einer objektorientierten Datenstruktur auf die tabellarische Speicherstruktur von gängigen relationalen Datenbanksystemen zu übertragen und umgekehrt, insbesondere wenn die objektorientierte Anwendung Daten aus der relationalen Datenbank abfragt. Die Kombination einer objektorientierten Datenstruktur auf der einen Seite und einer relationalen Datenbank auf der anderen Seite stellt einen üblichen Anwendungsfall beim industriellen Einsatz von Software-Systemen dar.Under An object / relational (O / R) mapping middleware is understood a software that links between an object-oriented Application and a relational database. The mission goal this O / R imaging middleware is the data of an application in an object-oriented data structure on the tabular Memory structure of common relational database systems and vice versa, especially when the object-oriented application data from the relational database queries. The combination of an object-oriented data structure on the one hand and a relational database on the other Page represents a usual Application in the industrial use of software systems represents.

1 zeigt einen typischen Aufbau eines Anwendungsfalls einer O/R-Abbildungs-Middleware. Dabei greift eine objektorientierte Anwendung 11 nicht direkt auf die relationale Datenbank 13 zu. Stattdessen ist die O/R-Abbildungs-Middleware 12 dazwischen platziert, um die Verbindung zwischen beiden Seiten herzustellen. Die Objekte der objektorientierten Anwendung 11 werden durch die O/R-Abbildungs-Middleware 12 in Daten umgewandelt, die dem relationalen Schema bzw. Datenmodell der relationalen Datenbank 13 entsprechen und somit in die relationale Datenbank 13 speicherbar sind. Auf diese Weise wird die Persistenz der Daten der objektorientierten Anwendung hergestellt und eine Entkopplung zwischen Speicherung und Verarbeitung der Daten realisiert. D. h. die Objekte der objektorientierten Anwendung 11 werden auf diese Weise dauerhaft in die relationale Datenbank 13 gespeichert und sind von der Datenbank 13 wieder abrufbar und wiederherstellbar. 1 shows a typical structure of an application case of an O / R imaging middleware. An object-oriented application is used 11 not directly to the relational database 13 to. Instead, the O / R mapping middleware is 12 placed in between to make the connection between both sides. The objects of the object-oriented application 11 become through the O / R mapping middleware 12 converted into data corresponding to the relational schema or data model of the relational database 13 correspond and thus in the relational database 13 are storable. In this way, the persistence of the data of the object-oriented application is established and a decoupling between storage and processing of the data is realized. Ie. the objects of the object-oriented application 11 become permanent in the relational database this way 13 saved and are from the database 13 retrievable and recoverable.

Im nachfolgenden werden die Daten der objektorientierten Anwendung, die nach dem objektorientierten Modell der objektorientierten Anwendung erstellt sind und somit als Objekte der objektorientierten Anwendung vorliegen, auch als objektorientierte Daten bezeichnet werden. Ferner werden die Daten der relationalen Datenbank, die nach dem relationalen Schema bzw. Modell der relationalen Datenbank erstellt sind und in Form von Tabellen und/oder Relationen in der relationalen Datenbank vorliegen, auch als relationale Daten bezeichnet.in the The following are the data of the object-oriented application, which is created according to the object-oriented model of the object-oriented application are and thus exist as objects of the object-oriented application, also referred to as object-oriented data. Further will be the data of the relational database, which after the relational Schema or model of the relational database are created and in the form of tables and / or relations in the relational database also known as relational data.

Objektorientierte Software wird in vielen Anwendungen der Industrie eingesetzt. Diese objektorientierten Anwendungen wirken dabei z. B. verwaltend, regelnd, überwachend und/oder steuernd auf die industriellen Prozesse oder Abläufe und/oder auf die industriellen Komponenten oder Module ein. Als Beispiele können hier Produktionsprozesse, Anlagensteuerungsprozesse, Anlagen, Komponente und Module der Anlagen genannt werden. Dabei sind viele und verschiedenartige Einsatzmöglichkeiten gegeben. Ferner werden objektorientierte Anwendungen auch eingesetzt, um Abläufe und/oder Komponenten auch innerhalb von Produkten (z. B. Anlagen, Geräten usw.) zu steuern, zu regeln, zu verwalten und/oder zu überwachen. Auch Produkte selbst können durch objektorientierte Anwendungen gesteuert, geregelt, verwaltet und/oder überwacht werden.object-oriented Software is used in many industrial applications. These Object-oriented applications are effective for z. B. managing, regulating, supervising and / or controlling the industrial processes or processes and / or on the industrial components or modules. As examples can here production processes, plant control processes, plants, component and modules of the facilities. There are many and varied applications given. Furthermore, object-oriented applications are also used to processes and / or components also within products (eg plants, devices etc.) to control, regulate, manage and / or monitor. Even products can do it yourself controlled, regulated, managed by object-oriented applications and / or monitored become.

All diese Anwendungsfälle haben die Gemeinsamkeit, dass die Daten als Objekte der objektorientierten Anwendung behandelt werden. Eine objektorientierte Anwendung selbst ist jedoch nicht in der Lage, diese Objekte dauerhaft zu sichern. Mit der Beendigung der Anwendung und/oder mit dem Schalten oder Wechseln zwischen verschiedenen Arbeitsbereichen der Anwendung gehen die erstellten Objekte und somit die Daten der objektorientierten Anwendung verloren. Aus diesem Grund werden relationale Datenbanken eingesetzt, um eine dauerhafte Speicherung der Daten und somit der Objekte der objektorientierten Anwendung bzw. die Persistenz der objektorientierten Anwendung sicherzustellen und um die Daten dauerhaft abspeichern zu können. Dieses ist im Hinblick auf ein sicheres und korrektes Handhaben und Betreiben von Prozessen oder Abläufen und/oder Komponenten oder Modulen der jeweiligen Industrie oder Produkte von Bedeutung.Alles these applications have the commonality that the data as objects of object-oriented Application to be treated. An object-oriented application itself However, it is not able to secure these objects permanently. With the termination of the application and / or with the switching or Switch between different workspaces of the application the created objects and thus the data of the object-oriented application lost. That's why relational databases are used to a permanent storage of the data and thus the objects of the object-oriented To ensure the application or persistence of the object-oriented application and to save the data permanently. This is in view on a safe and correct handling and operation of processes or sequences and / or components or modules of the respective industry or Products of importance.

Des Weiteren ist auch ein korrektes, fehlerfreies und umfassendes Wiedererhalten bzw. Wiederherstellen der Objekte aus einer relationalen Datenbank wichtig, da ein korrektes und sicheres Handhaben und Betreiben von Prozessen oder Abläufen und/oder Komponenten oder Modulen der jeweiligen Industrie oder Produkte essenziell von der Vollständigkeit und der Korrektheit der wieder gewonnenen Objekte abhängt. Daher erfüllt eine O/R-Abbildungs-Middleware mit der Umwandlung der Objekte einer objektorientierten Anwendung in relationale Datenstrukturen und umgekehrt eine wichtigen Zweck, wobei ein korrekter Ablauf sichergestellt sein muss. Ein sicheres und korrektes Handhaben und Betreiben von Prozessen oder Abläufen und/oder Komponenten oder Modulen der jeweiligen Industrie oder Produkte ist somit stark von einer sicher und korrekt funktionierenden O/R-Abbildungs-Middleware abhängig.Furthermore, correct, error-free and comprehensive retrieval or restoration of the objects from a relational database is also important since the correct and secure handling and operation of processes or processes and / or components or modules of the respective industry or products are essential to completeness and reliability the correctness of the recovered objects. Therefore, an O / R mapping middleware fulfills an important purpose by transforming the objects of an object-oriented application into relational data structures, and vice versa, and ensuring proper operation. Safe and correct handling and operation of processes or processes and / or components or modules of the respective industry or products is thus strongly dependent on a secure and correctly functioning O / R imaging middleware pending.

Derzeit existieren mehrere Softwarelösungen, die derartige O/R-Abbildungs-Middleware implementieren. Beispiele für solche Produkte sind unter anderem Hibernate, TopLink, iBATIS, OpenJPA und Kodo. Diese herkömmlichen Softwarelösungen unterscheiden sich insbesondere darin, nach welchem Verfahren Daten in der Datenbank persistiert bzw. dauerhaft gesichert werden. Unterschiede können zum Beispiel in der Reihenfolge, im Umfang und/oder in der Strukturierung der Persistenzoperationen bestehen. Ebenso übernimmt die O/R-Abbildungs- Middleware das Abfragen von Daten aus der Datenbank, wenn diese von der Anwendung angefordert werden. Auch hier unterscheiden sich die Softwarelösungen in der Reihenfolge, im Umfang und/oder in der Strukturierung, nach der Daten aus der Datenbank gelesen werden.Currently exist several software solutions, implementing such O / R mapping middleware. Examples for such Products include Hibernate, TopLink, iBATIS, OpenJPA and codo. This conventional software solutions differ in particular in which method data persisted or permanently saved in the database. differences can to Example in the order, scope and / or structuring persistence operations. Similarly, the O / R mapping middleware handles the querying data from the database when requested by the application become. Again, the software solutions differ in order, scope, and / or structuring the data is read from the database.

Es ist hervorzuheben, dass die Vorgehensweisen, nach denen die Persistierung und das Abfragen erfolgen, einen entscheidenden Einfluss auf die Geschwindigkeit der Ausführung und damit die Performanz der Anwendung haben. Daher hat man das Verhalten einer O/R-Abbildungs-Middleware bei ihrem Einsatz genau zu kennen, da ansonsten drastische Einbußen bei der Systemleistung zu erwarten sind.It It should be emphasized that the procedures by which the persistence and polling done a decisive impact on speed the execution and thus have the performance of the application. That's why you have the behavior know exactly how to use an O / R imaging middleware otherwise drastic losses are to be expected at the system performance.

Ein Aspekt beim Abrufen der Daten (Daten werden durch die O/R-Abbildungs-Middleware aus der relationalen Datenbank abgefragt und der objektorientierten Anwendung in Form von Objekten bereitgestellt) stellt das sogenannte Fetching-Verhalten dar. Fetching bezieht sich im Allgemeinen auf ein möglichst effizientes Wiedergewinnen bzw. Wiederherstellen von objektorientierten Daten aus einer relationalen Datenbank und wird durch entsprechende Anfragen bzw. Abfragen seitens der objektorientierten Anwendung initiiert. Im Folgenden wird der Begriff ”Fetching” für dieses Wiedergewinnen bzw. Wiederherstellen von objektorientierten Daten verwendet.One Aspect of retrieving the data (data is passed through the O / R mapping middleware queried from the relational database and object-oriented Application provided in the form of objects) provides the so-called Fetching behavior. Fetching generally refers to the most efficient retrieval possible or restoring object-oriented data from a relational one Database and is by appropriate requests or queries the object-oriented application initiated. The following is the Term "Fetching" for this Recovering or restoring object-oriented data used.

Wenn es um Fetching geht so wird zwischen ”Eager Fetching” and ”Lazy Fetching” unterschieden. Unter ”Eager Fetching” ist ein sehr umfangreiches und aufwendiges Wiedergewinnen bzw. Wiederherstellen von objektorientierten Daten zu verstehen, dabei wird eine Abfrage auf den Umfang eines Objektgraphen erweitert. ”Lazy Fetching” bezieht sich wiederum auf ein reduziertes und schnelles Wiederherstellen von objektorientierten Daten. Da diese Begriffe auf dem Gebiet der objektorientierten und relationalen Modellierung üblich geworden sind, wird im Folgenden an diesen Begriffen festgehalten.If Fetching is differentiated between "Eager Fetching" and "Lazy Fetching". Under "Eager Fetching" is a very extensive and costly recovery or restoration to understand object-oriented data, doing a query expanded to the extent of an object graph. "Lazy Fetching" refers turn to a reduced and fast restore of object-oriented data. Since these terms in the field of Object-oriented and relational modeling has become commonplace are, will be held on these terms below.

Ein sogenanntes Eager Fetching zeichnet sich dadurch aus, dass beim Anfordern oder Abfragen eines Objekts durch die objektorientierte Anwendung aus einer relationalen Datenbank nicht nur der direkt korrespondierende Datensatz aus der Datenbank abgerufen wird, sondern darüber hinaus noch weitere Daten mitberücksichtigt werden, die über Beziehungen mit dem eigentlichen (Kern-)Datensatz assoziiert sind. Dieses Verhalten ist besonders dann vorteilhaft, wenn bei der Verarbeitung des eigentlichen Objektes in der objektorientierten Anwendung automatisch auch eine Verarbeitung von mit diesem Objekt assoziierten Daten miteinhergeht. Dieses Verhalten kann aber auch Nachteile aufweisen. Dieses ist insbesondere dann der Fall, wenn durch die Anwendungslogik der objektorientierten Anwendung assoziierte Daten nicht benötigt werden und daher deren Abfrage und deren Erhalt überflüssig sind. Je nachdem ob assoziierte Daten mit abgefragt oder ignoriert werden sollen, handelt es sich um ”Eager Fetching” oder ”Lazy Fetching”.One so-called Eager Fetching is characterized by the fact that the Requesting or querying an object through the object-oriented Application from a relational database not only the direct corresponding record is retrieved from the database, but about that In addition, further data taken into account be over Relationships are associated with the actual (core) record. This behavior is especially beneficial when processing the actual object in the object-oriented application automatically also a processing of data associated with this object miteinhergeht. However, this behavior can also have disadvantages. This is especially the case when through the application logic the object-oriented application associated data are not needed and therefore their query and their receipt are superfluous. Depending on whether associated Data to be queried or ignored is around "Eager Fetching "or" Lazy Fetching ".

Da relationale Datenmodelle mehrere verschiedene Repräsentationsformen von Beziehungen oder Assoziationen erlauben (z. B. 1-zu-1, 1-zu-n oder n-zu-m Beziehungen) und zudem die Assoziationen je nach Anwendungsfall beliebig weit reichen können, ist hier ein großer Spielraum für Implementierungen von O/R-Abbildungs-Middleware gegeben. Diese Implementierungen können auf sehr verschiedenen Wegen gelöst werden. Dabei bietet jede O/R-Abbildungs-Middleware mehrere Stellschrauben, die das Verhalten beeinflussen können und in ihrer Anzahl und Art stark variieren.There relational data models several different forms of representation of relationships or associations (eg 1-to-1, 1-to-n or n-to-m relationships) and also the associations depending on the application can reach as far as you like, is a big one here Travel for Implementations of O / R mapping middleware given. These implementations can be on very different Because of solved become. Each O / R imaging middleware offers several levers, which can influence the behavior and vary greatly in number and type.

Eager Fetching führt dabei je nach Einstellung zu einem oder mehreren Abfrageausdrücken (sogenannte „SELECT-Statements”) unterschiedlicher Komplexität. Die Folge davon ist, dass sich durch eine Vermehrung der Abfrageausdrücke die Verarbeitungszeit schnell vervielfachen kann.Eager Fetching leads Depending on the setting for one or more query expressions (so-called "SELECT statements") different Complexity. The consequence of this is that increasing the number of query expressions increases the processing time can multiply quickly.

Andersherum kann durch Lazy Fetching ein Abfrageausdruck ungünstig reduziert werden, so dass zumindest eine gesonderte weitere Abfrage notwendig wird und ein zusätzlicher Aufwand entsteht. Daher ist die Konfiguration des Fetching-Verhaltens für die Optimierung der Performanz ein wichtiger Bestandteil.The other way round lazy fetching can unfavorably reduce a query expression so that at least one separate further query becomes necessary and one additional Effort arises. Therefore, the configuration of the fetching behavior is for the Optimizing performance is an important part.

Ferner entstehen Probleme dadurch, dass bei existierenden Softwarelösungen das Fetching-Verhalten nur unzureichend dokumentiert ist und/oder von der Dokumentation in Details abweicht. Aufgrund der Vielzahl an Stellschrauben, die das Verhalten beeinflussen, ist eine präzise Dokumentation auch sehr schwierig. Weiterhin kann sich die Implementierung des Fetchings in verschiedenen Versionen einer O/R-Abbildungs-Middleware ändern. Das führt zu einer veränderten Leistung bei einem Versionswechsel. Daraus resultierend sind Tests notwendig, die das Verhalten der O/R-Abbildungs-Middleware analysieren und dokumentieren. Erst darauf basierend kann die beste Konfiguration der O/R-Abbildungs-Middleware in Hinblick auf das Fetching-Verhalten derart bewerkstelligt werden, dass eine optimale Leistung der O/R-Abbildungs-Middleware erreicht werden kann.Furthermore, problems arise in that existing software solutions, the fetching behavior is insufficiently documented and / or deviates from the documentation in details. Due to the large number of setting screws that influence the behavior, precise documentation is also very difficult. Furthermore, the implementation of fetching may change in different versions of O / R mapping middleware. This leads to a changed performance during a version change. As a result, tests are necessary that the behavior of the O / R imaging Middlewa analyze and document. Only then can the best configuration of the O / R mapping middleware be accomplished in terms of fetching behavior such that optimal performance of the O / R imaging middleware can be achieved.

Die Vielzahl der Möglichkeiten zur Konfiguration der O/R-Abbildungs-Middleware Apache OpenJPA verdeutlichen die Problematik der herkömmlichen O/R-Abbildungs-Middleware-Implementierungen und bestätigen gleichzeitig die Notwendigkeit des Testens der O/R-Abbildungs-Middleware-Implementierungen, insbesondere um ein sicheres, korrektes und effizientes Handhaben und Betreiben von Prozessen oder Abläufen und/oder Komponenten oder Modulen der jeweiligen Industrie oder Produkte zu gewährleisten, die von einer sicher, korrekt und effizient funktionierenden O/R-Abbildungs-Middleware abhängig sind.The Variety of possibilities to configure the O / R mapping middleware Apache OpenJPA the problem of conventional O / R-Picture middleware implementations and confirm at the same time, the need to test the O / R mapping middleware implementations, in particular, to ensure safe, correct and efficient handling and operating processes or processes and / or components or Modules to ensure the industry or products, which depend on a secure, correct and efficient O / R mapping middleware.

Im Folgenden wird die Vielzahl der Möglichkeiten zur Konfiguration beispielhaft anhand der O/R- Abbildungs-Middleware Apache OpenJPA erläutert. Dabei sind bei OpenJPA folgende Mechanismen möglich:

  • 1. Konfiguration des Ladeverhaltens in einer XML-Abbildungsdatei: Hierdurch wird das Fetching-Verhalten für Beziehungen festgelegt. Das bedeutet, dass Abfragen und Objekttraversierungen bzw. Objektverfolgungen über diese Beziehungen, die entsprechende Datenobjekte betreffen, automatisch das eingestellte Verhalten annehmen.
  • 2. Konfiguration des Ladeverhaltens als Notieren entsprechender Instanzvariablen im Code: Wie bei der Konfiguration in der XML-Datei wird das Fetching für Beziehungen entsprechend eingestellt, nunmehr aber im Code.
  • 3. Konfiguration von sogenannten Fetch Groups, in denen gezielt Beziehungen zusammengefasst werden können. Für diese Fetch Groups kann das Verhalten z. B. in Richtung Eager Fetching oder Lazy Fetching festgelegt werden. Die Fetch Groups können neben den zuvor genannten Einstellungen existieren und zudem zur Laufzeit aktiviert und deaktiviert werden.
  • 4. Konfiguration einer Abfrage zur Laufzeit, um gezielt das Fetching zu konfigurieren. Hierbei ist es dem Entwickler überlassen, ob eine Abfrage in Einzelfällen oder generell mit dem jeweiligen Fetching-Verhalten durchgeführt wird. Diese Möglichkeit ist ebenfalls mit den zuvor genannten kombinierbar.
In the following, the multitude of configuration options are explained using the Apache OpenJPA O / R mapping middleware, for example. The following mechanisms are possible with OpenJPA:
  • 1. Load Behavior Configuration in an XML Mapping File: This sets the fetching behavior for relationships. This means that queries and object traversals or object tracking via these relationships that affect corresponding data objects automatically assume the set behavior.
  • 2. Configuration of the loading behavior as a note of corresponding instance variables in the code: As with the configuration in the XML file, the fetching for relationships is set accordingly, but now in the code.
  • 3. Configuration of so-called Fetch Groups, in which targeted relationships can be summarized. For these fetch groups, the behavior can be e.g. B. in the direction of Eager Fetching or Lazy Fetching be set. The Fetch Groups can exist in addition to the aforementioned settings and can also be activated and deactivated at runtime.
  • 4. Configure a query at runtime to specifically configure the fetching. It is up to the developer, whether a query in individual cases or generally with the respective Fetching behavior is performed. This possibility can also be combined with the previously mentioned.

Andere Produkte bieten ähnliche Mechanismen an, allerdings in anderen Notationen und mit anderem Verhalten. So bietet Hibernate ebenfalls XML-Konfigurationen und Notationen für eine Eager- und Lazy-Fetching-Einstellung an, zudem auch noch verschiedene Varianten von Ausdrücken zum Abfragen einer relationalen Datenbank wie zum Beispiel von SQL-(Structured Query Language)-Ausdrücken „join”, „select” und „subselect”, mit denen teilweise ein differenzierteres Verhalten einstellen lässt. Dafür fehlen aber die Fetch Groups.Other Products offer similar Mechanisms, but in other notations and with others Behavior. Hibernate also offers XML configurations and Notations for an Eager and Lazy Fetching attitude on, also also different Variants of expressions to query a relational database such as SQL (Structured Query Language) expressions "join", "select" and "subselect" that use partially sets a more differentiated behavior. For missing but the Fetch Groups.

Um eine sinnvolle Leistungsanalyse durchführen zu können, muss beispielsweise bekannt sein, welcher Mechanismus Priori tät bzw. Vorrang vor einem anderen hat. Dies ist insbesondere bei sich widersprechenden Definitionen wichtig. Im OpenJPA zum Beispiel ist die Priorisierung nicht dokumentiert und muss daher durch Tests ermittelt werden. Des Weiteren bestehen neben den oben genannten Mechanismen auch Abstufungen des Eager Fetching-Verhaltens an sich, die angepasst werden können:

  • 1. Es besteht die Möglichkeit, festzulegen, mit welcher Tiefe hintereinander folgende Beziehungen verfolgt werden sollen. Grundsätzlich kann durch Eager Fetching nicht nur das Objekt der direkten Beziehung geladen werden, sondern auch weitere Datenobjekte berücksichtigt werden, die in Relation zum bereits nachgeladenen Objekt stehen. Hierbei ist zu beachten, dass es sich nicht um eine binäre Einstellung handelt, sondern um eine, die graduell angepasst werden sollte. Dementsprechend entstehen für dieses Szenario gleich mehrere Testfälle.
  • 2. Es wird angeboten, die Formulierung von Statements zu beeinflussen: Je nach Abfrage können sich verschiedene Join-Ausdrücke bzw. alternativ dazu die Auftrennung in individuelle Select-Ausdrücke unterschiedlich auf die resultierende Performanz auswirken. Auch hier ist sowohl generell als auch pro Abfragefall eine Einstellung möglich.
To be able to perform a meaningful performance analysis, for example, it must be known which mechanism has priority or priority over another. This is especially important in conflicting definitions. For example, in OpenJPA, prioritization is not documented and therefore needs to be determined through testing. Furthermore, in addition to the above-mentioned mechanisms, there are also gradations of the Eager Fetching behavior per se, which can be adapted:
  • 1. It is possible to determine the depth with which the following relationships should be followed. Basically, Eager Fetching can not only load the object of the direct relationship, but also take into account other data objects that are related to the already reloaded object. It should be noted that this is not a binary setting, but one that should be gradually adjusted. Accordingly, several test cases are created for this scenario.
  • 2. It is offered to influence the formulation of statements: Depending on the query, different join expressions or, alternatively, the separation into individual select expressions may have different effects on the resulting performance. Again, a setting is possible both in general and per query case.

Dadurch, dass die unterschiedlichen Konfigurationspunkte miteinander kombiniert werden können, entsteht eine Vielzahl von Kombinationen, die in unterschiedlichen Testfällen berücksichtigt werden müssen. Der Umfang der Konfigurationsmöglichkeiten macht deutlich, dass ein Testen des Fetching-Verhaltens von großem Nutzen ist.Thereby, that the different configuration points are combined can be creates a variety of combinations in different test cases considered Need to become. The scope of configuration options makes it clear that testing the fetching behavior is of great benefit.

Bisher wurde allerdings auf die bestehende Dokumentation vertraut und bei Leistungsproblemen das Verhalten gezielt für den performanzkritischen Fall untersucht. Folglich wurden Tests bisher allenfalls individuell für einen Integrationsfall einer bestimmten O/R-Abbildungs-Middleware durchgeführt.So far however, was trusted in the existing documentation and at Performance problems the behavior specifically for the performance-critical case examined. As a result, tests have so far been individual for one Integration case of a specific O / R imaging middleware performed.

Für einen wirtschaftlichen Einsatz birgt dieses Vorgehen aber zumindest die folgenden Probleme mit sich:

  • 1. Beim Schritt der Vorbereitung: Für die Anwendungslogik müssen die relevanten Beziehungen im Datenmodell identifiziert werden. Hierbei entsteht die besondere Problematik, dass das Datenmodell zunächst analysiert werden muss, wenn Datenmodell und Integration der O/R-Abbildungs-Middleware von unterschiedlichen Personen durchgeführt werden. Der Analysevorgang besteht darin, die für das Fetching-Verhalten relevanten Stellen im Datenmodell zu identifizieren.
  • 2. Beim Test-Design: Die Einrichtung der Tests muss verschiedene Faktoren berücksichtigen: Es müssen Testfälle je nach Beziehungstyp, Tiefe und auch Konfigurationsmöglichkeit der O/R-Abbildungs-Middleware erstellt werden. Das erfordert temporäre Änderungen im Code und in der Konfiguration – und das rein zu Testzwecken. Darüber hinaus ist die Erstellung von Testdaten notwendig, die in den meisten Fällen aufwändiger ist als die Erzeugung von Testdaten für Funktionstests, da die Daten ausreichende Tiefe in Hinblick auf die Beziehungen aufweisen müssen.
  • 3. Bei Testdurchführungen: Die Auswertung der Tests auf manuelle Weise bedeutet die Auswertung der an die Datenbank gesendeten Abfrageausdrücke – bei der manuellen Auswertung ist dies ein zeitaufwändiger und fehleranfälliger Prozess. In der Realität werden Abfrageausdrücke in der Standardausgabe ausgegeben. Damit diese mit bestimmten Ausführungen in der Anwendung assoziiert werden können, muss die Anwendung modifiziert werden, um Markierungen in der Standardausgabe zu erhalten. Dadurch entsteht wiederum das Risiko, dass für den Test des Fetching-Verhaltens die Anwendung ungewollt modifiziert wird oder nach dem Test entsprechende Markierungsanweisungen nicht aus der Anwendungslogik entfernt werden.
  • 4. Bei der Infrastruktur: Erreicht das zugrunde liegende Entwicklungsprojekt eine kritische Größe, so sind auch die In stallation, Konfiguration und Ausführung der zugrunde liegenden Software Ressourcen- und zeitaufwändig. Dies bedeutet, dass zum Test des Fetching-Verhaltens Software automatisch mit ausgeführt wird, die zur Ermittlung der Ergebnisse nicht relevant ist.
For economic use, however, this approach involves at least the following problems:
  • 1. In the preparation step: For the application logic, the relevant relationships in the data model must be identified. This creates the special problem that the data model must first be analyzed when data model and integration of the O / R imaging middleware are performed by different people. The analysis process consists of identifying the locations relevant to the fetching behavior in the data model.
  • 2. In the test design: The setup of the tests must take into account several factors: Test cases have to be created according to the relationship type, depth, and configuration options of the O / R mapping middleware. This requires temporary changes in code and configuration - purely for testing purposes. It also requires the creation of test data, which in most cases is more expensive than generating test data for functional tests, since the data must have sufficient depth in terms of relationships.
  • 3. For Test Executions: Evaluating the tests manually means evaluating the query expressions sent to the database - this is a time-consuming and error-prone process in manual evaluation. In reality, query expressions are printed in standard output. In order for these to be associated with particular implementations in the application, the application must be modified to receive marks in the standard output. This, in turn, creates the risk that the application will be unintentionally modified to test the fetching behavior, or that marking instructions corresponding to the test will not be removed from the application logic.
  • 4. Infrastructure: If the underlying development project reaches a critical size, then the installation, configuration and execution of the underlying software are resource and time consuming. This means that to test the fetching behavior, software is automatically run that is not relevant to determining the results.

Darüber hinaus weisen die bisherigen Vorgehensweisen keine Systematik auf. Testergebnisse aus einem Anwendungsfall können nicht grundsätzlich für einen neuen Anwendungsfall übernommen werden, da unter Umständen die vorliegenden Kombinationen hinsichtlich der Konfiguration und Datenmodell unterschiedlich sind.Furthermore The previous procedures have no systematics. Test results a use case can not in principle for one new application, there under circumstances the present combinations in terms of configuration and Data model are different.

Die Aufgabe der vorliegenden Erfindung besteht darin, eine effizient und korrekt funktionierende O/R-Abbildungs-Middleware bereitzustellen, um unter anderem ein effizientes und korrektes Handhaben und Betreiben von Prozessen oder Abläufen und/oder Komponenten oder Modulen in Industrieanwendungen und/oder in Produkten zu gewährleisten, die O/R-Abbildungs-Middlewares verwenden.The The object of the present invention is an efficient and properly functioning O / R mapping middleware to provide Another is the efficient and correct handling and operation of Processes or processes and / or Components or modules in industrial applications and / or in products to ensure that O / R-Picture middleware use.

Die Aufgabe wird gelöst durch ein Testmodul mit den Merkmalen des Anspruchs 1, durch ein Verfahren mit den Merkmalen des Anspruchs 10, durch ein Computerprogrammprodukt mit den Merkmalen des Anspruchs 19 und/oder durch einen Datenträger mit den Merkmalen des Anspruchs 20.The Task is solved by a test module having the features of claim 1, by a Method with the features of claim 10, by a computer program product with the features of claim 19 and / or by a disk with the features of claim 20.

Die Unteransprüche geben weitere Ausgestaltungen der vorliegenden Erfindung an.The under claims specify further embodiments of the present invention.

Die oben genannte Aufgabe wird mittels eines Testmoduls gelöst, wobei das Testmodul konfiguriert ist, eine Middleware zu testen, welche zum gegenseitigen Abbilden von objektorientierten Daten einer objektorientierten Anwendung und relationalen Daten einer relationalen Datenbank konfiguriert ist, wobei das Testmodul aufweist:

  • – ein Datenmodell-Modul, das ein Datenmodell zum Modellieren von Beziehungstypen relationaler Datenmodelle im Hinblick auf objektorientierte Datenmodelle vorgibt;
  • – ein Testdatenmodul, das Testdaten aufweist, wobei die Testdaten gemäß einem Datenmodell der objektorientierten Anwendung bereitgestellte Testdaten sind;
  • – ein Testfallmodul, das vorgegebene Testfälle zum Testen der Middleware aufweist, wobei die Testfälle Abfragen aufweisen, die Datenabfragen der objektorientierten Anwendung an die relationale Datenbank über die Middleware entsprechen; und
  • – ein Analysemodul, das konfiguriert ist, Ergebnisse der vorgegebenen Testfälle zu analysieren.
The above object is achieved by means of a test module, wherein the test module is configured to test a middleware configured to mutually map object-oriented data of an object-oriented application and relational data of a relational database, the test module comprising:
  • A data model module that specifies a data model for modeling relationship types of relational data models with respect to object-oriented data models;
  • A test data module having test data, the test data being test data provided according to a data model of the object-oriented application;
  • A test case module having predetermined test cases for testing the middleware, the test cases having queries corresponding to data queries of the object-oriented application to the relational database via the middleware; and
  • An analysis module configured to analyze results of the given test cases.

Auf diese Weise wird durch die vorliegende Erfindung eine Systematisierung von bisher von konkreten Anwendungsfällen abhängigen implementierten Testverfahren ermöglicht. D. h. die vorliegende Erfindung stellt eine Methodik zum anwendungs- und/oder produktunabhängigen Testen von O/R-Abbildungs-Middlewares bereit. Gemäß der vorliegenden Erfindung wird beim Testen der O/R-Abbildungs-Middlewares ein Datenmodell zugrunde gelegt, welches die relevanten Fälle des Fetching-Verhaltens im Allgemeinen abdeckt.On this way, the system is systematized by the present invention hitherto implemented by specific application cases implemented test procedures allows. Ie. The present invention provides a methodology for application and / or product independent testing of O / R Imaging Middlewares ready. According to the present This invention becomes a data model in testing the O / R imaging middleware underlying the relevant cases of fetching behavior in general covers.

Darüber hinaus werden durch das Testmodul Testfälle bereitgestellt, die entsprechende Ausführungen gemäß der zugrundeliegenden objektorientierten Anwendung implementieren, um auf ein Durchführen des Fetchings in der entsprechenden O/R-Abbildungs-Middleware abzuzielen.Furthermore become test cases through the test module provided, the corresponding embodiments according to the underlying object-oriented Implement application to perform the fetching in the corresponding O / R mapping middleware targeting.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist das Datenmodell in einer objektorientierten Programmiersprache implementiert.According to one embodiment In the present invention, the data model is in an object-oriented Implemented programming language.

Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung weist das Testdatenmodul eine objektorientierte Implementierung der Testdaten auf.According to another embodiment of the present invention, the test data module comprises an object-oriented implementation of the test data on.

Dadurch wird eine flexible und umfassende Handhabung des Datenmodells und/oder der Testdaten mit allen Vorteilen der objektorientierten Programmierung ermöglicht.Thereby will be a flexible and comprehensive handling of the data model and / or the test data with all the advantages of object-oriented programming allows.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist das Testmodul konfiguriert, das Datenmodell auf die Testdaten anzuwenden. Dabei werden die in den Testdaten enthaltenen Beziehungen und Strukturen hinsichtlich der im Datenmodell enthaltener Beziehungstypen relationaler Datenmodelle analysiert.According to one embodiment According to the present invention, the test module is configured to the data model to apply to the test data. Here are the in the test data contained relationships and structures in terms of in the data model included relationship types of relational data models.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist das Testmodul ein Einspielmodul auf, das konfiguriert ist, die Testdaten zum Abspeichern in der relationalen Datenbank über die Middleware an die relationale Datenbank zu übermitteln.According to one embodiment According to the present invention, the test module has a copying module configured to store the test data for storage in the relational database about the To submit middleware to the relational database.

Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist das Testfallmodul konfiguriert, in der relationalen Datenbank abgespeicherte Testdaten unter Verwendung der Testfälle durch die Middleware abzufragen.According to one another embodiment of the The present invention is configured with the test case module in which relational database stored test data using the test cases through the middleware.

Auf diese Weise erlaubt die vorliegende Erfindung, den erfindungsgemäßen anwendungs- und/oder produktunabhängigen Ansatz des Testens mit konkreten Ausgestaltungen einer konkreten objektorientierten Anwendung, einer konkreten Middleware und/oder einer konkreten relationalen Datenbank zu verbinden.On This way, the present invention allows the application and / or product-independent Approach of testing with concrete designs of a concrete object-oriented application, a concrete middleware and / or to connect to a concrete relational database.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist das Testfallmodul konfiguriert, die durch die Middleware abgefragten Testdaten unter Verwendung des Datenmodells aus dem Datenmodell-Modul und der Testdaten aus dem Testdatenmodul zu analysieren.According to one embodiment According to the present invention, the test case module is configured through the middleware queried test data using the Data model from the data model module and the test data from the Analyze test data module.

Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung ist das Analysemodul konfiguriert, Ergebnisse der vorgegebenen Testfälle unter Verwendung von Analyseergebnissen des Testfallmoduls zu analysieren.According to one another embodiment of the According to the present invention, the analysis module is configured to produce results the given test cases under Analyze analysis results of the test case module.

Auf diese Weise wird eine vielschichtige Analyse des auf den Testdaten durchgeführten Abbildens relationaler Daten auf objektorientierte Daten ermöglicht.On This way, a multi-layered analysis of the on the test data conducted Mapping relational data to object-oriented data.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist das Analysemodul konfiguriert, Ergebnisse der von dem Analysemodul durchgeführten Analysen einem Nutzer des Testmoduls bereitzustellen.According to one embodiment According to the present invention, the analysis module is configured to produce results the analysis performed by the analysis module to a user of the test module.

Auf diese Weise kann eine strukturierte Ausgabe der Analyseergebnisse ermöglicht werden, die eine systematische Analyse, Auswertung und Dokumentation der getesteten Middleware ermöglicht.On This way can be a structured output of the analysis results allows be a systematic analysis, evaluation and documentation the tested middleware.

Die oben genannte Aufgabe wird ferner mittels eines Verfahrens zum Testen einer Middleware gelöst, wobei die Middleware zum gegenseitigen Abbilden von objektorientierten Daten einer objektorientierten Anwendung und relationalen Daten einer relationalen Datenbank konfiguriert ist, wobei das Verfahren aufweist:

  • – Bereitstellen (und Vorgeben) eines Datenmodells zum Modellieren von Beziehungstypen relationaler Datenmodelle im Hinblick auf objektorientierte Datenmodelle;
  • – Bereitstellen von Testdaten, wobei die Testdaten gemäß einem Datenmodell der objektorientierten Anwendung bereitgestellte Testdaten sind;
  • – Bereitstellen von vorgegebenen Testfällen zum Testen der Middleware, wobei die Testfälle Abfragen aufweisen, die Datenabfragen der objektorientierten Anwendung an die relationale Datenbank über die Middleware entsprechen; und
  • – Analysieren von Ergebnissen der vorgegebenen Testfälle.
The above object is further achieved by a method for testing middleware, wherein the middleware is configured to mutually map object-oriented data of an object-oriented application and relational data of a relational database, the method comprising:
  • - providing (and providing) a data model for modeling relationship types of relational data models with respect to object-oriented data models;
  • Providing test data, the test data being test data provided according to a data model of the object-oriented application;
  • Providing predetermined test cases for testing the middleware, the test cases having queries corresponding to data queries of the object-oriented application to the relational database via the middleware; and
  • - Analyze results of the given test cases.

Auch durch das Verfahren zum Testen einer Middleware wird eine Systematisierung von bisher von konkreten Anwendungsfällen abhängigen, implementierten Tests ermöglicht, wie bereits oben hinsichtlich des Testmoduls ausgeführt.Also the method of testing middleware becomes systematization from previously dependent on concrete use cases, implemented tests allows as already done above with regard to the test module.

Die Schritte des Verfahrens entsprechen im Allgemeinen den Vorgängen, die durch das oben vorgestellte Testmodul und/oder die in dem Testmodul enthaltenen Module durchgeführt werden. Daher können die Vorteile der Merkmale des Testmoduls auch im Bezug auf die entsprechenden Schritte des vorstehend eingeführten Verfahrens aufgeführt werden.The Steps of the method generally correspond to the operations that by the test module presented above and / or contained in the test module Modules performed become. Therefore, you can the advantages of the features of the test module also in terms of the corresponding Steps of the above introduced Procedure listed become.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung ist das Datenmodell in einer objektorientierten Programmiersprache implementiert.According to one embodiment In the present invention, the data model is in an object-oriented Implemented programming language.

Gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung werden die Testdaten in Form einer objektorientierte Implementierung bereitgestellt.According to one another embodiment of the present invention, the test data in the form of an object-oriented Implementation provided.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist das Verfahren ein Anwenden des Datenmodells auf die Testdaten auf. Dabei werden die in den Testdaten enthaltenen Beziehungen und Strukturen hinsichtlich der Beziehungstypen relationaler Datenmodelle analysiert.According to one embodiment According to the present invention, the method comprises applying the Data model to the test data. Here are the in the test data contained relationships and structures regarding the relationship types relational Data models analyzed.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist das Verfahren ein Übermitteln der Testdaten über die Middleware zum Abspeichern der Testdaten in der relationalen Datenbank auf.According to an embodiment of the present invention, the method has an over averaging the test data via the middleware for storing the test data in the relational database.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist das Verfahren ein Abfragen von in der relationalen Datenbank abgespeicherten Testdaten durch die Middleware unter Verwendung der Testfälle auf.According to one embodiment According to the present invention, the method comprises polling in the relational database stored test data by the Middleware using the test cases.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist das Verfahren ein Analysieren der durch die Middleware abgefragten Testdaten unter Verwendung des bereitgestellten Datenmodells und der bereitgestellten Testdaten auf.According to one embodiment According to the present invention, the method comprises analyzing the through the middleware queried test data using the provided data model and the provided test data on.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist das Verfahren ein Analysieren von Ergebnissen der vorgegebenen Testfälle unter Verwendung von Ergebnissen des Analysierens der durch die Middleware abgefragten Testdaten auf.According to one embodiment According to the present invention, the method comprises analyzing Results of the given test cases using results analyzing the test data requested by the middleware on.

Gemäß einem Ausführungsbeispiel der vorliegenden Erfindung weist das Verfahren ein Bereitstellen von Ergebnissen des Analysierens der Ergebnisse der vorgegebenen Testfälle auf.According to one embodiment According to the present invention, the method comprises providing of results of analyzing the results of the given test cases on.

Die oben genannte Aufgabe wird auch mittels eines Computerprogrammprodukts gelöst, das eine Kodierung aufweist, die konfiguriert ist, das vorstehend skizzierte und nachfolgend genauer erläuterte Verfahren implementieren.The The above object is also achieved by means of a computer program product solved, having a coding configured as above implement sketched and explained in more detail below method.

Dabei kann die Kodierung in einem Datenträger enthalten sein. Ferner kann das Computerprogrammprodukt konfiguriert sein, das Verfahren durchzuführen, wenn das Computerprogrammprodukt mittels einer rechnenden Einheit (z. B. eines Prozessors) ausgeführt wird.there the coding can be contained in a data carrier. Further For example, the computer program product may be configured to perform the method when the computer program product by means of a computing unit (z. A processor) becomes.

Die oben genannte Aufgabe wird ferner mittels eines Datenträgers gelöst, wobei der Datenträger das vorstehend erläuterte Computerprogrammprodukt aufweist.The The above object is further achieved by means of a data carrier, wherein the disk the above explained Computer program product has.

Durch die vorliegende Erfindung, insbesondere durch das Bereitstellen eines Testmoduls, wird eine deutliche Zeitersparnis für die Vorbereitung, das Design sowie für die Durchführung der Tests und der Analyse der Testergebnisse erzielt. Gemäß den bekannten Testverfahren muss für derartige Tests die Infrastruktur der Anwendung bereitgestellt werden, die aber für die Tests konzeptionell nicht notwendig ist. In großen Softwareprojekten ist dies mit erheblichen Ressourcenaufwand und Zeiteinbußen verbunden. Die vorliegende Erfindung vermeidet bzw. umgeht dieses Problem. Somit stellt die vorliegende Erfindung ein effizientes Testen von O/R-Abbildungs-Middlewares auf, das zeitsparend und Ressourcen sparend durchgeführt wird.By the present invention, in particular by providing a test module, will significantly save time for preparation, the design as well as for the implementation achieved the tests and the analysis of the test results. According to the known Test procedure must be for Such tests will be provided to the application's infrastructure but for the tests are not conceptually necessary. In big software projects This is associated with considerable resource expenditure and time losses. The present invention avoids or circumvents this problem. Thus, the present invention provides efficient testing of O / R-Picture middleware which is time-saving and saves resources.

Ferner lässt die vorliegende Erfindung ein Vergleichen der Testergebnisse unterschiedlicher O/R-Abbildungs-Middleware-Lösungen zu, da das Testen auf eine anwendungs- und/oder produktunabhängige Weise durchgeführt wird. Bei einem Austausch der Produkte werden dann Leistungsprobleme der einzelnen Middlewares erkennbar.Further lets the The present invention compares the test results of different O / R imaging middleware solutions, as testing on an application and / or product independent manner is performed. When replacing the products then performance problems of individual middlewares recognizable.

Zudem erfordern Vorbereitung, Design, Durchführung der Tests und Analyse der Ergebnisse Fachkenntnisse, die nun einheitlich in dem Testmodul zur Verfügung gestellt werden. Dieses muss nicht mehr für jeden individuellen Anwendungsfall einzeln durchgeführt werden.moreover require preparation, design, execution of tests and analysis the results expertise, which is now consistent in the test module to disposal be put. This no longer has to be for every individual application individually performed become.

Ferner wird die eigentliche Anwendung, in die eine O/R-Mapping-Middleware integriert werden soll, durch die Tests nicht berührt. Dadurch wird ausgeschlossen, dass zu Analysezwecken unbeabsichtigte Modifikationen untergebracht werden, welche die eigentliche Anwendung beschädigen oder stören können. Des Weiteren werden die Daten in der Datenbank nicht mit den Testdaten vermengt, da die Tests eigene Daten benutzen, die von den eigentlichen Anwendungsdaten getrennt werden können und anschließend auch so gelöscht werden können, dass die Anwendungsdaten von der Löschung unberührt bleiben.Further becomes the actual application into which an O / R mapping middleware is to be integrated, not touched by the tests. This excludes unintentional analysis Modifications are accommodated, which is the actual application to damage or disturb. Of Further, the data in the database does not match the test data mixed, because the tests use their own data, that of the actual Application data can be separated and then also so deleted that can be the application data from the deletion unaffected stay.

Im Folgenden werden Ausführungsformen der vorliegenden Erfindung detailliert mit Bezug auf die beigefügten Figuren beschrieben.in the Below are embodiments of present invention in detail with reference to the accompanying figures described.

Es zeigen:It demonstrate:

1 ein System mit einer konventionellen O/R Abbildungs-Middleware; und 1 a system with a conventional O / R imaging middleware; and

2 ein System mit einem Testmodul gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. 2 a system with a test module according to an embodiment of the present invention.

Es gilt also sicherzustellen, dass die O/R-Abbildungs-Middleware 12 effizient und korrekt funktioniert und dass die O/R-Abbildungs-Middleware 12 beim Abbilden von relationalen Daten auf objektorientierte Daten keine Leistungseinbußen mit sich bringt. Wenn diese Bedingungen erfüllt sind, sind ein sicheres, korrektes und effizientes Handhaben und Betreiben von Prozessen oder Abläufen und/oder Komponenten oder Modulen der in einer Industrieanwendung und/oder in Produkten gewährleistet.It is therefore important to ensure that the O / R imaging middleware 12 works efficiently and correctly and that the O / R imaging middleware 12 There is no performance penalty when mapping relational data to object-oriented data. When these conditions are met, safe, correct and efficient handling and operation of processes or processes and / or components or modules are ensured in an industrial application and / or in products.

Dieses wird durch die Testeinrichtung bzw. durch ein Testmodul 20 erreicht. Dabei weist die Testeinrichtung bzw. das Testmodul 20 zunächst ein Datenmodell-Modul 201 auf, das ein Datenmodell zum Modellieren von Beziehungstypen relationaler Datenmodelle enthält.This is done by the test device or by a test module 20 reached. In this case, the test device or the test module 20 first a data model module 201 This is a data model for modeling relationship types relational Contains data models.

Durch das Datenmodell werden verschiedene Beziehungstypen relationaler Datenbanken abgedeckt, die auf das Fetching-Verhalten einer O/R-Abbildungs-Middleware Auswirkung haben. Solche Beziehungstypen sind beispielsweise 1-zu-1 Beziehungen, 1-zu-n Beziehungen, n-zu-m Beziehungen. Ferner werden beispielsweise auch Abbildungen von Tabellen auf Klassen und vice versa, Behandlung von Attributen mit komplexen Typen, Abbildung von Assoziationen und Aggregationen und/oder Abbildung von Vererbungen durch das Datenmodell behandelt.By The data model will make different relationship types more relational Databases covered on the fetching behavior of an O / R imaging middleware Have an impact. Such relationship types are, for example, 1-to-1 Relationships, 1-to-n relationships, n-to-m relationships. Further will be For example, also illustrations of tables on classes and vice versa, handling attributes with complex types, illustration Associations and aggregations and / or inheritance mapping handled by the data model.

Das Datenmodell ist dabei in einer objektorientierten Programmiersprache implementiert. Optional kann die Bereitstellung von standardisierten Anweisungen für ein relationales Datenbanksystem notwendig sein, um die entsprechende Datenstruktur einzurichten. Dieser Teil ist in den Fällen nicht notwendig, wenn die O/R-Abbildungs-Middleware eine Funktion bereitstellt, aus einem vorhandenen Datenmodell auf der objektorientierten Seite eine entsprechende relationale Datenstruktur in der Datenbank zu erzeugen.The Data model is in an object-oriented programming language implemented. Optionally, the provision of standardized Instructions for a relational database system will be necessary to provide the appropriate Set up data structure. This part is not in the cases necessary if the O / R mapping middleware provides a function from an existing data model on the object-oriented side a corresponding relational data structure in the database too produce.

Das Datenmodell ist ein abstraktes Datenmodell, das allgemein und nicht auf konkrete Anwendungen oder Produkte ausgerichtet ist. Es definiert allgemeine Grundsätze des Abbildens der objektorientierten Daten auf relationale Daten und vice versa.The Data model is an abstract data model that is general and not aimed at concrete applications or products. It defines general principle mapping the object-oriented data to relational data and vice versa.

Ferner hat das Testmodul 20 ein Testdatenmodul 202, das zum Bereitstellen von Testdaten konfiguriert ist. Die Testdaten werden dabei so bereitgestellt, dass sie den nötigen Umfang aufweisen, um die Konsequenzen des eingestellten Fetching-Verhaltens mit unterschiedlicher Tiefe untersuchen zu können. D. h. die Testdaten sind für Abfragen unterschiedlicher Tiefe konstruiert, wobei die Abfragen den Abfragen entsprechen, die tatsächlich von der objektorientierten Anwendung über die O/R-Abbildungs-Middleware 12 an die relationale Datenbank 13 übermittelt werden, um die in der relationalen Datenbank 13 gespeicherten Daten wiederzugewinnen.Furthermore, the test module has 20 a test data module 202 , which is configured to provide test data. The test data is provided in such a way that it has the necessary scope to be able to examine the consequences of the set fetching behavior with different depths. Ie. the test data is constructed for queries of varying depth, the queries corresponding to the queries actually from the object-oriented application via the O / R mapping middleware 12 to the relational database 13 are transmitted to the relational database 13 regain stored data.

Die Testdaten werden über eine objektorientierte Implementierung des Testmoduls 20 eingepflegt und repräsentieren beispielhaft objektorientierte Daten der konkreten objektorientierten Anwendung. Die Testdaten werden dabei ausschließlich zum Testen der O/R-Abbildungs-Middleware 12 verwendet. Auf diese Weise wird eine Unabhängigkeit des Testmoduls 20 von der verwendeten O/R-Abbildungs-Middleware 12 und dem verwendeten Datenbanksystem 13 hergestellt.The test data are generated via an object-oriented implementation of the test module 20 maintained and represent exemplary object-oriented data of the concrete object-oriented application. The test data is used exclusively for testing the O / R imaging middleware 12 used. In this way, an independence of the test module 20 from the used O / R imaging middleware 12 and the database system used 13 produced.

Auf die in dem Testdatenmodul 202 enthaltenen Testdaten wird das im Datenmodell-Modul 201 enthaltene Datenmodell angewendet. D. h. die Testdaten werden hinsichtlich ihrer objektorientierten Struktur und ihrer Beziehungen analysiert und durch das relationale Beziehungen allgemein interpretierende Datenmodell werden die für das O/R-Abbilden notwendigen Beziehungen und Strukturen abgeleitet, wobei dies nur auf Basis des Datenmodells des Testmoduls 20 bzw. des Datenmodell-Moduls 201 und nicht auf Basis des tatsächlich gegebenen Modells der relationalen Datenbank 13 geschieht.On the in the test data module 202 contained in the data model module 201 contained data model applied. Ie. the test data are analyzed for their object-oriented structure and their relationships, and the Relational Relations general data model derives the relationships and structures necessary for O / R mapping, based only on the data model of the test module 20 or the data model module 201 and not based on the actual model of the relational database 13 happens.

Das Testmodul 20 weist des Weiteren ein Einspielmodul 203 auf, wobei das Einspielmodul 203 konfiguriert ist, die Testdaten aus dem Testdatenmodul 202 an die O/R-Abbildungs-Middleware 12 zu übermitteln, so wie es üblicher weise auch durch die objektorientierte Anwendung geschehen würde.The test module 20 also has a box-in module 203 on, where the Einspielmodul 203 is configured, the test data from the test data module 202 to the O / R mapping middleware 12 as it would usually be done by object-oriented application.

Ferner werden die Testdaten von der O/R-Abbildungs-Middleware 12 wie vorgegeben bearbeitet und in die relationale Datenbank 13 abgespeichert. Anschließend werden die in der relationalen Datenbank 13 gespeicherten Testdaten durch das Testmodul 20 zu Testzwecken abgefragt. Dabei sendet das Testmodul 20 Abfragen, die den von der objektorientierten Anwendung gesendeten Abfragen entsprechen.Further, the test data is from the O / R imaging middleware 12 edited as specified and in the relational database 13 stored. Subsequently, those in the relational database 13 stored test data through the test module 20 queried for test purposes. The test module sends 20 Queries that match the queries sent by the object-oriented application.

Hierfür weist das Testmodul 20 ein Testfallmodul 204 auf. Das Testfallmodul 204 weist vorgefertigte Testfälle auf, die nach unterschiedlichen Aspekten einer Fetching-Einstellung getestet werden können. D. h. die Testfälle geben Abfragen für die Testdaten vor, wobei die Abfragen denen der objektorientierten Anwendung entsprechen. Die Testfälle formulieren Datenzugriffe auf die relationale Datenbank 13, wobei die Datenzugriffe ausgestaltet sind, die relevanten Stellen des objektorientierten Datenmodells abzudecken und das Fetching-Verhalten einer O/R-Abbildungs-Middleware je nach Konfiguration auszulösen.This is indicated by the test module 20 a test case module 204 on. The test case module 204 has pre-made test cases that can be tested for different aspects of a fetching setting. Ie. the test cases provide queries for the test data, the queries corresponding to those of the object-oriented application. The test cases formulate data access to the relational database 13 wherein the data accesses are configured to cover the relevant locations of the object oriented data model and to trigger the fetching behavior of an O / R mapping middleware according to the configuration.

Das Testfallmodul 204 erhält die Testdaten, die objektorientierte Daten sind, von dem Testdatenmodul 202, Ergebnisse der auf Testdaten ausgeführten Abfragen in der relationalen Datenbank 13 von der O/R-Abbildungs-Middleware und das Datenmodell des Datenmodell-Moduls 201.The test case module 204 receives the test data, which is object oriented data, from the test data module 202 , Results of queries running on test data in the relational database 13 from the O / R mapping middleware and data model of the data model module 201 ,

Der Testfallmodul 204 stellt Beziehungen zwischen den erhaltenen Daten her, welche Aussagen darüber treffen helfen, wie gut die Ergebnisse auf die von der O/R-Abblidungs-Middleware 12 gestellten Abfragen den tatsächlich von der objektorientierten Anwendung gewünschten oder erwarteten Ergebnissen entsprechen.The test case module 204 establishes relationships between the obtained data which help to make statements about how good the results are on the results of the O / R blinding middleware 12 queries that are actually desired or expected by the object-oriented application.

Das Testfallmodul 204 erfasst Abfrageausdrücke, um die Auswertung der erhaltenen Daten zu unterstützen. Das Testmodul 20 gibt über eine Standardausgabe Abfrageausdrücke aus. Da die Ausgabe nach den Testfällen strukturiert ist, ist die Zu ordnung von Testfällen und resultierenden Abfrageausdrücken zum Zweck der Auswertung möglich. Auf diese Weise wird die Auswertung pro Testfall automatisiert. Es ist darüber hinaus möglich, die Abfrageausdrücke maschinell auszuwerten und die Testresultate in aggregierter Form bereitzustellen.The test case module 204 Collects query expressions to help evaluate the data received. The test module 20 Issues query expressions through a standard output. Since the Ausga is structured according to the test cases, the assignment of test cases and resulting query expressions for the purpose of evaluation is possible. In this way, the evaluation is automated per test case. It is also possible to machine the query expressions and to provide the test results in an aggregated form.

Beim Erhalten der Ergebnisse auf Abfragen hinsichtlich der Testdaten erstellt die O/R-Abbildungs-Middleware eine Standardausgabe (z. B. eine Log-Datei) 21, welche von einem Analysemodul 205 analysiert wird. Dabei werden die im Testfallmodul 204 erhaltenen Daten und die im Testfallmodul 204 gemachten Erkenntnisse berücksichtigt.When getting the results on queries regarding the test data, the O / R mapping middleware creates a standard output (eg, a log file) 21 that of an analysis module 205 is analyzed. In the test case module 204 received data and those in the test case module 204 taken into account.

Das Analysemodul 205 stellt seine Auswertungen derjenigen Person, die sich mit dem Testen der O/R-Abbildungs-Middleware befasst, zur Verfügung. Daraus kann die Person Schlussfolgerungen hinsichtlich des Verhaltens und Funktionierens der O/R-Abbildungs-Middleware machen und ggf. Verbesserungen in der Implementierung der O/R-Abbildungs-Middleware vornehmen.The analysis module 205 provides its evaluations to the person involved in testing the O / R imaging middleware. From this, the person can make conclusions regarding the behavior and functioning of the O / R mapping middleware and possibly make improvements in the implementation of the O / R mapping middleware.

Somit betrifft die vorliegende Erfindung ein Testen einer Middleware, welche zum gegenseitigen Abbilden von objektorientierten Daten einer objektorientierten Anwendung und relationalen Daten einer relationalen Datenbank konfiguriert ist. Das Testen wird dabei unter Verwendung eines Datenmodells zum Modellieren von Beziehungstypen relationaler Datenmodelle im Hinblick auf objektorientierte Datenmodelle, unter Verwendung von Testdaten, die gemäß einem Datenmodell der objektorientierten Anwendung bereitgestellte Testdaten sind, unter Verwendung vorgegebener Testfälle zum Testen der Middleware, wobei die Testfälle Abfragen aufweisen, die Datenabfragen der objektorientierten Anwendung an die relationale Datenbank über die Middleware entsprechen und durch Analyse der Ergebnisse der vorgegebenen Testfälle durchgeführt. Die vorliegende Erfindung betrifft insbesondere Anwendungen mit O/R-Abbildungs-Middlewares und erlaubt ein effizientes und korrektes Handhaben und Betreiben von Prozessen oder Abläufen und/oder Komponenten oder Modulen einer Industriesparte oder von Produkten, die von effizient und korrekt funktionierenden O/R-Abbildungs-Middlewares abhängig sind.Consequently the present invention relates to testing middleware, which for mutual mapping of object-oriented data of a object-oriented application and relational data of a relational Database is configured. The testing is done using a data model for modeling relationship types of relational data models with regard to object-oriented data models, using of test data, which according to a Data model of the object-oriented application provided test data are using predetermined test cases to test the middleware, the test cases Have queries to the data queries of the object-oriented application the relational database over match the middleware and by analyzing the results of the given test cases carried out. The present invention particularly relates to applications with O / R imaging middleware and allows efficient and correct handling and operation of processes or processes and / or components or modules of an industrial sector or of Products by efficient and properly functioning O / R imaging middleware dependent are.

Obwohl die Erfindung oben mit Bezug auf das Ausführungsbeispiel gemäß der beiliegenden Zeichnungen erklärt wird, ist es ersichtlich, dass die Erfindung nicht auf das Ausführungsbeispiel beschränkt ist, sondern innerhalb des Bereichs der oben und in den anhängigen Ansprüchen offenbarten erfinderischen Idee modifiziert werden kann. Es versteht sich von selbst, dass es noch weitere Ausführungsbeispiele geben kann, die den Grundsatz der Erfindung darstellen und äquivalent sind, und dass somit verschiedene Modifikationen ohne Abweichen vom Umfang der Erfindung implementiert werden können. So können z. B. die Module des Testmoduls bzw. der Testeinrichtung verschiedenartig gestaltet werden, wobei ein Modul mehrere erfindungsgemäße Funktionen durchführen kann und/oder eine erfindungsgemäße Funktion von mehreren Modulen durchgeführt werden kann.Even though the invention above with reference to the embodiment according to the accompanying drawings explained It will be apparent that the invention is not limited to the embodiment limited but within the scope of the inventive disclosures above and in the appended claims Idea can be modified. It goes without saying that there are still further embodiments which is the principle of the invention and equivalent are, and that therefore different modifications without departing from Scope of the invention can be implemented. So z. B. the modules of the test module or the test device are designed differently, with a Module several functions of the invention carry out can and / or a function of the invention performed by several modules can be.

Claims (20)

Testmodul, das konfiguriert ist, eine Middleware (12) zu testen, welche zum Abbilden von objektorientierten Daten einer objektorientierten Anwendung (11) und relationalen Daten einer relationalen Datenbank (13) konfiguriert ist, wobei das Testmodul (20) aufweist: – ein Datenmodell-Modul (201), das ein Datenmodell zum Modellieren von Beziehungstypen relationaler Datenmodelle im Hinblick auf objektorientierte Datenmodelle aufweist; – ein Testdatenmodul (202), das Testdaten aufweist, wobei die Testdaten gemäß einem Datenmodell der objektorientierten Anwendung (11) bereitgestellte Testdaten sind; – ein Testfallmodul (204), das vorgegebene Testfälle zum Testen der Middleware (12) aufweist, wobei die Testfälle Abfragen aufweisen, die Datenabfragen der objektorientierten Anwendung (11) an die relationale Datenbank (13) über die Middleware (12) entsprechen; und – ein Analysemodul (205), das konfiguriert ist, Ergebnisse der vorgegebenen Testfälle zu analysieren.Test module that is configured to use middleware ( 12 ) for mapping object-oriented data of an object-oriented application ( 11 ) and relational data of a relational database ( 13 ), the test module ( 20 ): a data model module ( 201 ) having a data model for modeling relationship types of relational data models with respect to object-oriented data models; A test data module ( 202 ), which has test data, the test data being in accordance with a data model of the object-oriented application ( 11 ) are provided test data; A test case module ( 204 ), the default test cases for testing middleware ( 12 ), wherein the test cases have queries that query the data of the object-oriented application ( 11 ) to the relational database ( 13 ) via the middleware ( 12 ) correspond; and an analysis module ( 205 ), which is configured to analyze results of the given test cases. Testmodul nach Anspruch 1, wobei das Datenmodell in einer objektorientierten Programmiersprache implementiert ist.The test module of claim 1, wherein the data model implemented in an object-oriented programming language. Testmodul nach zumindest einem der vorstehenden Ansprüche, wobei das Testdatenmodul (202) eine objektorientierte Implementierung der Testdaten aufweist.Test module according to at least one of the preceding claims, wherein the test data module ( 202 ) has an object-oriented implementation of the test data. Testmodul nach zumindest einem der vorstehenden Ansprüche, wobei das Testmodul (20) konfiguriert ist, das Datenmodell auf die Testdaten anzuwenden.Test module according to at least one of the preceding claims, wherein the test module ( 20 ) is configured to apply the data model to the test data. Testmodul nach zumindest einem der vorstehenden Ansprüche, wobei das Testmodul (20) ein Einspielmodul (203) aufweist, das konfiguriert ist, die Testdaten zum Abspeichern in der relationalen Datenbank (13) über die Middleware (12) an die relationale Datenbank (13) zu übermitteln.Test module according to at least one of the preceding claims, wherein the test module ( 20 ) a module ( 203 configured to store the test data for storage in the relational database ( 13 ) via the middleware ( 12 ) to the relational database ( 13 ). Testmodul nach zumindest einem der vorstehenden Ansprüche, wobei das Testfallmodul (204) konfiguriert ist, in der relationalen Datenbank (13) abgespeicherte Testdaten unter Verwendung der Testfälle durch die Middleware (12) abzufragen.Test module according to at least one of the preceding claims, wherein the test case module ( 204 ) is configured in the relational database ( 13 ) stored test data using the test cases by the middleware ( 12 ) to interrogate. Testmodul nach Anspruch 6, wobei das Testfallmodul (204) konfiguriert ist, die durch die Middleware (12) abgefragten Testdaten unter Verwendung des Datenmodells aus dem Datenmodell-Modul (201) und der Testdaten aus dem Testdatenmodul (202) zu analysieren.Test module according to claim 6, wherein the test case module ( 204 configured by the middleware ( 12 ) queried test data using the data model from the data model module ( 201 ) and the test data from the test data module ( 202 ) analyze. Testmodul nach Anspruch 7, wobei das Analysemodul (205) konfiguriert ist, Ergebnisse der vorgegebenen Testfälle unter Verwendung von Analyseergebnissen des Testfallmoduls (204) zu analysieren.Test module according to claim 7, wherein the analysis module ( 205 ), results of the given test cases using analysis results of the test case module ( 204 ) analyze. Testmodul nach einem der vorstehenden Ansprüche, wobei das Analysemodul (205) konfiguriert ist, Ergebnisse der von dem Analysemodul (205) durchgeführten Analysen einem Nutzer des Testmoduls bereitzustellen.Test module according to one of the preceding claims, wherein the analysis module ( 205 ) is configured to receive results from the analysis module ( 205 ) provided to a user of the test module. Verfahren zum Testen einer Middleware (12), welche zum Abbilden von objektorientierten Daten einer objektorientierten Anwendung (11) und relationalen Daten einer relationalen Datenbank (13) konfiguriert ist, wobei das Verfahren aufweist: – Bereitstellen eines Datenmodells zum Modellieren von Beziehungstypen relationaler Datenmodelle im Hinblick auf objektorientierte Datenmodelle; – Bereitstellen von Testdaten, wobei die Testdaten gemäß einem Datenmodell der objektorientierten Anwendung (11) bereitgestellte Testdaten sind; – Bereitstellen von vorgegebenen Testfällen zum Testen der Middleware (12), wobei die Testfälle Abfragen aufweisen, die Datenabfragen der objektorientierten Anwendung (11) an die relationale Datenbank (13) über die Middleware (12) entsprechen; und – Analysieren von Ergebnissen der vorgegebenen Testfälle.Method for testing a middleware ( 12 ), which is used to map object-oriented data of an object-oriented application ( 11 ) and relational data of a relational database ( 13 ), the method comprising: providing a data model for modeling relationship types of relational data models with respect to object-oriented data models; Providing test data, wherein the test data is in accordance with a data model of the object-oriented application ( 11 ) are provided test data; Provision of predefined test cases for testing the middleware ( 12 ), where the test cases have queries that query the data of the object-oriented application ( 11 ) to the relational database ( 13 ) via the middleware ( 12 ) correspond; and - analyzing results of the given test cases. Verfahren nach Anspruch 10, wobei das Datenmodell in einer objektorientierten Programmiersprache implementiert ist.The method of claim 10, wherein the data model implemented in an object-oriented programming language. Verfahren nach Anspruch 10 oder 11, wobei die Testdaten in Form einer objektorientierte Implementierung bereitgestellt werden.The method of claim 10 or 11, wherein the test data be provided in the form of an object-oriented implementation. Verfahren nach zumindest einem der vorstehenden Ansprüche 10 bis 12, wobei das Verfahren ein Anwenden des Datenmodells auf die Testdaten aufweist.Method according to at least one of the preceding claims 10-12, wherein the method comprises applying the data model has the test data. Verfahren nach zumindest einem der vorstehenden Ansprüche 10 bis 13, wobei das Verfahren ein Übermitteln der Testdaten über die Middleware (12) zum Abspeichern der Testdaten in der relationalen Datenbank (13) aufweist.Method according to at least one of the preceding claims 10 to 13, wherein the method comprises transmitting the test data via the middleware ( 12 ) for storing the test data in the relational database ( 13 ) having. Verfahren nach zumindest einem der vorstehenden Ansprüche 10 bis 14, das Verfahren ein Abfragen von in der relationalen Datenbank (13) abgespeicherten Testdaten durch die Middleware (12) unter Verwendung der Testfälle aufweist.Method according to at least one of the preceding claims 10 to 14, the method comprising querying in the relational database ( 13 ) stored test data by the middleware ( 12 ) using the test cases. Verfahren nach Anspruch 15, wobei das Verfahren ein Analysieren der durch die Middleware (12) abgefragten Testdaten unter Verwendung des bereitgestellten Datenmodells und der bereitgestellten Testdaten aufweist.The method of claim 15, wherein the method comprises analyzing by the middleware ( 12 ) has retrieved test data using the provided data model and the provided test data. Verfahren nach Anspruch 16, wobei das Verfahren ein Analysieren von Ergebnissen der vorgegebenen Testfälle un ter Verwendung von Ergebnissen des Analysierens der durch die Middleware (12) abgefragten Testdaten aufweist.The method of claim 16, wherein the method comprises analyzing results of the predetermined test cases using results of analyzing by the middleware ( 12 ) has queried test data. Verfahren nach einem der vorstehenden Ansprüche 10 bis 17, wobei das Verfahren ein Bereitstellen von Ergebnissen des Analysierens der Ergebnisse der vorgegebenen Testfälle aufweist.Method according to one of the preceding claims 10 to 17, the method comprising providing results of the analyzing the results of the given test cases has. Computerprogrammprodukt, das eine Kodierung aufweist, die konfiguriert ist, ein Verfahren nach Anspruch 10 zu implementieren.Computer program product having an encoding which is configured to implement a method according to claim 10. Datenträger, wobei der Datenträger ein Computerprogrammprodukt nach Anspruch 19 aufweist.disk, being the disk a computer program product according to claim 19.
DE200810048862 2008-09-25 2008-09-25 Test module and method for testing an O / R imaging middleware Ceased DE102008048862A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE200810048862 DE102008048862A1 (en) 2008-09-25 2008-09-25 Test module and method for testing an O / R imaging middleware
PCT/EP2009/059846 WO2010034548A1 (en) 2008-09-25 2009-07-30 Test module and method for testing an o/r imaging middleware
EP09781269A EP2329374A1 (en) 2008-09-25 2009-07-30 Test module and method for testing an o/r imaging middleware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE200810048862 DE102008048862A1 (en) 2008-09-25 2008-09-25 Test module and method for testing an O / R imaging middleware

Publications (1)

Publication Number Publication Date
DE102008048862A1 true DE102008048862A1 (en) 2010-04-08

Family

ID=41128050

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200810048862 Ceased DE102008048862A1 (en) 2008-09-25 2008-09-25 Test module and method for testing an O / R imaging middleware

Country Status (3)

Country Link
EP (1) EP2329374A1 (en)
DE (1) DE102008048862A1 (en)
WO (1) WO2010034548A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064823A (en) * 2021-03-30 2021-07-02 奇瑞汽车股份有限公司 Method and device for testing functions of automobile parts and computer storage medium

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111273915B (en) * 2018-11-16 2023-04-28 中移(杭州)信息技术有限公司 Middleware configuration optimization method and device, terminal equipment and medium
CN115952085B (en) * 2022-12-15 2023-08-22 广州埃普信息科技有限公司 Middleware system supporting rapid test development

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19530095A1 (en) * 1995-08-16 1997-02-20 Martin Engwicht Access monitoring for software, data carriers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19530095A1 (en) * 1995-08-16 1997-02-20 Martin Engwicht Access monitoring for software, data carriers

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113064823A (en) * 2021-03-30 2021-07-02 奇瑞汽车股份有限公司 Method and device for testing functions of automobile parts and computer storage medium
CN113064823B (en) * 2021-03-30 2024-04-09 奇瑞汽车股份有限公司 Method and device for testing functions of parts of automobile and computer storage medium

Also Published As

Publication number Publication date
EP2329374A1 (en) 2011-06-08
WO2010034548A1 (en) 2010-04-01

Similar Documents

Publication Publication Date Title
EP1176482B1 (en) Method and computer program for generating a regulation or control system
DE112004001775T5 (en) Method and apparatus for providing automatic software updates
EP1723513A1 (en) Method for configuring a computer program
EP1597675A1 (en) System and method for managing and exchanging the data of a technical project, technical installation and individual installation components
EP2620871A2 (en) Method for configuring a basic input-output system in a computer system and computer program product
DE10127170A1 (en) Troubleshooting procedures and troubleshooting device
EP2439691A1 (en) Method and device for mechanical production of a process diagram
EP1701266A1 (en) Test apparatus for verification of a batch processing
DE102008048862A1 (en) Test module and method for testing an O / R imaging middleware
DE112009001892T5 (en) Data record based code structure
WO2003094093A2 (en) Comparison of processing protocols
DE102005045904B4 (en) Data processing device with performance control
EP1215571A2 (en) Method for automatic software generation
DE202015103261U1 (en) Computer-implemented system for comparing at least two files of visual programming languages
EP3355186A1 (en) Creation and execution of software modules
EP2757466B1 (en) A computer implemented method for generating computer program code
EP1343078B1 (en) Modelling system and generation of software generating systems
EP2007070B1 (en) Method for displaying process information for a data processing facility and data processing system
EP2267562A1 (en) Method and device for testing files in XML format to be exchanged between components
WO2010026151A1 (en) Method for granting authorization to access a computer-based object in an automation system, computer program, and automation system
EP1621945B1 (en) Ensuring data consistency in an automation system
DE102022207612A1 (en) Computer-implemented method for verifying a software component of an automated driving function
WO2023208578A1 (en) Method and computer program for automatically generating communication interfaces in algorithms from the field of artificial intelligence
DE102006037968B4 (en) Universal and extensible data management with observation and inter-process communication mechanisms
DE102022208030A1 (en) Method for collaboratively creating a software product and method for responding to an error

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8131 Rejection