Verfahren zur automatisierten Durchführung von Tests an Computerprogrammen Process for the automated execution of tests on computer programs
Die Erfindung betrifft ein Verfahren zur automatisierten Durchführung von Tests an Computerprogrammen. Das Verfahren, das selbst in Form eines Computerprogramms ausgeführt wird, dient zum Testen von anderen Computerprogrammen, deren Benutzungsoberfläche zur Darstellung das verbreitete X11-Protokoll verwenden. Hierbei handelt es sich vorwiegend um UNIX®-Systeme. Beim sogenannten X-Protokoll handelt es sich um ein standardisiertes Protokoll zum Datenaustausch zwischen X-Server und X-Client über ein Netzwerk. Das X-Protokoll unterstützt die Anwendung auf einem X-Client durch die vom X-Server bereitgestellte Darstellung.The invention relates to a method for the automated execution of tests on computer programs. The method, which is carried out in the form of a computer program, is used to test other computer programs whose user interface uses the widespread X11 protocol for display. Most of these are UNIX® systems. The so-called X protocol is a standardized protocol for data exchange between the X server and the X client over a network. The X protocol supports the application on an X client through the representation provided by the X server.
Computerprogramme und Internetapplikationen, die von Unternehmen eingesetzt werden, müssen auf ihre korrekte Funktion und ihre Verträglichkeit mit anderen Anwendungen geprüft werden. Bisher durchgeführte „manuelle" Testverfahren bedeuten jedoch einen hohen Personal- und Zeitaufwand. Hierdurch werden Tests oftmals nicht im notwendigen Umfang durchgeführt. Es ist daher die Aufgabe der vorliegenden Erfindung, ein Verfahren zur automatisierten Durchführung von Tests an Computerprogrammen anzugeben, mit dem Computerprogramme automatisch und mit geringem Personal- und Kostenaufwand geprüft werden können. Diese Aufgabe wird erfindungsgemäß durch das im Patentanspruch 1 angegebene Verfahren gelöst.Computer programs and Internet applications used by companies must be checked for correct functioning and compatibility with other applications. However, "manual" test methods that have been carried out hitherto involve a high expenditure of personnel and time. As a result, tests are often not carried out to the necessary extent. It is therefore the object of the present invention to specify a method for the automated execution of tests on computer programs with which computer programs automatically and can be checked with little effort in terms of personnel and costs This object is achieved according to the invention by the method specified in claim 1.
Vorteilhafte Ausgestaltungen und bevorzugte Weiterbildungen der Erfindung sind in den abhängigen Patentansprüchen angegeben.Advantageous refinements and preferred developments of the invention are specified in the dependent claims.
Erfindungsgemäß wird das Verfahren selbst als Computerprogramm ausgeführt und ist derart ausgelegt, dass es die Benutzeraktivitäten einerseits und die dadurch vom zu testenden Programm ausgelösten Systemaktivitäten andererseits
aufzeichnet. Die aufgezeichneten Benutzeraktivitäten können anschließend vollautomatisch und beliebig oft ohne Zutun des Benutzers wiederholt und auf ein zu testendes Computerprogramm angewandt werden.According to the invention, the method itself is carried out as a computer program and is designed such that it does the user activities on the one hand and the system activities thereby triggered by the program to be tested on the other hand records. The recorded user activities can then be repeated fully automatically and as often as required without user intervention and applied to a computer program to be tested.
Mit der Nutzung der zu testenden Programme verbundene Benutzeraktivitäten werden in Form von Tastatureingaben, Mausbewegungen,User activities associated with the use of the programs to be tested are in the form of keystrokes, mouse movements,
Maustastenbetätigungen, etc., aufgezeichnet oder in Form einer Ablaufsprache formuliert. Diese Benutzeraktivitäten werden dann auf ein zu testendes Programm angewendet. Das Verhalten des zu testenden Programms als Reaktion auf die automatisch ablaufenden, zuvor definierten Benutzeraktivitäten wird aufgezeichnet. Hierbei kann es sich um Ausgaben oder Aktivitäten des zu testenden Programms auf dem X-Server.Mouse button operations, etc., recorded or formulated in the form of a sequence language. These user activities are then applied to a program to be tested. The behavior of the program to be tested in response to the automatically running, previously defined user activities is recorded. This can be expenditure or activities of the program to be tested on the X server.
Die aufgezeichneten Aktivitäten des getesteten Programms werden automatisch mit entsprechenden Vorgaben verglichen, um den ordnungsgemäßen Betrieb des Programms zu prüfen. Natürlich ist auch ein „manuelles" Auswerten der Ergebnisdaten möglich, insbesondere wenn bei der automatischen Prüfung Unregelmäßigkeiten festgestellt werden, die eine eingehende Überprüfung des Programms verlangen.The recorded activities of the tested program are automatically compared with the corresponding specifications in order to check the correct operation of the program. Of course, a "manual" evaluation of the result data is also possible, in particular if irregularities are found during the automatic test, which require a thorough review of the program.
Ferner können die Aufzeichnungen zu Dokumentationszwecken verwendet werden, indem die Aktionen und Reaktionen des zu testenden Computerprogramms und/oder das Verhaltens des Computersystems ausgewertet werden.Furthermore, the records can be used for documentation purposes by evaluating the actions and reactions of the computer program to be tested and / or the behavior of the computer system.
Die Anwendungsmöglichkeiten der Erfindung erstreckt sich auf das Testen und Dokumentieren von Computerprogrammen im allgemeinen und insbesondere von X-Protokoll basierten Oberflächen. Die Erfindung ermöglicht eine Aufzeichnung, Verarbeitung und Synchronisation von Benutzeraktivitäten und dadurch hervorgerufenen Aktionen und Reaktionen des zu testenden Programms bzw. Computersystems.
Insbesondere bietet die Erfindung eineThe possible uses of the invention extend to the testing and documentation of computer programs in general and in particular of X-protocol-based surfaces. The invention enables a recording, processing and synchronization of user activities and thereby caused actions and reactions of the program or computer system to be tested. In particular, the invention offers a
• Automatisierung von Computervorgängen, die ursprünglich durch den Benutzer manuell durchgeführt werden zu - Testzwecken - Massendatenverarbeitung • Aufzeichnung von Benutzeraktionen zu Dokumentationszwecken • Gewinnung von Programmdokumentation (Masken-Screenshots)• Automation of computer processes, which are originally carried out manually by the user for - test purposes - mass data processing • recording of user actions for documentation purposes • obtaining program documentation (mask screenshots)
Das Testprogramm basiert vorzugsweise auf einem Programmcode auf der Basis von OpenSource.The test program is preferably based on a program code based on OpenSource.
Eine Nachbearbeitung der Aufzeichnung sowohl der Benutzeraktivitäten als auch der Systemreaktionen ist Bestandteil des Verfahrens.Post-processing of the recording of both the user activities and the system reactions is part of the process.
Beim „Abspielen" bzw. Abarbeiten der aufgezeichneten Benutzeraktivitäten wird das Verhalten eines Benutzers nachempfunden, d.h. das Testprogramm wartet an den entscheidenden Stellen auf bestimmte Systemreaktionen des zu testenden Programms, wie z. B. Öffnen von Eingabemasken, Fenstern, Texten, usw., bevor es weitere Eingaben oder Mausklicks automatisiert ausführt.When "playing" or processing the recorded user activities, the behavior of a user is modeled, ie the test program waits at the critical points for certain system reactions of the program to be tested, such as opening input masks, windows, texts, etc., before it automatically performs further entries or mouse clicks.
Beim X-Protokoll umfassen die Systemantworten des zu testenden Computersystems im wesentlichen Bilddaten, wobei eine Analyse und Erkennung von Fehlern anhand eines unscharfen Vergleichs der Bilddaten mit Vergleichs- Bilddaten durchgeführt wird.In the case of the X protocol, the system responses of the computer system to be tested essentially comprise image data, an analysis and detection of errors being carried out on the basis of a fuzzy comparison of the image data with comparison image data.
Dadurch können ein fehlerhaftes Programmverhalten und ein langsamer Programmablauf vom Testprogramm sofort festgestellt werden. Durch Einsatz dieses erfindungsgemäßen Testverfahrens kann der Personalaufwand beim Testen von Computerprogrammen stark reduziert werden. Es werden Tests möglich, die wegen des hohen Personalaufwands bislang unmöglich waren.
In einer bevorzugten Ausgestaltung der Erfindung ist es vorgesehen, dass die Abläufe von mehreren gleichzeitig ablaufenden Testprozeduren miteinander synchronisierbar sind.As a result, faulty program behavior and slow program execution can be determined immediately by the test program. By using this test method according to the invention, the personnel expenditure when testing computer programs can be greatly reduced. Tests are now possible that were previously impossible due to the high personnel costs. In a preferred embodiment of the invention, it is provided that the processes of several test procedures running simultaneously can be synchronized with one another.
Ein Ausführungsbeispiel der Erfindung wird nachfolgend beschrieben. Dabei werden folgende Abkürzungen und Begriffe verwendet:An embodiment of the invention is described below. The following abbreviations and terms are used:
Aufzeichnen der TestfälleRecord the test cases
Für die Aufzeichnung der Testfälle ist eine gute Vorbereitung erforderlich. Die Testfälle müssen komplett durchgeplant sein! Jede Eingabe sollte vorher „trocken" durchgeführt werden, der Tester/Testanwender sollte in der Bedienung des Testlings geübt sein.Good preparation is required to record the test cases. The test cases must be fully planned! Each entry should be carried out "dry" beforehand, the tester / test user should be trained to operate the test object.
Verwendung von TestdatenUse of test data
Jeder Testabschnitt sollte in genau dem Zustand beendet sein, in dem der Testabschnitt begonnen hat. Nur dadurch ist es möglich Testabschnitte in Schleifen mehrfach zu durchlaufen. Wenn hierbei eindeutige Schlüsselfelder zu
füllen sind ist es wichtig, einen ausreichend großen Testdatenpool zu haben. Für jeden Durchlauf kann dann ein anderer Datensatz des Pools verwendet werden.Each test section should be finished in exactly the state in which the test section started. This is the only way to run test sections in loops multiple times. If there are clear key fields here it is important to have a sufficiently large test data pool. A different pool record can then be used for each run.
Jeder Testabschnitt sollte in kleine überschaubar Sequenzen zerlegt werden, die nacheinander (aber als getrennte Dateien) aufgezeichnet werden. Dies hat den Vorteil, dass man bei Bedarf mittels der einzelnen Scripte an verschiedene Punkte des Testablaufs springen kann, und nicht den ganzen Testfall wiederholen muss wenn etwas schief geht.Each test section should be broken down into small, manageable sequences that are recorded one after the other (but as separate files). This has the advantage that you can use the individual scripts to jump to different points in the test process if necessary, and not have to repeat the whole test case if something goes wrong.
Bei der Aufzeichnung der Sequenzen sollte mit besonderer Sorgfalt vorgegangen werden, da Tipp- und Bedienungsfehler und deren Korrektur im Nachhinein manuell aus der Aufzeichnung entfernt werden müssen. Die Geschwindigkeit, mit der eine Sequenz aufgezeichnet wird ist völlig belanglos. Daher kann man sich durchaus die Zeit nehmen.Special care should be taken when recording the sequences, as typing and operating errors and their correction must be manually removed from the recording afterwards. The speed at which a sequence is recorded is completely irrelevant. So you can take your time.
Die einzelnen Sequenzen sollten als Module miteinander verknüpft werden. Optimaler Weise in hierarchischer Form. Das Scriptkommando „Include" ist genau für diesen Zweck vorgesehen. Wenn komplexere Funktionen benötigen werden, wie z.B. Variablensubstitution oder eine Anbindung an eine Datenbank, können die Scriptkommandos „Exec" oder „Pipeln" verwendet werden, um die Verarbeitung an externe Komponenten weiterzureichen. Mit dem Kommando „ReadString" können Daten aus einer ASC- Datei eingelesen werden. Die Ablaufsteuerung kann nur mit großem Aufwand ausgelagert werden, da die aufgerufenen Komponenten den Status der Verarbeitung nicht ohne weiteres erkennen können.The individual sequences should be linked together as modules. Ideally in a hierarchical form. The "Include" script command is intended for precisely this purpose. If more complex functions are required, such as variable substitution or a connection to a database, the "Exec" or "Pipeln" script commands can be used to pass the processing on to external components With the command "ReadString" data can be read from an ASC file. The process control can only be outsourced with great effort, since the called components cannot easily recognize the status of the processing.
Eine Bildschirmmaske oder ein Bildschirmfenster kennt nicht den Zustand „fertig". Das bedeutet, dass das Testprogramm niemals erkennen kann, ob das, was auf dem Monitor angezeigt wird schon komplett ist, oder ob wir (als User) noch auf irgend etwas warten. Um dem Testprogramm mitzuteilen, dass wir das Fenster als „komplett" empfinden ist die sogenannte Synchronisation erforderlich.
Zu Beginn der Synchronisation wird eine „Synctaste" festgelegt, mit der diese Synchronisation ausgelöst wird. Bei der Synchronisation wird ein Teil der Monitoranzeige in einer Datei gespeichert. Beim Abspielen wird die aktuelle Monitoranzeige regelmäßig mit dieser Datei verglichen. Bei Übereinstimmung „weiß" die Software, dass die vom Benutzer erwartete Ausgabe eingetroffen ist und setzt die Verarbeitung fort.A screen mask or a screen window does not know the state "finished". This means that the test program can never recognize whether what is displayed on the monitor is already complete or whether we (as a user) are still waiting for something To inform the test program that we feel the window is "complete", the so-called synchronization is required. At the beginning of the synchronization, a "sync button" is set with which this synchronization is triggered. During synchronization, part of the monitor display is saved in a file. When it is played, the current monitor display is regularly compared with this file. If it matches, the software "knows" that the output expected by the user has arrived and continues processing.
Das Testprogramm kann von einem ASC-Terminal aus bedient werden während der Testling auf einem X-Terminal ausgeführt wird. Dies ermöglicht eine schöne Kontrolle der Ergebnisse. Die vom Testprogramm erzeugten Scripte sind sehr lang, nicht strukturiert und unübersichtlich. Daher sollte jedes Script vor der Weiterverwendung mit einem Nachbearbeitungsmodul nachbearbeitet werden. Ein Nachbearbeitungsmodul fasst die aufgezeichneten Aktionen zu sinnvollen Blöcken zusammen und nimmt eine Vorverarbeitung der Synchronisationspunkte vor. Eine Ablaufsteuerung muss manuell eingebaut werden.The test program can be operated from an ASC terminal while the test object is being executed on an X terminal. This enables a nice control of the results. The scripts generated by the test program are very long, not structured and confusing. Therefore, every script should be post-processed with a post-processing module. A post-processing module combines the recorded actions into meaningful blocks and pre-processes the synchronization points. A sequential control system must be installed manually.
Beispiel für eine AufzeichnungExample of a recording
Durchgeführt auf einem RedHat 6.2-Linuxrechner mit KDE 2.0 als Oberfläche als Testling und als Testrechner. Der Zugang für den Testrechner erfolgte von einem anderen PC über eine NetzwerkverbindungCarried out on a RedHat 6.2 Linux computer with KDE 2.0 as an interface as a test object and as a test computer. The test computer was accessed from another PC via a network connection
Testling Wir sind an der X-Konsole angemeldet. Der Desktop ist (bis auf unsere Standardicon's) leer Wir öffnen ein Shellfenster und geben ein: xhost + <RETURN> exit<RETURN> Testrechner Wir befinden uns im Verzeichnis $HOME/xnitt- 1.00_install/xnitt_intro (ist bis auf das Unterverzeichnis „snapshot" leer). Testrechner <Testling> ist durch den Netzwerknamen zu ersetzen Wir geben ein:
export DISPLAY=<Testling>:0.0 xnrec -s > 1ter test.recTestling We are logged on to the X console. The desktop is empty (except for our standard icons) We open a shell window and enter: xhost + <RETURN> exit <RETURN> Test computer We are in the directory $ HOME / xnitt- 1.00_install / xnitt_intro (except for the subdirectory "snapshot "empty). Test computer <Testling> is to be replaced by the network name. We enter: export DISPLAY = <Testling>: 0.0 xnrec -s> 1st test.rec
Testrechner Anzeige XServer hat die Version XXXXXXXX. xtest-Erweiterung Version XXXXX Druecken Sie die StopTaste mit der die Aufzeichnung beendet werden soll (Diese Taste muss ansonsten unbenutzt sein)Test computer display XServer has version XXXXXXXX. xtest extension version XXXXX Press the stop button with which the recording is to be ended (this button must otherwise be unused)
Testling Wir drücken die WINDOWS-Taste (oder ALT-ünks)Testling We press the WINDOWS key (or ALT-ünks)
Testrechner Anzeige Die Stoptaste hat den Keycode 115 Druecken Sie die Synctaste mit der die Bildschirmsynchronisation markiert werden soll (Diese Taste muss ansonsten unbenutzt sein)Test computer display The stop key has the keycode 115 Press the sync key with which the screen synchronization should be marked (This key must otherwise be unused)
Testling Wir drücken die Pos1-Taste (oder SHIFT-Links)Testling We press the Home key (or SHIFT links)
Testrechner Anzeige Die Synctaste hat den Keycode 97 Beginn der Aufzeichnung Info: Events wurden ignoriert (4) ... (die Aufzeichnung beginnt) Tipp: Die Angezeigten Tastencodes können wir später mit den Parametern -k und -y an xnrec übergeben, und sparen uns dann diese Schritte Testling Wir klicken das Shell-Symbol am unteren Bildschirmrand an Testling Ein Shellfenster öffnet sich (Wichtig: links oben auf dem Desk) Testling Wir bewegen die Maus an die LO-Ecke des Shell-Fensters und drücken die Synctaste Testrechner 0:0 als erste Ecke notiert Testling Wir bewegen die Maus ca 2cm nach unten rechts und drücken die Synctaste erneut Testrechner 57:58 als zweite Ecke notiert. Synchronisation vorgemerkt
Testling Wir klicken „Datei" in diesem Fenster an. Dann „Linux-Konsole" (die Farbe des Fensters ändert sich)Test computer display The sync key has the keycode 97 Start of the recording Info: Events were ignored (4) ... (the recording starts) Tip: We can transfer the displayed key codes to xnrec later with the parameters -k and -y, and save then these steps Testling We click on the shell symbol at the bottom of the screen Testling A shell window opens (important: top left on the desk) Testling We move the mouse to the LO corner of the shell window and press the test computer sync button 0: 0 as the first corner noted Testling We move the mouse approx. 2 cm down to the right and press the sync key again Test computer 57:58 noted as the second corner. Scheduled synchronization Testling We click on "File" in this window. Then "Linux Console" (the color of the window changes)
Testling Eingabe: Is -I <RETURN>Testling input: Is -I <RETURN>
Testling Einbabe: exit<RETURN> (das Shellfenster wird wieder hell Einbabe: exit<RETURN> (Das Shellfenster verschwindet)Testling input: exit <RETURN> (the shell window becomes bright again input: exit <RETURN> (the shell window disappears)
Testling Wir drücken die StoptasteTestling We press the stop button
Testrechner Programm wird beendet... Ausfuehrung beendet.Test computer program is terminated ... execution terminated.
Hier ein Auszug des Aufgezeichneten ScriptsHere is an excerpt from the recorded script
MouseMove 106 739 Mouse+ 1 Delay 70 Mouse- 1 Delay 4600 Delay 26010 Sync 3 0 0 ScreenshotOOLxwd Delay 43960 MouseMove 12 28 Mouse+ 1 Mouse- 1 Delay 25960 MouseMove 45 50 Mouse+ 1 Delay 140 Mouse- 1 Delay 16510 KeyName+ I Delay 110 KeyName- 1 Delay 50 KeyName+ s Delay 90 KeyName- s Delay 250 KeyName+ space
Abspielen der AufzeichnungMouseMove 106 739 Mouse + 1 Delay 70 Mouse- 1 Delay 4600 Delay 26010 Sync 3 0 0 ScreenshotOOLxwd Delay 43960 MouseMove 12 28 Mouse + 1 Mouse- 1 Delay 25960 MouseMove 45 50 Mouse + 1 Delay 140 Mouse- 1 Delay 16510 KeyName + I Delay 110 KeyName- 1 Delay 50 KeyName + s Delay 90 KeyName- s Delay 250 KeyName + space Play the recording
Auf dem Testrechner machen wir die Eingaben, auf dem Testling beobachten wir die Reaktionen. Wenn wir alles richtig gemacht haben, können wir den Ablauf beobachten. Unsere Aktivitäten werden wiederholt.We make the entries on the test computer, and we observe the reactions on the test object. If we have done everything correctly, we can watch the process. Our activities are repeated.
Das o.a. Script ist eher unübersichtlich. Unsere Aktivitäten in diesem Script wiederzufinden erfordert einiges an Übung. Zudem ist der Ablauf ziemlich langsam.The above Script is rather confusing. Finding our activities in this script requires some practice. In addition, the process is quite slow.
Während der Ausführung wird ein Protokoll angezeigt:A log is displayed during execution:
Nachverarbeitung mit dem NachbearbeitungsmodulPost-processing with the post-processing module
Das aufgezeichnete Rohscript ist für eine automatisierte Wiedergabe eher ungeeignet, enthält aber noch alle Aktivitäten. Um die Weiterverarbeitung zu erleichtern müssen wir das Skript nachbearbeiten. Dies kann vom Nachbearbeitungsmodul automatisch durchgeführt werden. Nachdem das Nachbearbeitungsprogramm durchgelaufen ist, ergibt sich die folgende neue Datei:The recorded raw script is rather unsuitable for automated playback, but still contains all activities. In order to facilitate further processing, we have to rework the script. This can be done automatically by the post-processing module. After the post-processing program has run, the following new file results:
Echo Echo \# 1ter_test.scriptEcho Echo \ # 1ter_test.script
Echo MouseMove 110 749Echo MouseMove 110 749
Delay 60 MouseClick 1Delay 60 MouseClick 1
Delay 5940 Sync 1 0 0 XTermJDffen.xwd
OnSucc AdjustDelay 5940 Sync 1 0 0 XTermJDffen.xwd OnSucc Adjust
OnErr AdjustScreen 0 0 XTerm_Offen.xwdOnErr AdjustScreen 0 0 XTerm_Offen.xwd
OnErr ScreenDump Error_XTerm_Offen_%Y%m%d%H%M%S.xwdOnErr ScreenDump Error_XTerm_Offen_% Y% m% d% H% M% S.xwd
OnErr Goto EndOfThisScriptOnErr Goto EndOfThisScript
Delay 4290 MouseMove 18 26 MouseClick 1Delay 4290 MouseMove 18 26 MouseClick 1
Delay 1620 MouseMove 46 53Delay 1620 MouseMove 46 53
Delay 190 MouseClick 1Delay 190 MouseClick 1
Delay 2750 String Is -l\rDelay 2750 String Is -l \ r
Delay 4830 String exitλrDelay 4830 String exitλr
Delay 2940 String exit\r : EndOfThisScriptDelay 2940 String exit \ r: EndOfThisScript
In dieser Form ist das Script viel verständlicher und wir können weitere Änderungen vornehmen.In this form, the script is much easier to understand and we can make further changes.
Insert-In-CutInsert-in-Cut
Videofilmer kennen dieses Feature bereits: Man spielet einen Film bis zu einer Stelle X ab und nimmt an dieser Stelle neue Filmszenen auf. Mit dem Testprogramm ist das auch möglich.
Wenn Sie an einer beliebigen Stelle folgende Zeile in ein Script aufnehmen wird das Script bis zu der Stellen abgearbeitet, und dann die Aufnahme gestartet. Nach dem Ende der Aufnahme wird das Script fortgesetzt:Videographers already know this feature: You play a film up to a position X and record new film scenes at this point. This is also possible with the test program. If you add the following line to a script at any point, the script will be processed to that point and then the recording will start. After the end of the recording the script continues:
PushAdjustPushAdjust
Echo Achtung Aufnahme!Echo Attention Recording!
EXEC xnrec -s > NeueAufnahme.recEXEC xnrec -s> Neueaufnahme.rec
PopAdjustPopAdjust
Wenn Sie das neue Script (im Beispiel „NeueAufnahme.rec") nachbearbeitet haben können Sie es ganz einfach in den bestehenden Testfall integrieren: Fügen Sie folgende Zeilen in das vorhandene Script ein:If you have reworked the new script (in the example "NeueAufnahme.rec") you can easily integrate it into the existing test case: Add the following lines to the existing script:
PushAdjust ResetAdjust include NeueAufnahme.scr PopAdjustPushAdjust ResetAdjust include NeueAufnahme.scr PopAdjust
Sie können die Adjust-Anweisungen natürlich auch in das neue Script mit aufnehmen, dadurch bleibt das „Vaterscript" leichter verständlich Die Adjust- Anweisungen dienen in diesem Fall übrigens dazu, die Scripte zu „entkopplen". Alternativ zu dieser „Entkopplung" kann xnrec mit dem Paramter -adj aufgerufen werden. Diese Vorgehensweise eignet sich besonders zur Erzeugung modularer Testfälle.Of course, you can also include the Adjust statements in the new script, which makes the "father script" easier to understand. In this case, the Adjust statements are used to "decouple" the scripts. As an alternative to this "decoupling", xnrec can be called with the parameter -adj. This procedure is particularly suitable for generating modular test cases.
Anhand der hier gezeigten Beispiele kann natürlich nicht das ganze Spektrum der Möglichkeiten des erfindungsgemäßen Verfahrens abgebildet werden. Bei jedem Test wird man abwägen müssen, ob der Einsatz eines Tools bzw. eines Capture-/Replay-Werkzeugs, so wie es hier beschrieben ist, den Mehraufwand den der Tooleinsatz zwangsläufig mit sich bringt, rechtfertigt.
Der Einsatz eines solchen Tools lohnt sich immer dann, wennOf course, the entire spectrum of possibilities of the method according to the invention cannot be illustrated using the examples shown here. With each test, you will have to consider whether the use of a tool or a capture / replay tool as described here justifies the additional effort that the use of the tool inevitably entails. The use of such a tool is always worthwhile if
• Testfälle sehr viele Schritte haben, die in einer bestimmten Reihenfolge durchgeführt werden müssen • Testfälle häufig wiederholt (oder abgewandelt) werden müssen (Fehlerbeseitigung!, Verifikation!) • Viele Testfälle gleichzeitig ablaufen müssen (Last-/Stresstests)
• Test cases have a lot of steps that have to be carried out in a certain order • Test cases often have to be repeated (or modified) (troubleshooting !, verification!) • Many test cases have to run simultaneously (load / stress tests)