Die
Erfindung betrifft ein Verfahren und ein System zum computergesteuerten
Durchführen
mindestens eines Testablaufs, bei dem mindestens ein erstes Softwaremodul
einer Anwendungssoftware getestet wird, das zur Datenkommunikation
mit mindestens einem Peripheriegerät Daten mit dem mindestens
einen zweiten Softwaremodul austauscht.The
The invention relates to a method and a system for computer-controlled
Carry out
at least one test procedure, wherein at least a first software module
an application software is tested for data communication
with at least one peripheral device data with the at least
exchanges a second software module.
Eine
von einer Datenverarbeitungseinheit abzuarbeitende Anwendungssoftware,
die relativ komplexe Verarbeitungsvorgänge mit einem oder mehreren
mit der Datenverarbeitungseinheit verbundenen Peripheriegeräten abwickelt,
ist auf eine fehlerfreie Funktion in verschiedenen möglichen
Konstellationen zu testen, bevor sie für eine Auslieferung an Kunden
freigegeben wird. Solche komplexe Verarbeitungsvorgänge sind
insbesondere von Geldmitteltransaktionsgeräten, beispielsweise in Geldeinzahl-
und/oder in Geldauszahlautomaten, durchzuführen. Solche Geldmitteltransaktionsgeräte umfassen
vorzugsweise eine Datenverarbeitungseinheit, wie einen Personalcomputer,
und mit dieser Datenverarbeitungseinheit verbundene Peripheriegeräte, insbesondere
eine Anzeigeeinheit, mindestens eine Tastatur, mindestens eine Kartenlese-
und -schreibeinheit sowie optional ein Peripheriegerät zum Erfassen
biometrischer Eigenschaften einer Bedienperson.A
application software to be processed by a data processing unit,
the relatively complex processing operations with one or more
processing peripheral devices connected to the data processing unit,
is on a flawless function in various possible
Constellations to test before going for delivery to customers
is released. Such complex processing operations are
especially of cash transaction devices, for example in cash
and / or in cash dispensers. Such funds transaction devices include
preferably a data processing unit, such as a personal computer,
and peripheral devices connected to this data processing unit, in particular
a display unit, at least one keyboard, at least one card reader
and -schreibeinheit and optionally a peripheral device for detecting
biometric characteristics of an operator.
Die
Anwendungssoftware muss insbesondere daraufhin getestet werden,
ob erforderliche Interaktionen zwischen der Anwen dungssoftware und den
Peripheriegeräten
in der erforderlichen Art und im erforderlichen Umfang korrekt durchgeführt werden
können.
Dazu sind einzelne Interaktionen, wie das Ausgeben entsprechender
Dialoge über
eine Anzeigeeinheit und das Erwarten und Verarbeiten entsprechender
Eingabeinformationen, in einer Vielzahl möglicher Bedienkonstellationen
zutesten. Solche Interaktionen zwischen der Anwendungssoftware bzw. mindestens
einem Softwaremodul der Anwendungssoftware und den Peripheriegeräten, zum
Beispiel das Einführen
einer Magnet- und/oder Chipkarte, das Betätigen einer Auswahltaste, das
Entnehmen von ausgezahlten Geldmitteln (Banknoten), das Entnehmen
einer freigegebenen Magnet- und/oder Chipkarte, müssen für verschiedene
Betriebsmodi und verschiedene Konstellationen getestet werden, um
die reibungslose Funktion der Anwendungssoftware überprüfen zu können und
deren korrekte Funktion sicherzustellen.The
Application software in particular needs to be tested
whether required interactions between the application software and the
peripherals
be performed correctly in the required manner and extent
can.
These are individual interactions, such as spending appropriate
Dialogues about
a display unit and the expectation and processing of such
Input information, in a variety of possible operating constellations
to test. Such interactions between the application software or at least
a software module of the application software and the peripheral devices, for
Example introducing
a magnetic and / or chip card, pressing a selection key, the
Withdrawal of disbursed funds (banknotes), the removal
a shared magnetic and / or smart card, need for different
Operating modes and different constellations are tested to
to be able to check the smooth functioning of the application software and
to ensure their correct functioning.
Denkbare
Lösungsansätze basieren
auf einer automatischen Betätigungseinheit,
wie beispielsweise einen Testautomaten oder einen Industrieroboter.
Die Umsetzung solcher Lösungsansätze erfordert
jedoch einen hohen technischen Aufwand. Bei einer Änderung
des Testablaufs sind dann Programmänderungen des Testautomaten
bzw. des Roboters erforderlich, um den Testablauf an die Erfordernisse des
geänderten
Testablaufs anzupassen. Insbesondere bei Robotern sind weitere Sicherheitsmaßnahmen
erforderlich, um eine Beschädigung
des zu testenden Systems und von Personen im Schwenkbereich des
Roboters sicher zu verhindern. Solche Betätigungseinheiten sind nicht
mit vertretbaren Kosten zu realisieren.conceivable
Based on solutions
on an automatic operating unit,
such as a test machine or an industrial robot.
The implementation of such approaches requires
but a high technical effort. In case of a change
of the test procedure are then program changes of the test machine
or the robot required to complete the test procedure to the requirements of the
amended
Test procedure to adapt. Especially with robots are more security measures
required to damage
of the system to be tested and persons in the swivel range of the
Safe robot. Such actuators are not
to realize with reasonable costs.
Derzeit
wird eine neue oder geänderte
Anwendungssoftware dadurch getestet, dass eine Bedienperson die
zum Testen erforderlichen Bedienhandlungen vornimmt. Dadurch ist
ein hoher Zeit- und Personalaufwand erforderlich, um insbesondere
verschiedene Versionen der Anwendungssoftware nacheinander zu testen.
Um den personellen Aufwand und den Zeitaufwand in vertretbaren Grenzen zu
halten, werden oft nur Grundfunktionen einer Software getestet und
weitere Ein- und Ausgabeinteraktionen insbesondere eine mehrfache
Wiederholung von Testabläufen
mit unveränderter
Hard- und Software werden aus Zeit- und Kostengründen nicht durchgeführt, wodurch
die einwandfreie Funktion der Anwendungssoftware nicht immer 100%ig
geprüft
ist und Qualitätsprobleme
mit ausgelieferter Anwendungssoftware auftreten können.Currently
will be a new or changed
Application software tested by an operator who
to perform necessary operator actions for testing. This is
a high amount of time and manpower is required in particular
to test different versions of the application software one after the other.
To the human effort and the time required in reasonable limits
often only basic functions of a software are tested and
further input and output interactions, in particular a multiple
Repetition of test procedures
with unchanged
Hardware and software are not performed due to time and cost reasons, which
the perfect function of the application software is not always 100%
checked
is and quality problems
can occur with delivered application software.
Aufgabe
der Erfindung ist es, ein System und ein Verfahren anzugeben, mit
denen mindestens ein Test mindestens eines Softwaremoduls von der
Anwendungssoftware auf einfache Art und Weise erfolgen kann.task
The invention is to provide a system and a method, with
which at least one test of at least one software module of the
Application software can be done in a simple manner.
Diese
Aufgabe wird durch ein System mit den Merkmalen des Patentanspruchs
1 und durch ein Verfahren mit den Merkmalen des Patentanspruchs 11
gelöst.
Vorteilhafte Weiterbildungen der Erfindung sind in den abhängigen Patentansprüchen angegeben.These
The object is achieved by a system having the features of the patent claim
1 and by a method having the features of claim 11
solved.
Advantageous developments of the invention are specified in the dependent claims.
Durch
ein System zum computergesteuerten Durchführen mindestens eines Tests
des mindestens einen Softwaremoduls einer Anwendungssoftware wird
erreicht, dass dieses Softwaremodul in allen erforderlichen Konstellationen
automatisch computergesteuert getestet werden kann, ohne dass zum
Ausführen
einzelner Interaktionen Bedieneingriffe einer Bedienperson erforderlich
sind. Dadurch können auch
umfangreiche Tests mit einer Vielzahl von Testschritten und einer
Vielzahl von Interaktionen zwischen den Softwaremodulen der Anwendungssoftware
und dem Peripheriegerät
durchgeführt
werden ohne dass die Peripheriegeräte überhaupt vorhanden sein müssen. Die
durch Bedieneingaben erzeugten Daten, die vom Peripheriegerät über das
zweite Softwaremodul zum ersten Softwaremodul übertragen werden, werden erfindungsgemäß vom dritten Softwaremodul
zum ersten Softwaremodul übertragen,
wobei die zur Interaktion vom Peripheriegerät zum ersten Softwaremodul
zu übertragenden
Daten vorzugsweise durch einen durch Bedienhandlungen einer Bedienperson
an dem oder den Peripheriegeräten
durchgeführten
Testablauf aufgezeichnet worden sind. Dadurch kann auf einfache
Art und Weise ein Testablauf aufgezeichnet werden, ohne dass die Kommunikation
durch ein als Peripheriegerät
speziell konfiguriertes Simulationsprogramm simuliert werden muss.
Ein solcher Testablauf wird auch als Initialisierungstestablauf
bezeichnet. Durch dieses System ist auch eine mehrfache Wiederholung
von Testabläufen
insbesondere mit unveränderter
Hard- und Software einfach und kostengünstig möglich. Bei einer geeigneten
Konfiguration des Testsystems können
die Wiederholungen automatisch ohne weitere Bedieneingriffe ausgeführt werden.By means of a system for computer-controlled execution of at least one test of the at least one software module of an application software, it is achieved that this software module can be automatically computer-controlled tested in all required constellations, without operator intervention being required for carrying out individual interactions. As a result, it is also possible to carry out extensive tests with a large number of test steps and a large number of interactions between the software modules of the application software and the peripheral device without the peripheral devices even having to be present at all. The data generated by operating inputs, which are transmitted from the peripheral device via the second software module to the first software module, according to the invention transmitted from the third software module to the first software module, wherein the interaction for the peripheral device data to be transmitted to the first software module has preferably been recorded by a test procedure performed on the peripheral device (s) by operator actions. As a result, a test procedure can be recorded in a simple manner, without having to simulate the communication by means of a simulation program specially configured as a peripheral device. Such a test procedure is also referred to as initialization test procedure. Through this system, a multiple repetition of test procedures, in particular with unchanged hardware and software is easy and inexpensive. With a suitable configuration of the test system, the repetitions can be carried out automatically without further operator intervention.
Die
vom zweiten Softwaremodul zum ersten Softwaremodul während des
Initialisierungstestablaufs übertragenen
Daten werden vorzugsweise vom dritten Softwaremodul oder von einem
vierten Softwaremodul aufgezeichnet und gespeichert. Beim Initialisierungstestlauf
erfolgt eine tatsächliche
Kommunikation zwischen dem ersten Softwaremodul und dem Pe ripheriegerät über das
zweite Softwaremodul, wobei eine Bedienperson vorzugsweise mit dem
Peripheriegerät
interagiert, insbesondere aufgrund ausgegebener Einforderungen erforderliche
Eingabehandlungen vornimmt.The
from the second software module to the first software module during the
Initialization test procedure
Data is preferably from the third software module or from a
fourth software module recorded and stored. During the initialization test run
an actual takes place
Communication between the first software module and the peripheral device via the
second software module, wherein an operator preferably with the
peripheral
interacts, particularly due to issued demands
Makes input actions.
Bei
einer Weiterbildung erfolgt die tatsächliche Kommunikation zwischen
dem ersten Softwaremodul und dem Peripheriegerät über das dritte bzw. vierte
Softwaremodul und das zweite Softwaremodul. Diese tatsächliche
Kommunikation stimmt mit der Kommunikation zwischen dem ersten Softwaremodul und
dem Peripheriegerät über das
zweite Softwaremodul ohne Zwischenschaltung des dritten bzw. vierten
Softwaremoduls überein.at
In a further education the actual communication takes place between
the first software module and the peripheral device via the third and fourth, respectively
Software module and the second software module. This actual
Communication agrees with the communication between the first software module and
the peripheral over the
second software module without interposition of the third and fourth
Software module match.
Weiterhin
ist es vorteilhaft, wenn das dritte und/oder vierte Softwaremodul
als Proxyprogrammmodul zum Zwischenspeichern und Aufzeichnen der Kommunikation
zwischen dem ersten Softwaremodul und dem zweiten Softwaremodul
eingesetzt wird. Dadurch kann die Datenkommunikation zwischen dem ersten
und dem zweiten Softwaremodul bidirektional erfasst werden und insbesondere
ein zeitlicher Bezug zwischen den vom ersten Softwaremodul zum zweiten
Softwaremodul übertragenen
Daten und den vom zweiten zum ersten Softwaremodul übertragenen
Daten erfasst werden. Ferner kann die Datenkommunikation zwischen
dem ersten Softwaremodul und mehreren zweiten Softwaremodulen mit
Hilfe des dritten und/oder vierten Softwaremoduls erfasst werden,
insbesondere mit Hilfe des Proxyprogrammmoduls, um auch zeitliche
Zusammenhänge
zwischen den vom ersten Softwaremodul zum zweiten Softwaremodul übertragenen
Daten und den von dem min destens einen weiteren zweiten Softwaremodul
zum ersten Softwaremodul übertragenen
Daten erfassen zu können.Farther
it is advantageous if the third and / or fourth software module
as a proxy program module for buffering and recording the communication
between the first software module and the second software module
is used. This allows the data communication between the first
and the second software module are bidirectionally detected and in particular
a temporal relationship between the first software module to the second
Transferred software module
Data and transmitted from the second to the first software module
Data is collected. Furthermore, the data communication between
the first software module and several second software modules with
Help of the third and / or fourth software module are detected
especially with the help of the proxy program module, to temporal
relationships
between the transmitted from the first software module to the second software module
Data and that of at least one other second software module
transferred to the first software module
To capture data.
Besonders
vorteilhaft ist es, wenn das zweite Softwaremodul für das erste
Softwaremodul eine Kommunikationsschnittstelle bereitstellt. Das
zweite Softwaremodul ist vorzugsweise ein Treibersoftwaremodul und/oder
eine von der Klasse des ersten Softwaremoduls verschiedene zweite
Klasse, vorzugsweise in einer objektorientierten Programmumgebung.Especially
It is advantageous if the second software module for the first
Software module provides a communication interface. The
second software module is preferably a driver software module and / or
a second different from the class of the first software module
Class, preferably in an object-oriented program environment.
Die
Daten umfassen vorzugsweise mehrere Datenblöcke, wobei jeder Datenblock
vorzugsweise einer Kommunikation zu einer Interaktion mit dem Peripheriegerät zugeordnet
ist. Die Datenblöcke
werden vorzugsweise in ihrer zeitlichen Reihenfolge, insbesondere
mit ihrem zeitlichen Bezug zueinander, mit ihrem zeitlichen Bezug
zu einem Bezugszeitpunkt und/oder mit ihrem zeitlichen Bezug zu
weiteren Datenblöcken
gespeichert. Durch den erfassten zeitlichen Bezug können aufgrund
der vom ersten Softwaremodul ausgegebenen Anforderungen der Anforderung
entsprechende Daten vom dritten Softwaremodul zum ersten Softwaremodul
im erfassten zeitlichen Abstand übertragen
werden.The
Data preferably comprises a plurality of data blocks, each data block
preferably associated with a communication to an interaction with the peripheral device
is. The data blocks
are preferably in their chronological order, in particular
with their temporal relationship to each other, with their temporal relation
at a reference date and / or with their temporal reference to
further data blocks
saved. Due to the recorded temporal relation can due to
the requirements of the request issued by the first software module
corresponding data from the third software module to the first software module
transferred at the recorded time interval
become.
Vorzugsweise
zeichnet das dritte Softwaremodul zusätzlich die während des
Initialisierungstestablaufs vom ersten Softwaremodul zum zweiten Softwaremodul übertragenen
weiteren Daten auf. Bei einer Wiederholung des Testablaufs mit dem
ersten Softwaremodul oder mit einem modifizierten ersten Softwaremodul
wird zumindest ein Teil der aufgezeichneten Daten vom dritten Softwaremodul
oder von einem vierten Softwaremodul zum ersten Softwaremodul in
Abhängigkeit
der vom ersten Softwaremodul zum dritten Softwaremodul übertragenen
Daten übertragen.
Vorzugsweise sind mehrere Peripheriegeräte vorgesehen, mit denen das
erste Softwaremodul jeweils über
das zweite Softwaremodul kommuniziert und/oder mit dem das erste
Softwaremodul über
jeweils ein zweites diesem Peripherigegerät zugeordnetes Softwaremodul
kommuniziert. Solche Peripheriegeräte umfassen insbesondere eine
tastsensitive Anzeigeeinheit, eine Kartenlese- und/oder Kartenschreibeinheit,
eine Tastatur, insbesondere eine Zifferntastatur oder Funktionstasten,
eine Vorrichtung zum Erfassen biometrischer Eigenschaften, eine
Geldmitteltransport-, Geldmittelprüf-, Geldmittelspeicher-, Geldmittelvereinzelungs-,
Geldmittelstapel-, Geldmittelsortier-, Geldmittelwende-, Geidmittelausgabe-
und/oder Geldmitteleingabeeinheit. Das erste Softwaremodul ist vorzugsweise
Bestandteil eines Anwendungsprogramms zum Steuern eines Geldmitteltransaktionsgerätes, wie
einem Geldeinzahl- oder -auszahlautomaten.Preferably
In addition, the third software module records the during the
Initialization Testablaufs transferred from the first software module to the second software module
further data. In a repetition of the test procedure with the
first software module or with a modified first software module
will be at least part of the recorded data from the third software module
or from a fourth software module to the first software module in
dependence
that transmitted from the first software module to the third software module
Transfer data.
Preferably, a plurality of peripheral devices are provided with which the
first software module each about
the second software module communicates and / or communicates with the first one
Software module via
in each case a second software module assigned to this peripheral device
communicated. Such peripheral devices include in particular a
touch-sensitive display unit, a card reading and / or card writing unit,
a keyboard, in particular a numeric keypad or function keys,
a device for detecting biometric properties, a
Funds transfer, funds check, funds storage, funds singular,
Funds stack, funds sorting, funds turnaround, geid
and / or cash input unit. The first software module is preferred
Component of an application program for controlling a cash transaction device, such as
a cash deposit or withdrawal machine.
Durch
ein Verfahren zum computergesteuerten Testen eines Softwaremoduls
mit den Merkmalen des Patentanspruchs 11 können gleiche Vorteile erzielt
werden wie durch das System nach Patentanspruch 1. Ferner kann dieses
Verfahren auf die gleiche Weise weitergebildet werden, wie für das System nach
Patentanspruch 1 angegeben. Insbesondere kann auch das Verfahren
mit den Merkmalen des Patentanspruchs 11 mit den zur Weiterbildung
des Systems nach Patentanspruchs 1 in den abhängigen Patentansprüchen angegebenen
Merkmalen oder entsprechenden verfahrensgemäßen Merkmalen weitergebildet
werden.By a method for computer controlled testing of a software module having the features of patent claim 11, the same advantages can be achieved as by the system according to claim 1. Further, this method can be developed in the same manner as specified for the system according to claim 1. In particular, the method with the features of claim 11 can be further developed with the features specified in the dependent claims for the development of the system according to claim 1 or corresponding features corresponding to the method.
Weitere
Merkmale und Vorteile der Erfindung ergeben sich aus der folgenden
Beschreibung, welche in Verbindung mit den beigefügten Figuren
die Erfindung anhand eines Ausführungsbeispiels
näher erläutert.Further
Features and advantages of the invention will become apparent from the following
Description, which in conjunction with the attached figures
the invention with reference to an embodiment
explained in more detail.
Es
zeigen:It
demonstrate:
1 ein
Blockschaltbild mit Programmmodulen und Schnittstellen zur Kommunikation
eines Anwendungsprogramms mit mehreren Peripheriegeräten gemäß einer
ersten Ausführungsform
der Erfindung; 1 a block diagram with program modules and interfaces for communication of an application program with multiple peripheral devices according to a first embodiment of the invention;
2 ein
Blockschaltbild mit Programmmodulen und Schnittstellen zur Kommunikation
eines Anwendungsprogramms mit mehreren Peripheriegeräten gemäß einer
zweiten Ausführungsform
der Erfindung; 2 a block diagram with program modules and interfaces for communication of an application program with multiple peripheral devices according to a second embodiment of the invention;
3 eine
schematische Darstellung von Komponenten zum Durchführen eines
computergesteuerten Tests des Anwendungsprogramms gemäß der ersten
oder zweiten Ausführungsform
der Erfindung; 3 a schematic representation of components for performing a computer-controlled test of the application program according to the first or second embodiment of the invention;
4 ein
Blockschaltbild mit Programmmodulen und Schnittstellen zur Kommunikation
eines Anwendungsprogramms mit mehreren Peripheriegeräten gemäß einer
dritten Ausführungsform
der Erfindung; 4 a block diagram with program modules and interfaces for communication of an application program with multiple peripheral devices according to a third embodiment of the invention;
5 eine
schematische Darstellung von Komponenten zum Durchführen eines
computergesteuerten Tests des Anwendungsprogramms gemäß der dritten
Ausführungsform
der Erfindung; 5 a schematic representation of components for performing a computer-controlled test of the application program according to the third embodiment of the invention;
6 den
zeitlichen Ablauf der Kommunikation zwischen einem Kartenleser und
dem Anwendungsprogramm sowie von zugehörigen Bedienein- und -ausgaben. 6 the timing of the communication between a card reader and the application program as well as associated operating inputs and outputs.
In 1 ist
ein Blockschaltbild mit Programmmodulen und Schnittstellen zur Kommunikation
eines Anwendungsprogrammmoduls 10 mit mehreren Peripheriegeräten 12 bis 18 eines
Datenverarbeitungssystems eines Geldautomaten 20 dargestellt.
Das Datenverarbeitungssystem des Geldautomaten 20 umfasst
ferner eine Datenverarbeitungsanlage 22, die durch das
Abarbeiten entsprechender Programmdaten das Anwendungsprogrammmodul 10,
das Proxy-Programmmodul 24, die Geräteansteuerprogrammmodule 26 bis 32 sowie
ein Betriebssystemtreiberprogramm 34 zum Ansteuern einer
USB-Schnittstelle 38 der Datenverarbeitungsanlage 22 und
ein Betriebssystemtreiberprogramm 36 zum Ansteuern einer
V.24-Schnittstelle 40 der Datenverarbeitungsanlage 22 bereitgestellt. Über die USB-Schnittstelle 38 sind
Peripheriegeräte 12 bis 16 mit
Hilfe von Datenleitungen mit der Datenverarbeitungsanlage 22 verbunden. Über die
V.24-Schnittstelle 40 ist das Peripheriegerät 18 mit
Hilfe einer Datenleitung mit der Datenverarbeitungsanlage 22 verbunden.In 1 is a block diagram with program modules and interfaces for communication of an application program module 10 with several peripherals 12 to 18 a data processing system of an ATM 20 shown. The data processing system of the ATM 20 further comprises a data processing system 22 , which by executing appropriate program data, the application program module 10 , the proxy program module 24 , the device driver modules 26 to 32 and an operating system driver program 34 for controlling a USB interface 38 the data processing system 22 and an operating system driver program 36 for controlling a V.24 interface 40 the data processing system 22 provided. Via the USB interface 38 are peripherals 12 to 16 with the help of data cables with the data processing system 22 connected. Via the V.24 interface 40 is the peripheral device 18 with the help of a data line with the data processing system 22 connected.
Im
vorliegenden Ausführungsbeispiel
weist der Geldautomat 20 eine Zifferntastatur 12,
eine Kartenlese- und -schreibeinheit 14 sowie eine Überwachungs-
und Zugangssteuereinheit 16 auf, die jeweils mit der USB-Schnittstelle 38 der
Datenverarbeitungsanlage 22 verbunden sind. Als weiteres
Peripheriegerät 18 umfasst
der Geldautomat 20 eine Steuereinheit zum Steuern des Transports
und der Ausgabe von Geldscheinen, die über eine serielle Datenverbindung
mit der V.24-Schnittstelle 40 der Datenerarbeitungsanlage 22 verbunden
ist. Die Peripheriegeräte 12 bis 18 können bei
anderen Ausführungsformen
der Erfindung auch mit anderen Schnittstellentypen der Datenverarbeitungsanlage 22 verbunden sein.
Ferner können
andere Peripheriegeräte,
insbesondere zusätzliche
Peripheriegeräte,
wie eine Anzeigeeinheit, insbesondere eine tastsensitive Anzeigeeinheit,
Funktionstasten zur Auswahl von Bedienoptionen und Peripheriegeräte zum Geldmittelhandling
vorgesehen sein.In the present embodiment, the ATM 20 a numeric keypad 12 , a card reading and writing unit 14 and a monitoring and access control unit 16 on, each with the USB interface 38 the data processing system 22 are connected. As another peripheral device 18 includes the ATM 20 a control unit for controlling the transport and issuing of bills via a serial data connection to the V.24 interface 40 the data processing system 22 connected is. The peripherals 12 to 18 may in other embodiments of the invention with other interface types of the data processing system 22 be connected. Furthermore, other peripheral devices, in particular additional peripheral devices, such as a display unit, in particular a touch-sensitive display unit, function keys for selecting operating options and peripheral devices for funds handling can be provided.
Ferner
umfasst die Datenverarbeitungsanlage 22 mindestens einen
Permanentspeicher 42 zum Speichern von zumindest Teilen
der Datenkommunikation zwischen dem Anwendungsprogrammmodul 10 und
den Gerätesteuerprogrammmodulen 26 bis 32.
Das Anwendungsprogrammmodul 10 ist insbesondere als Smart-Client-Programmmodul
ausgeführt,
das insbesondere eine dynamische Oberflächengestaltung einer durch
die Datenverarbeitungsanlage 22 bereitgestellten Benutzeroberfläche, eine dynamische
Ablaufgestaltung von Prozessen und/oder ein netzinternes Management
ermöglicht. Allgemein
wird ein Smart-Client-Anwendungsprogrammmodul 10 lokal
von einem Datenverarbeitungssystem des Geldautomaten 20 abgearbeitet und
vollautomatisch über
ein Netzwerk, insbesondere dem Internet oder einem Intranet, installiert
und aktualisiert. Die Nutzung eines Smart-Client-Anwendungsprogrammmoduls 10 ermöglicht ein
gutes Laufzeitverhalten und einen hohen Bedienkomfort bei gleichzeitiger
Vermeidung oder Reduzierung lokaler Installationsprobleme, wobei
durch die Smart Client-Programmmodule eine Kombination von Vorteilen
der klassischen Desktopanwendung und von bekannten Webanwendungen
erreicht wird. Der Zugriff beispielsweise auf ein Datenbanksystem
einer Bank, mit dem der Geldautomat 20 über entsprechende Datenleitungen
bzw. ein Datennetz verbunden ist, kann sowohl über ein lokaes Netzwerk als auch über einen
Web-Servicedienst bereitgestellt werden. Alternativ können auch
sogenannte Thin-Client-Programmmodule eingesetzt werden, deren Funktion
im Wesentlichen auf die Ein- und
Ausgabe von Informationen, vorzugsweise zum Bereitstellen einer
Benutzeroberfläche
beschränkt
sind. Im Unterschied zum Thin-Client kann das Smart-Client-Programmmodul 10 auch
dann aktiv sein, wenn die Datenverarbeitungsanlage 22 nicht
mit einem Netzwerk verbunden ist. Somit ist ein solcher Smart Client
als Anwendungsprogrammmodul 10 der Datenverarbeitungsanlage 22 des
Geldautomaten 20 geeignet, da das Smart Client-Programmmodul 10 insbesondere sogenannte
Notlaufroutinen bereitstellen kann, die beispielsweise durch einen
Softwarestack bereitgestellt werden.Furthermore, the data processing system includes 22 at least one permanent memory 42 for storing at least parts of the data communication between the application program module 10 and the device control program modules 26 to 32 , The application program module 10 is in particular designed as a smart client program module, in particular a dynamic surface design of a through the data processing system 22 provided user interface, a dynamic flow of processes and / or an internal network management. In general, a smart client application program module 10 locally from a data processing system of the ATM 20 processed and fully automatically via a network, in particular the Internet or an intranet, installed and updated. Using a Smart Client Application Program Module 10 allows a good runtime behavior and a high level of operating comfort while avoiding or reducing local installation problems, with the Smart Client program modules a combination of advantages of the classic desktop application and known web applications is achieved. Access, for example, to a database system of a bank with which the ATM 20 Connected via corresponding data lines or a data network can be provided both via a local network and via a web service. Alternatively, it is also possible to use so-called thin-client program modules whose function is essentially limited to the input and output of information, preferably to provide a user interface. In contrast to the thin client, the smart client program module 10 even be active when the data processing system 22 not connected to a network. Thus, such a smart client is an application program module 10 the data processing system 22 of the ATM 20 suitable because the Smart Client program module 10 In particular, so-called emergency operation routines can be provided, which are provided for example by a software stack.
Alternativ
kann das Anwendungsprogrammmodul 10 auch ein eigenständiges Anwendungsprogramm
sein, das mit Hilfe einer geeigneten Programmiersprache, wie der
plattformunabhängigen
Programmiersprache JAVA, erstellt worden ist. Auch das Smart-Client-Programmmodul 10 ist
vorzugsweise mit Hilfe der Programmiersprache JAVA erstellt worden.Alternatively, the application program module 10 also be a stand-alone application program that has been created using a suitable programming language, such as the platform-independent programming language JAVA. Also the smart client program module 10 has preferably been created using the programming language JAVA.
Bei
dem Ausführungsbeispiel
nach 1 ist das Anwendungsprogrammmodul 10 in
der Programmiersprache JAVA erstellt worden. Ferner ist für jedes
mit der Datenverarbei tungsanlage 22 verbundene und über das
Anwendungsprogrammmodul 10 ansteuerbare Peripheriegerät 12 bis 18 jeweils
ein Gerätesteuerprogrammmodul 26 bis 22 definiert,
das auch als JAVA-Device-Programmmodul bezeichnet wird. Diese Gerätesteuerprogrammmodule 26 bis 32 stellen
für das
Anwendungsprogrammmodul 10 eine einheitliche Kommunikationsschnittstelle
für Peripheriegeräte 12 bis 18 bereit.
Diese Gerätesteuerprogrammmodule 26 bis 32 stellen
für das
Anwendungsprogrammmodul 10 jeweils ein definiertes und
einfach ansprechbares JAVA-Device bereit, durch die die und zur
Kommunikation mit dem vom Betriebssystem der Datenverarbeitungsanlage 22 bereitgestellten
Treiberprogramme 34, 36 einfach möglich ist. Die
Gerätesteuerprogrammmodule 26 bis 32 stellen somit
jeweils eine Kommunikationsschnittstelle zwischen den Anwendungsprogrammmodul 10 und
den Treiberprogrammen 34, 36 bereit. Für das Peripheriegerät 12 wird
eine sogenannte J/XFS-Schnittstelle (J/XFS JAVA/eXtensions for Financial
Services) bereitgestellt, durch die eine standardisierte JAVA-Schnittstelle
für Hardwarekomponenten
bereitgestellt wird, die im Rankenumfeld insbesondere bei SB-Terminals eingesetzt
werden. Für
die Peripheriegeräte 16 und 18 wird
durch die Gerätesteuerprogrammmodule 30, 32 jeweils
eine WOSA/XFS-Schnittstelle (Windows Open Services Architecture/eXtensions
for Financial Services) bereitstellt. WOSA ist eine Softwarearchitektur
für Windowsbetriebssysteme,
die Schnittstellen für
Peripheriegeräte
definieren, wodurch die Erstellung von individuellen Windowsanwendungen
ermöglicht
wird, die hohen Ansprüchen
gerecht werden, wie sie insbesondere im Bereich von SB-Terminals
im Bankbereich erforderlich sind.According to the embodiment 1 is the application program module 10 created in the programming language JAVA. Furthermore, for each with the data processing plant 22 connected and via the application program module 10 controllable peripheral device 12 to 18 one device control program module each 26 to 22 which is also referred to as a JAVA device program module. These device control modules 26 to 32 set for the application program module 10 a uniform communication interface for peripherals 12 to 18 ready. These device control modules 26 to 32 set for the application program module 10 each one defined and easily accessible JAVA device ready by which the and for communication with the operating system of the data processing system 22 provided driver programs 34 . 36 is simply possible. The device control program modules 26 to 32 thus each provide a communication interface between the application program module 10 and the driver programs 34 . 36 ready. For the peripheral device 12 A so-called J / XFS interface (J / XFS JAVA / eXtensions for Financial Services) is provided, which provides a standardized JAVA interface for hardware components that are used in the vineyard environment, especially for self-service terminals. For the peripherals 16 and 18 is through the device control program modules 30 . 32 each provides a WOSA / XFS (Windows Open Services Architecture / eXtensions for Financial Services) interface. WOSA is a software architecture for Windows operating systems that define interfaces for peripherals, enabling the creation of custom Windows applications that meet the high standards required in the area of self-service terminals in the banking sector.
Für das Peripheriegerät 14 wird
durch das Gerätesteuerprogrammmodul 28 eine
J/FS-Schnittstelle (JAVA/Financial Ser vice) bereitgestellt. Die
Gerätesteuerprogrammmodule 26 bis 32 bilden
somit für
das Anwendungsprogrammmodul 10 eine Kommunikationsschnittstelle
mit den Treiberprogrammmodulen 34, 36 zum Ansteuern
der Schnittstellen 38, 40, so dass das Anwendungsprogrammmodul 10 weder
mit den Treiberprogrammmodulen 34, 36 oder zur
direkten Kommunikation mit den Peripheriegeräten 12 bis 18 über die
Schnittstelle 38, 40 angepasst werden muss. Somit
kann das Anwendungsprogrammmodul 10 auch mit verschiedensten
Plattformen und unterschiedlichen Datenverarbeitungsanlagen 22 ohne
weitere Anpassungen abgearbeitet werden, wenn Gerätesteuerprogrammmodule 26 bis 32 vorhanden
sind, über
die eine standardisierte Kommunikation mit den Peripheriegeräten 12 bis 18 möglich ist.
In der objektorientierten Programmierung der Programmiersprache
JAVA sind das Anwendungsprogrammmodul 10 und die Gerätesteuerprogrammmodule 26 bis 32 verschiedenen
Klassen zugeordnet. Das Proxy-Programmmodul 24 ist einer
weiteren Klasse zugeordnet, die zum Erfassen der Datenkommunikation
zwischen dem Anwendungsprogrammmodul 10 und den Gerätesteuerprogrammmodulen 26 bis 32 zwischen
den Schichten des Anwendungsprogrammmoduls 10 und der Gerätesteuerprogrammmodule 26 bis 32 angeordnet
ist. Das Proxy-Programmmodul 24 erfasst die vom Anwendungsprogrammmodul 10 zu
den Gerätesteuerprogrammmodulen 26 bis 32 übertragenen
Daten sowie die von den einzelnen Gerätesteuerprogrammmodulen 26 bis 32 zum
Anwendungsprogrammmodul 10 übertragenen Daten und zeichnet
diese auf. Die aufgezeichneten Daten werden im Permanentspeicher 42 gespeichert.
Der Permanentspeicher 42 kann insbesondere durch ein Datenbanksystem
bereitgestellt werden. Die vom Anwendungsprogrammmodul 10 zu den
Gerätesteuerprogrammmodulen 26 bis 32 übertragenen
Daten können
vom Programmmodul 24 auch zwischengespeichert und dann
weiter zu den Gerätesteuerprogrammmodulen 26 bis 32 übertragen
werden. Auch die von den Gerätesteuerprogrammmodulen 26 bis 32 zum
Anwendungsprogrammmodul 10 übertragenen Daten können vom Aufzeichnungsprogrammmodul 24 zwischengespeichert
werden, bevor sie weiter zum Anwendungsprogrammmodul 10 übertragen
werden. Somit werden mit Hilfe des Aufzeichnungsprogrammmoduls 10 die gesamten
bei der Interaktion mit den Peripheriegeräten 12 bis 18 vom
und zum Anwendungsprogrammmodul 10 während eines Testablaufs übertragenen Daten
vom Programmmodul 24 erfasst und gespeichert.For the peripheral device 14 is through the device control program module 28 provided a J / FS interface (JAVA / Financial Service). The device control program modules 26 to 32 thus form for the application program module 10 a communication interface with the driver program modules 34 . 36 for controlling the interfaces 38 . 40 so that the application program module 10 neither with the driver program modules 34 . 36 or for direct communication with the peripherals 12 to 18 over the interface 38 . 40 must be adjusted. Thus, the application program module 10 also with different platforms and different data processing systems 22 be processed without any further adjustments if device control program modules 26 to 32 are present, over which a standardized communication with the peripheral devices 12 to 18 is possible. In the object-oriented programming of the programming language JAVA are the application program module 10 and the device control program modules 26 to 32 assigned to different classes. The proxy program module 24 is associated with another class that is used to capture the data communication between the application program module 10 and the device control program modules 26 to 32 between the layers of the application program module 10 and the device control program modules 26 to 32 is arranged. The proxy program module 24 captures those from the application program module 10 to the device control modules 26 to 32 transmitted data as well as those of the individual device control program modules 26 to 32 to the application program module 10 transmitted data and records these. The recorded data is stored in non-volatile memory 42 saved. The permanent memory 42 can be provided in particular by a database system. The from the application program module 10 to the device control modules 26 to 32 transmitted data can be from the program module 24 also cached and then on to the device control program modules 26 to 32 be transmitted. Also from the device control modules 26 to 32 to the application program module 10 transmitted data may be from the recording program module 24 intermediately before continuing to the application program module 10 be transmitted. Thus, with the help of the recording program module 10 the whole when interacting with the peripherals 12 to 18 from and to the application program module 10 Data transmitted during a test procedure from the program module 24 captured and saved.
Wird
nun mit Hilfe des Anwendungsprogrammmoduls 10 ein erster
Test durchgeführt,
bei dem eine Bedienperson die erforderlichen Bedienhandlungen der
Peripheriegeräte 12 bis 18 durchführt sowie
tatsächlich
vorhandene Peripheriegeräte 12 bis 18 entsprechend
angesteuert werden, wird der gesamte Datenverkehr von und zum Anwendungsprogrammmodul 10 mit
Hilfe des Aufzeichnungsprogrammmoduls 24 erfasst und aufgezeichnet.
Dieser erste Testablauf mit der tatsächlichen Interaktion mit den
Peripheriegeräten 12 bis 18 wird
auch als Initialisierungstestlauf bezeichnet.Now with the help of the application program module 10 performed a first test in which an operator the required operations of the peripheral devices 12 to 18 performs as well as actually existing peripherals 12 to 18 are controlled accordingly, all traffic to and from the application program module 10 with the help of the recording program module 24 recorded and recorded. This first test procedure with the actual interaction with the peripherals 12 to 18 is also called an initialization test run.
Für folgende
automatisch durchgeführte
Testabläufe
kann der Datenaustausch zwischen dem Anwendungsprogrammmodul 10 und
den Gerätesteuerprogrammmodulen 26 bis 32 durch
das Programmmodul 24 mit Hilfe der gespeicherten Daten einfach
bereitgestellt werden, indem zumindest ein Teil der aufgezeichneten
Daten zum Anwendungsprogrammmodul 10 übertragen werden. Dies wird nachfolgend
in Verbindung mit 3 noch näher erläutert.For the following automatically executed test procedures, the data exchange between the application program module 10 and the device control program modules 26 to 32 through the program module 24 with the help of the stored data can be easily provided by at least part of the recorded data to the application program module 10 be transmitted. This will be described below in connection with 3 explained in more detail.
In 2 ist
ein Blockschaltbild mit Programmmodulen und Schnittstellen zur Kommunikation
des Anwendungsprogrammmoduls 10 mit mehreren Peripheriegeräten 12 bis 18 eines
Datenverarbeitungssystems des Geldautomaten 20 gemäß einem zweiten
Ausführungsbeispiel
dargestellt. Im Unterschied zu dem Blockschaltbild nach 1 ist
beim Ausführungsbeispiel
nach 2 ein gemeinsames JAVA-Gerätesteuerprogrammmodul 25 vorgesehen, das
jedoch für
jedes Peripheriegerät 12 bis 18 jeweils eine
Kommunikationsschnittstelle 26a bis 32a zur Kommunikation
mit den Treiberprogrammen 34, 36 des Betriebssystems
bereitstellt. Das JAVA-Gerätesteuerprogrammmodul 25 stellt
somit für
das Anwendungsprogrammmodul 10 eine gemeinsame Kommunikationsschnittstelle
bereit. Das Gerätesteuerprogrammmodul
stellt jedoch für
jedes Peripheriegerät 12 bis 18 des
Geldautomaten 20 eine separate Kommunikationsschnittstelle 26a bis 32a bereit.In 2 is a block diagram with program modules and interfaces for communication of the application program module 10 with several peripherals 12 to 18 a data processing system of the ATM 20 shown according to a second embodiment. Unlike the block diagram after 1 is in the embodiment after 2 a common JAVA device control module 25 provided, however, for each peripheral device 12 to 18 one communication interface each 26a to 32a for communication with the driver programs 34 . 36 of the operating system. The JAVA device control module 25 thus represents for the application program module 10 a common communication interface ready. The device control module, however, provides for each peripheral device 12 to 18 of the ATM 20 a separate communication interface 26a to 32a ready.
In 3 ist
ein Blockschaltbild mit Komponenten zum Durchführen eines automatischen computergesteuerten
Testablaufs zum Testen des Anwendungsprogrammmoduls 10 dargestellt.
Zum Durchführen
des Testablaufs werden die im Permanentspeicher 42 der
Datenverarbeitungsanlage 22 gespeicherten Daten über die
Datenkommunikation zwischen dem Anwendungsprogrammmodul 10 und den
Peripheriegeräten 12 bis 18 genutzt,
um den Test durchzuführen.
Beim Abarbeiten des Anwendungsprogrammmoduls 10 erfasst
das Programmmodul 24 die vom Anwendungsprogrammmodul 10 übertragenen
Daten, vergleicht diese mit den im Permanentspeicher 42 gespeicherten
Daten und ermittelt eine diesen Daten zugeordnete Interaktion mit
einem der Peripheriegeräte 12 bis 18.
Ferner ermittelt das Programmmodul 24 die dieser Interaktion
zugeordneten vom Peripheriegerät 12 bis 18 bzw.
die vom Geräte ansteuerprogrammmodul 25, 26 bis 32 zum
Anwendungsprogrammmodul 10 als Reaktion für diese Interaktion übertragenen
Daten und den zeitlichen Abstand zwischen den vom Anwendungsprogrammmodul 10 zum
Gerätesteuerprogrammmodul 25, 26 bis 32 übertragenen
Daten und als Reaktion darauf vom Gerätesteuerprogrammmodul 25, 26 bis 32 zum Anwendungsprogrammmodul 10 übertragenen
Daten. Die ermittelten Daten werden daraufhin vom Programmmodul 24 zum
Anwendungsprogrammmodul 10 übertragen. Dadurch werden die
im Initialisierungstestablauf aufgezeichneten Daten wieder übertragen,
d. h. wieder abgespielt, wobei durch das Auswerten der vom Anwendungsprogrammmodul 10 während des
weiteren Testablaufs zum Programmmodul 24 übertragenen
Daten und das Ermitteln der zu diesen Daten im Permanentspeicher 42 gespeicherten
Daten eine flexible fehlertollerante Reaktion auf die Anforderungen
des Anwendungsprogrammmoduls 10 an die Peripheriegeräte 12 bis 18 erreicht wird.In 3 Figure 13 is a block diagram of components for performing an automated computer-controlled test procedure for testing the application program module 10 shown. To perform the test procedure are the non-volatile memory 42 the data processing system 22 stored data via the data communication between the application program module 10 and the peripherals 12 to 18 used to perform the test. When processing the application program module 10 captures the program module 24 that from the application program module 10 transferred data compared with those in the non-volatile memory 42 stored data and determines an associated with this data interaction with one of the peripheral devices 12 to 18 , The program module also determines 24 the ones associated with this interaction from the peripheral device 12 to 18 or the drive program module from the device 25 . 26 to 32 to the application program module 10 data transmitted in response to this interaction and the time interval between those from the application program module 10 to the device control program module 25 . 26 to 32 transmitted data and in response to the device control program module 25 . 26 to 32 to the application program module 10 transmitted data. The determined data are then from the program module 24 to the application program module 10 transfer. As a result, the data recorded in the initialization test procedure are transmitted again, ie played back, the evaluation being carried out by the application program module 10 during the further test procedure to the program module 24 transferred data and determining the data in the non-volatile memory 42 stored data a flexible error-tolerant response to the requirements of the application program module 10 to the peripherals 12 to 18 is reached.
Bei
anderen Ausführungsbeispielen
wird nach einem Start des Testablaufs die Datenkommunikation in
gleicher Weise wie bei dem Initialisierungstestablauf durchgeführt. Jedoch
ist dieses System dann nicht mehr im gleichen Maße fehlertolerant. Ferner kann
das Programmmodul 24 die Reihenfolge der zum Anwendungsprogrammmodul 10 übertragenen
Daten so steuern, dass sie in der gleichen Reihenfolge übertragen
werden, in der sie während
des Initialisierungstestablaufs aufgezeichnet worden sind.In other embodiments, after a start of the test procedure, the data communication is performed in the same manner as in the initialization test procedure. However, this system is then no longer equally fault tolerant. Furthermore, the program module 24 the order of the application program module 10 control transmitted data so that they are transmitted in the same order in which they were recorded during the initialization test procedure.
In 4 ist
ein Blockschaltbild mit Programmmodulen und Schnittstellen zur Kommunikation
eines Anwendungsprogrammmoduls 10 mit mehreren Peripheriegeräten 12 bis 18 eines Datenverarbeitungssystems
des Geldautomaten 20 gemäß einer dritten Ausführungsform
der Erfindung dargestellt. Das Programmmodul 24 zum Aufzeichnen
und zum Simulieren der Datenkommunikation durch Abspielen der aufgezeichneten
Datenkommunikation für
weitere Tests ist beim Ausführungsbeispiel
nach 4 zwischen den Treiberprogrammmodulen 34, 36 des
Betriebssystems und den Hardwareschnittstellen 38, 40 angeordnet.
Alternativ kann das Programmmodul 24 auch von einer weiteren
Datenverarbeitungsanlage oder Steuereinheit bereitgestellt werden,
das zwischen den Hardwareschnittstellen 38, 40 der
Datenverarbeitungsanlage 22 und den Peripheriegeräten 12 bis 18 angeordnet
ist und den über
die Datenleitungen zwischen den Hardwareschnittstellen 38, 40 und
den Peripheriegeräten 12 bis 18 bei
dem Initialisierungstestablauf aufzeichnet und nachfolgend wiedergibt.
Jedoch sind dann auch bei einem wiederholten Testablauf, bei dem
die aufgezeichneten Daten zum Nachbilden der Interaktion mit den
jeweiligen Peripheriegeräten 12 bis 18 abgespielt
werden, das Vorhandensein der Peripheriegeräte 12 bis 18 erforderlich,
da sonst die Treiberprogrammmodule 34, 36 des
Betriebssystems erkennen, dass die Peripheriegeräte 12 bis 18 nicht
korrekt angeschlossen sind und den Testablauf verhindern würden. Dieses
Problem wird bei den Ausführungsbeispielen
nach den 1 bis 4 vermieden.In 4 is a block diagram with program modules and interfaces for communication of an application program module 10 with several peripherals 12 to 18 a data processing system of the ATM 20 shown according to a third embodiment of the invention. The program module 24 for recording and simulating the data communication by playing the recorded data communication for further tests is in the embodiment according to 4 between the driver program modules 34 . 36 of the operating system and the hardware interfaces 38 . 40 arranged. Alternatively, the program module 24 also provided by another data processing system or control unit be that between the hardware interfaces 38 . 40 the data processing system 22 and the peripherals 12 to 18 is arranged and the data lines between the hardware interfaces 38 . 40 and the peripherals 12 to 18 records at the initialization test procedure and subsequently plays. However, even with a repeated test procedure, the recorded data will be to mimic the interaction with the respective peripherals 12 to 18 be played, the presence of peripherals 12 to 18 required, otherwise the driver program modules 34 . 36 of the operating system recognize that the peripherals 12 to 18 are not connected correctly and would prevent the test procedure. This problem is in the embodiments of the 1 to 4 avoided.
In 5 ist
ein Blockschaltbild mit Komponenten zum Durchführen eines computergesteuerten Tests
des Anwendungsprogrammmoduls 10 dargestellt, wobei zum
Testablauf die mit Hilfe der in 4 gezeigten
Konfiguration gemäß der dritten
Ausführungsform
der Erfindung aufgezeichneten Daten genutzt werden. Das Programmmodul 24 erzeugt
für die
Treiberprogrammmodule 34, 36 des Betriebssystems
die gleiche Datenkommunikation während
des automatisch ohne weitere Be nutzereingriffe durchgeführten Testablaufs,
wie sie zwischen den Treiberprogrammmodulen 34, 36 und
den Hardwareschnittstellen 38, 40 bei dem Initialisierungstestablauf
erfolgt ist, bei dem eine tatsächliche
Interaktion mit den Peripheriegeräten 12 bis 18 stattgefunden
hat.In 5 Figure 12 is a block diagram of components for performing a computer-controlled test of the application program module 10 shown, with the test procedure using the in 4 shown configuration according to the third embodiment of the invention recorded data are used. The program module 24 generated for the driver program modules 34 . 36 the same data communication during the test procedure automatically performed without further user interventions, as between the driver program modules 34 . 36 and the hardware interfaces 38 . 40 in the initialization test sequence where there is an actual interaction with the peripherals 12 to 18 took place.
Die
Gerätesteuerprogrammmodule 26 bis 32 bzw. 25 werden
durch eine Softwareschicht zur Ansteuerung von Gerätekomponenten
und Peripheriegeräten
gebildet. Die Treiberprogrammmodule 34, 36 des
Betriebssystems übernehmen
eine tatsächliche Geräteverwaltung
und Ansteuerung im Betriebssystem. Die Treiberprogrammmodule 34, 36 bilden
die Verbindung zwischen den Hardwareschnittstellen 38, 40 und
der durch die Geräteansteuerprogrammmodule 25 bis 32 bereitgestellten
Softwareschicht. Zum Aufzeichnen der Datenkommunikation zwischen
dem Anwendungsprogramm 10 und den Peripheriegeräten 12 bis 18 ist
erfindungsgemäß eine Zwischenschicht
vorgesehen. Diese Zwischenschicht kann an einer beliebigen Stelle
der Datenkommunikation zwischen dem Anwendungsprogrammmodul 10 und
den Peripheriegeräten 12 bis 18 angeordnet
sein. Jedoch ist es vorteilhaft, die Zwischenschicht nahe dem Anwendungsprogrammmodul 10 vorzusehen,
da dann die Tests auch mit Hilfe von Datenverarbeitungsanlagen durchgeführt werden
können,
mit denen während
des automatisch durchgeführten
Testablaufs die Peripheriegeräte 12 bis 18 nicht
verbunden sind. Somit können
Testabläufe
auch auf beliebigen Datenverarbeitungsanlagen, wie beispielsweise
auf einem Arbeitsplatzpersonalcomputer, ausgeführt werden, so dass für die tatsächlichen
automatischen Testabläufe
kein Geldautomat 20 mit den Peripheriegeräten 12 bis 18 vorhanden
sein muss.The device control program modules 26 to 32 respectively. 25 are formed by a software layer for controlling device components and peripheral devices. The driver program modules 34 . 36 of the operating system assume an actual device management and control in the operating system. The driver program modules 34 . 36 form the connection between the hardware interfaces 38 . 40 and that by the device driver modules 25 to 32 provided software layer. To record the data communication between the application program 10 and the peripherals 12 to 18 According to the invention, an intermediate layer is provided. This intermediate layer may be anywhere in the data communication between the application program module 10 and the peripherals 12 to 18 be arranged. However, it is advantageous to have the intermediate layer near the application program module 10 be provided, since then the tests can also be carried out with the help of data processing systems, with which the peripherals during the automatic test procedure 12 to 18 are not connected. Thus, test procedures can also be performed on any data processing equipment, such as on a workstation personal computer, so that for the actual automatic test procedures no ATM 20 with the peripherals 12 to 18 must be present.
6 zeigt
beispielhaft den zeitlichen Ablauf der Kommunikation zwischen einem
Kartenleser 14 und dem Anwendungsprogramm 10 sowie
von Ein- und Ausgaben über
eine Benutzerschnittstelle 46, über die einem Benutzer 44 Informationen
und Auswahlmöglichkeiten
und über
die dem Benutzer 44 erforderliche Eingabemöglichkeiten
bereitgestellt werden. Die Benutzerschnittstelle umfasst vorzugsweise eine
grafische Benutzeroberfläche. 6 shows an example of the timing of the communication between a card reader 14 and the application program 10 as well as inputs and outputs via a user interface 46 about a user 44 Information and choices and about the user 44 required input options are provided. The user interface preferably includes a graphical user interface.
Die
beschriebene Vorgehensweise zum Aufzeichnen und Wiederabspielen
der Datenkommunikation zwischen dem Anwendungsprogramm 10 und den
Peripheriegeräten 12 bis 18 ist
mit einem relativ geringen Aufwand realisierbar. Im Unterschied
zu einer Simulation der Peripheriegeräte 12 bis 18 muss bei
der beschriebenen Vorgehensweise keine Simulation eines Peripheriegerätes 12 bis 18 erstellt
werden. Im Allgemeinen ist eine Simulation eines Gerätes ähnlich komplex
wie das zu simulierende Gerät selbst
und muss insbesondere an Änderungen
des Gerätes,
beispielsweise bei Firmwareänderungen, angepasst
werden.The described procedure for recording and replaying the data communication between the application program 10 and the peripherals 12 to 18 is feasible with relatively little effort. Unlike a simulation of peripherals 12 to 18 In the described procedure, no simulation of a peripheral device is required 12 to 18 to be created. In general, a simulation of a device is as complex as the device to be simulated itself and in particular must be adapted to changes in the device, for example in firmware changes.
Durch
das Aufzeichnen der Datenkommunikation zwischen dem Anwendungsprogramm 10 und den
Peripheriegeräten 12 bis 18 wird
die Datenkommunikation zum Peripheriegerät, dessen Antwort und das zeitliche
Verhalten zwischen Anfrage und Antwort inklusive eventueller Fehler
für jedes
Peripheriegerät 12 bis 18 individuell
ausgezeichnet und bei weiteren Testabläufen mit dem gleichen zeitlichen
Verhalten und somit entsprechend dem tatsächlichen Verhalten des Peripheriegerätes 12 bis 18 wieder
abgespielt und zum Anwendungsprogrammmodul 10 übertragen.
Durch das Abspielen der Daten in Abhängigkeit von den vom Anwendungsprogramm 10 zum
Peripheriegerät 12 bis 18 übertragenen
Daten ist die Kommunikation und Interaktion mit dem Peripheriegerät 12 bis 18 für das Anwendungsprogrammmodul 10 genau
so realistisch wie bei einer tatsächlichen Interaktion mit dem
Peripheriegerät selbst.By recording the data communication between the application program 10 and the peripherals 12 to 18 becomes the data communication to the peripheral device, its response and the timing between request and response including any errors for each peripheral device 12 to 18 individually awarded and in further test procedures with the same temporal behavior and thus according to the actual behavior of the peripheral device 12 to 18 played again and the application program module 10 transfer. By playing the data depending on the application program 10 to the peripheral device 12 to 18 transmitted data is the communication and interaction with the peripheral device 12 to 18 for the application program module 10 just as realistic as an actual interaction with the peripheral device itself.
Die
aufgezeichneten Daten werden vorzugsweise in einem XML-Datenformat erfasst
oder in das XML-Datenformat umgewandelt sowie im XML-Datenformat
gespeichert. Das XML-Datenformat hat den Vorteil, dass die XML-Daten
einfach weiterverarbeitet und einfach editiert werden können, wodurch der
Testablauf einfach überprüft und/oder
verändert werden
kann.The
recorded data is preferably acquired in an XML data format
or converted to the XML data format as well as the XML data format
saved. The XML data format has the advantage that the XML data
can be easily processed and easily edited, whereby the
Test procedure simply checked and / or
to be changed
can.
Aufgrund
der Aufzeichnungsmöglichkeit durch
das Softwaremodul 24 wird dieses auch als Hardware Interaction
Recorder bezeichnet. Der Hardware Interaction Recorder zeichnet
das Verhalten von Hardwarekomponenten eines Datenverarbeitungssystems,
insbesondere das Verhalten der Peripheriegeräte 12 bis 18,
auf, wobei vorzugsweise insbesondere Ereignisse, Rückgabewerte,
zeitliche Abläufe
und zeitliche Zusammenhänge,
aufgezeichnet werden. Ferner zeichnet der Hardware Interaction Recorder
das Verhalten von Softwarekomponenten des Anwendungssoftwaremoduls 10 auf,
wobei vorzugsweise Dialogschritte und Masken, aktivierte Hardware
(aktivierte Peripheriegeräte 12 bis 18)
und Eingaben sowie eingegebene und ausgegebene Daten aufgezeichnet
werden. Bei einem nachfolgenden automatischen Testablauf werden
diese aufgezeichneten Informationen zum Erzeugen der Interaktionen mit
der Hardware und zum überprüfen der
Ausgaben der Datenverarbeitungsanlage genutzt.Due to the possibility of recording by the software module 24 This is also referred to as Hardware Interaction Recorder. Of the Hardware Interaction Recorder records the behavior of hardware components of a data processing system, especially the behavior of peripherals 12 to 18 , wherein, in particular, events, return values, time sequences and temporal relationships, in particular, are recorded. Furthermore, the hardware interaction recorder records the behavior of software components of the application software module 10 on, preferably dialogue steps and masks, activated hardware (activated peripherals 12 to 18 ) and input as well as input and output data are recorded. In a subsequent automatic test procedure, this recorded information is used to generate the interactions with the hardware and to check the outputs of the data processing system.
-
1010
-
AnwendungsprogrammmodulApplication program module
-
1212
-
Zifferntastaturkeypad
-
1515
-
Kartenlesercard reader
-
1616
-
SteuereinheitsicherheitskontrolleController Safety Control
-
1818
-
Steuereinheittransport/AusgabeControl unit Transport / output
-
2020
-
GeldautomatATM
-
2222
-
DatenverarbeitungsanlageData processing system
-
2424
-
Aufzeichnungs-
und Abspielprogrammmodulrecording
and player program module
-
26
bis 3226
to 32
-
GerätesteuerprogrammmoduleDevice control program modules
-
34,
3634
36
-
TreiberprogrammbetriebssystemDriver program operating system
-
3838
-
USB-SchnittstelleUSB interface
-
4040
-
V.24-SchnittstelleV.24 interface
-
4242
-
Permanentspeicherpermanent memory