Manueller Test Tutorial/en: Unterschied zwischen den Versionen
Cg (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „= Manuelle Tests = Eigentlich erscheint dieses Thema im Umfeld "Automatisierung" zunächst deplatziert. Dennoch gibt es viele Einsatzgebiete, in denen auch in…“) |
Cg (Diskussion | Beiträge) |
||
Zeile 1: | Zeile 1: | ||
= |
= Manual Tests = |
||
At first sight, it may seem strange to cover manual tests in the context of "automation". However, there are many situations in which manual operations are required - even in an automated test. For example: power on a device, readout of measured values, visual inspection etc. |
|||
Eigentlich erscheint dieses Thema im Umfeld "Automatisierung" zunächst deplatziert. Dennoch gibt es viele Einsatzgebiete, in denen auch in einem automatisierten Test manuelle Schritte vorkommen (z.B. Einschalten von Geräten, Ablesen von Messwerten, Visuelle Prüfung von Oberflächen etc.) |
|||
In addition, expecco helps you to migrate: if you are already performing manual tests, and you can provide machine readable requirements- or test specifications, then expecco can import those and run them as manual tests. |
|||
Ausserdem hilft Ihnen expecco bei der Migration: wenn Sie aktuell manuell testen und bereits über Testspezifikationen, Listen oder Tabellen verfügen, können diese in expecco importiert werden und dann als manuelle Tests definiert ablaufen. |
|||
Although still executed manually, this will give you better reports and - probably even more of significance - the guaranty that the steps where executed properly. |
|||
Sie erhalten somit, wenn auch immer noch manuell durchgeführt, einerseits automatisch aussagekräftige Berichte, ausserdem - und möglicherweise wichtiger noch - die Sicherheit, dass auch alle Testschritte ordnungsgemäss durchgeführt wurden. |
|||
You can also migrate incrementally from fully manual tests, via partially automated tests to fully automated tests, by starting with manual test steps and replacing them with automated actions one by one. |
|||
Sie können mit expecco auch schrittweise (inkrementell) von rein manuellen, über teilautomatisierte hin zu vollautomatischen Tests migrieren, indem Sie zunächst manuell beginnen, und dann einzelne Schritte oder Testfälle durch automatisch ablaufende Aktionen ersetzen. |
|||
Even these partial automated tests will save time and money, as repeated actions (like filling out forms , confirming dialogs or reading measurement values) run much faster when automated and thereby reduce the overall execution time. |
|||
Somit erhalten Sie auch bei Teilautomatisierten Tests eine Ersparnis, da wiederkehrende Teilvorgänge (wie Login Felder ausfüllen, Dialoge bestätigen, Formulare ausfüllen, Messwerte auslesen etc.) automatisiert schneller laufen, und somit die Testzeit reduzieren. |
|||
If you are impatient, skip right to the [[#Manual_Test_Beispiel_.28Schritt_f._Schritt_Tutorial.29 | "'''Step-by-Step Tutorial'''"]] further down, and return to the details later. |
|||
== Combining Manual Test Steps with Automated Steps == |
|||
== Manuelle Testschritte mit Autom. Schritten Kombinieren == |
|||
You can arbitrarily combine manual steps with any other action step inside a diagram or test. |
|||
Manuelle Schritte können beliebig in einem Diagram mit anderen kombiniert werden. |
|||
For example, a manual step might ask the user to turn on power, to plug a cable, to perform a visual inspection or to perform any other operation involving human interaction. |
|||
Zum Beispiel könnte ein manueller Schritt eine Aufforderung an den Bediener enthalten, den Strom einzuschalten, ein Kabel zu stecken, eine visuelle Inspektion durchzuführen oder eine andere manuelle Aktion durchzuführen. |
|||
Also, partial checks which are not (yet) automated can be included this way. If you put these into separate wrapper actions, these can later be replaced by automated ones, without a need to change other parts of your suite. |
|||
Ebenso können Teilprüfungen, die (noch) nicht automatisiert sind so erfolgen. Wenn Sie solche Teilprüfungen in separate Aktionen packen, können diese später durch vollautomatisch ablaufende Sequenzen ersetzen, ohne dass Änderungen an Testplänen oder anderen Schritten notwendig werden. |
|||
Especially remember that such actions can be palced into a separate imported expecco action library, so that later, a simple reimport operation is required to switch to the automated version. |
|||
Insbesondere lassen sich solche Schritte auch in einer separaten Bibliothek halten und importieren, sodass später lediglich ein Reimportieren der Bibliothek erfolgen muss. |
|||
= |
= The Manual Test Wizard = |
||
If any manual test step is executed by expecco, a dialog window (the so called "''Manual Test Wizard'') is opened, which guides the user and provides hints about the test to be performed. |
|||
Wird in expecco ein manueller Testschritt ausgeführt, öffnet sich ein Dialogfenster (sog. "Manual Test Wizard"), der den Bediener führt und Hinweise zum Testablauf anzeigt. |
|||
The tester will be guided in a step-by-step fashion by the wizard, who can add comments, data or screenshot as documentary of the test run, and confirm each step as ''successful'' (possibly with additional notes), as ''failed'' or as ''inconclusive''. The "'íncionclusive''"outcome means that the test step could not be performed (for example because a device was offline), and therefore, no statement about the proper operation of the tests system could be made. Such tests have to be repeated later. |
|||
Im Manual Test Wizard Dialogfenster werden Sie schrittweise angeleitet. Tester haben die Möglichkeit, zu jedem Schritt Kommentare, Dateien und Screenshots als Dokumentation hinzuzufügen. Der Tester kann den Zustand des Testschrittes bestimmen, der ''bestanden'' (evtl. mit Hinweisen versehen), ''fehlgeschlagen'' oder ''nicht entscheidbar'' sein kann. Der Zustand "''Nicht Entscheidbar''" bedeutet, dass der Testschritt nicht ausgeführt werden kann (z.B. weil ein Gerät offline ist) und daher auch nicht festgestellt werden kann, ob das getestete System funktioniert oder nicht. Solche Tests werden später im Report grau dargestellt, und müssen später wiederholt werden. |
|||
The wizard's user interface consists of 3 main areas: |
|||
Die Oberfläche des Wizard teilt sich auf in: |
|||
# Toolbar area |
|||
# Symbolleistenbereich |
|||
# general informationen on the current step |
|||
# Informationen zum aktuellen Testschritt |
|||
# Orders on what do do in the current test step |
|||
# Anweisungen zu den Testschritten |
|||
[[Datei:Manual_Test_1.png|Manual Test GUI]] |
[[Datei:Manual_Test_1.png|Manual Test GUI]] |
||
== |
== The Toolbar == |
||
The toolbar provides functions functions to set the outcome of the current step, to add comments and to attach data files or screenshots to the report. |
|||
Die Symbolleiste enthält Funktionen, um den Testschrittstatus zu definieren, einen Kommentar zu dem jeweiligen Schritt zu editieren und um Datendateien bzw. Screenshot-Bilder anzuhängen. |
|||
Of special relevante are the "Next"buttons (triangular right arrows); these confirm the current step and mark it as "''Successful''" (green), "''Failed''" (red) or "''Inconclusive''" (gray). |
|||
The yellow button also stands for "''Success''", but asks for a comment to be added as warning to the final report and log file. |
|||
The other buttons are used to attach files or screenshots. |
|||
Die anderen Knöpfe dienen zum Anfügen von Attachments (Messdaten) oder Screenshots. |
|||
== Informationen |
== Informationen on the current step == |
||
This area show the current step's name, the test case, of which it is part of, and the test plan which is currently running. Some of this depends o whether the action is executed as part of a test plan, or as a single-action run (in the "test/demo"tab of the editor): |
|||
Dieser Bereich zeigt Informationen zum aktuellen Testschritt. Die angezeigten Informationen hängen davon ab, wie der Testschritt gestartet wird (als Schritt in einem Testplan vs. Einzellauf im Editor). |
|||
[[Datei:Manual Test 2.png|Manual Test Info Bar]] |
[[Datei:Manual Test 2.png|Manual Test Info Bar]] |
||
Hier werden die Namen des aktuellen Testplans, des Testfalls und Testschrittes angezeigt. |
|||
Wenn Sie den Testbaustein direkt starten, hat die Ausführung keinen Testplan, und es erscheint "-". |
|||
Whether displayed as TEST-CASE or TEST-STEP depends on corresponding tags of the current action. Although this has no semantic meaning w.r.t. the execution of actions it is useful to organize and structure the suite into layers. |
|||
Die Anzeige als TEST-CASE oder TEST-STEP wird von den Etiketten (Tags) der Aktion beeinflusst. |
|||
Sie hat zwar keinen direkten Einfluss auf die Ausführung, kann aber dem Tester nützliche Zusatzinformation bieten (i.e. "wo befinde ich mich innerhalb des Tests"). |
|||
Testates are identified by having a tag named TEST-CASE or TEST_CASE. Either of them should be present in tags found in the documentation area of the test case's action definition. |
|||
Testfälle werden durch den Tag TEST-CASE oder TEST_CASE identifiziert. Einer dieser Tags sollte im Dokumentationsbereich des Testfallblocks in den Etiketten enthalten sein. |
|||
If you create such action via the toolbar above the project tree, these tags will be automatically set. But you can cahnge these tags any time later if required. |
|||
Wenn Sie den Baustein über die Symbolleiste über dem Projektbaum erstellen, wird das TEST_CASE Etikett automatisch hinzugefügt. Fehlt dieser Tag, wird das Feld Testfall-Information beim Ablauf leer sein; ebenso wenn Sie einen Testschritt direkt im rechten Editor einzeln starten. |
|||
[[Datei:Manual Test 3.png|Manual Test Side Bar]] |
[[Datei:Manual Test 3.png|Manual Test Side Bar]] |
||
Test steps are marked with TEST-STEP tag. Likewise, this is to be found in the documentation editor at the bottom. This tag is also automatically applied if the step is created via the toolbar. |
|||
Testschritte werden mit dem Tag TEST-STEP gekennzeichnet. Dieser Tag sollte ebenfalls im Dokumentationsbereich des Prüfschrittblocks manuell hinzugefügt werden. Auch dieser Tag wird, wenn der Baustein via Toolbar des Projektbaums erstellt wird, automatisch vergeben. |
|||
[[Datei:Manual Test 4.png]] |
[[Datei:Manual Test 4.png]] |
||
Actions marked as TEST-CASE- or TEST-STEP-Tags are shown with special icons in the tree. This is for them to be easier to find and to be somewhat standing out of other actions (but as already mentioned: has no other semantic meaning). |
|||
Bausteine mit TEST-CASE- und TEST-STEP-Tags werden im Projektbereich von expecco mit speziellen Icon-Symbol gekennzeichnet und sind damit hervorgehoben und leichter auffindbar. |
|||
[[Datei:Manual Test 5.png]] |
[[Datei:Manual Test 5.png]] |
||
== Orders on What to Do in Test Step == |
|||
== Anweisungen zu denTestschritten == |
|||
The wizard's lower area present the test step's description. |
|||
Im unteren Bereich des Wizards erscheint die Beschreibung des aktuellen Testschritts. |
|||
Depending on how the test step was defined, this can be presented as simple plain text, or in a more appealing HTML presentation. See more on this in the ''Standard Teststep'' doc below. |
|||
Je nachdem, wie diese ursprünglich angegeben wurde, erscheint hier entweder eine Text- |
|||
oder eine HTML Ansicht, mit den im Schritt angegebenen Texten. |
|||
Weitere Informationen finden Sie unter ''Standard Teststep'' unten. |
|||
Simple Plaintext presentation: |
|||
Einfache Textstelle Darstellung: |
|||
<br>[[Datei:Manual Test 6.png|300px]] |
<br>[[Datei:Manual Test 6.png|300px]] |
||
Version vom 20. September 2020, 14:27 Uhr
Inhaltsverzeichnis
- 1 Manual Tests
- 2 The Manual Test Wizard
- 3 Manual Test Beispiel (Schritt f. Schritt Tutorial)
- 3.1 Schritt 1: Anlegen einer neuen Testsuite
- 3.2 Schritt 2: Anlegen eines Testfalls
- 3.3 Schritt 3: Erstellen eines Testschrittes für einen Testfall
- 3.4 Schritt 4: Anzeige des Manuellen Wizards im Testschritt definieren
- 3.5 Schritt 5: Testfall einzeln ausführen und Anzeige im Wizard verifizieren
- 3.6 Schritt 6: Erstellen eines Testplans, und automatisches Öffnen und Schließen des Wizards
- 4 Weitere Beispiele
Manual Tests[Bearbeiten]
At first sight, it may seem strange to cover manual tests in the context of "automation". However, there are many situations in which manual operations are required - even in an automated test. For example: power on a device, readout of measured values, visual inspection etc.
In addition, expecco helps you to migrate: if you are already performing manual tests, and you can provide machine readable requirements- or test specifications, then expecco can import those and run them as manual tests.
Although still executed manually, this will give you better reports and - probably even more of significance - the guaranty that the steps where executed properly.
You can also migrate incrementally from fully manual tests, via partially automated tests to fully automated tests, by starting with manual test steps and replacing them with automated actions one by one.
Even these partial automated tests will save time and money, as repeated actions (like filling out forms , confirming dialogs or reading measurement values) run much faster when automated and thereby reduce the overall execution time.
If you are impatient, skip right to the "Step-by-Step Tutorial" further down, and return to the details later.
Combining Manual Test Steps with Automated Steps[Bearbeiten]
You can arbitrarily combine manual steps with any other action step inside a diagram or test. For example, a manual step might ask the user to turn on power, to plug a cable, to perform a visual inspection or to perform any other operation involving human interaction.
Also, partial checks which are not (yet) automated can be included this way. If you put these into separate wrapper actions, these can later be replaced by automated ones, without a need to change other parts of your suite.
Especially remember that such actions can be palced into a separate imported expecco action library, so that later, a simple reimport operation is required to switch to the automated version.
The Manual Test Wizard[Bearbeiten]
If any manual test step is executed by expecco, a dialog window (the so called "Manual Test Wizard) is opened, which guides the user and provides hints about the test to be performed.
The tester will be guided in a step-by-step fashion by the wizard, who can add comments, data or screenshot as documentary of the test run, and confirm each step as successful (possibly with additional notes), as failed or as inconclusive. The "'íncionclusive"outcome means that the test step could not be performed (for example because a device was offline), and therefore, no statement about the proper operation of the tests system could be made. Such tests have to be repeated later.
The wizard's user interface consists of 3 main areas:
- Toolbar area
- general informationen on the current step
- Orders on what do do in the current test step
The Toolbar[Bearbeiten]
The toolbar provides functions functions to set the outcome of the current step, to add comments and to attach data files or screenshots to the report.
Of special relevante are the "Next"buttons (triangular right arrows); these confirm the current step and mark it as "Successful" (green), "Failed" (red) or "Inconclusive" (gray). The yellow button also stands for "Success", but asks for a comment to be added as warning to the final report and log file.
The other buttons are used to attach files or screenshots.
Informationen on the current step[Bearbeiten]
This area show the current step's name, the test case, of which it is part of, and the test plan which is currently running. Some of this depends o whether the action is executed as part of a test plan, or as a single-action run (in the "test/demo"tab of the editor):
Whether displayed as TEST-CASE or TEST-STEP depends on corresponding tags of the current action. Although this has no semantic meaning w.r.t. the execution of actions it is useful to organize and structure the suite into layers.
Testates are identified by having a tag named TEST-CASE or TEST_CASE. Either of them should be present in tags found in the documentation area of the test case's action definition. If you create such action via the toolbar above the project tree, these tags will be automatically set. But you can cahnge these tags any time later if required.
Test steps are marked with TEST-STEP tag. Likewise, this is to be found in the documentation editor at the bottom. This tag is also automatically applied if the step is created via the toolbar.
Actions marked as TEST-CASE- or TEST-STEP-Tags are shown with special icons in the tree. This is for them to be easier to find and to be somewhat standing out of other actions (but as already mentioned: has no other semantic meaning).
Orders on What to Do in Test Step[Bearbeiten]
The wizard's lower area present the test step's description.
Depending on how the test step was defined, this can be presented as simple plain text, or in a more appealing HTML presentation. See more on this in the Standard Teststep doc below.
Simple Plaintext presentation:
Manual Test Bausteinbibliothek[Bearbeiten]
Manuelle Testsequenzen werden erstellt, indem die einzelnen Testschritte per drag&drop aus der Manual Test Bibliothek in ein Diagram gezogen werden.
In dieser Bibliothek finden Sie die 3 wichtigsten Bausteine um Testschritte durchzuführen, und jus"tzliche Hilfsaktionen, z.B. um den Wizard zu öffnen, zu schliessen, etc. Diese werden normalerweise nicht benötigt, da der Wizard bei der ersten Ausführung eines manuellen Testschritts automatisch geöffnet wird.
Es kann aber u.U. sinnvoll sein, diesen vorab oder speziell parameterisiert automatisch zu öffnen, oder auch programmatisch wieder zu minimieren oder zu schliessen (z.B. um den Bildschirm nicht zu bedecken).
Weiters finden Sie in der Bibliothek auch Beispiele mit erweiterten Dialogen, die in manuellen Testschritten gezeigt werden können (z.B. mehrfache Eingabefelder). Sie können diese auch als Vorlage für eigene Dialoge nutzen, die Sie mit dem integrierten UI-Builder definieren können.
Manual Test Wizard – Start[Bearbeiten]
Diese Aktion öffnet den manuellen Test Wizard mit individuellen Voreinstellungen zu Grösse, Position und Verhalten.
Fehlt dieser Schritt, wird der Wizard automatisch mit den Default-Einstellung bei der Ausführung des ersten manuellen Testschritts geöffnet.
InputPin Parameter:
- origin:
definiert die linke obere Ecke des Wizards. Er kann als Punkt mit x y-Koordinaten des Bildschirms angegeben werden.
Beispiel: 20@40 bedeutet 20 Pixel von der linken Bildschirmecke und 40 Pixel von oben. - extend:
definiert die Größe des Fensters. Sie können es mit Breiten- und Höhenangaben angeben.
Beispiel: 600@400 bedeutet 600 Pixel Fensterbreite und 400 Pixel Fensterhöhe. - wizardWindowMode:
definiert die Grösse des Wizardfensters; kann folgende Werte haben:- Normal
Der Wizzard wir mit den spezifizierten Einstellungen geöffnet. - Minimize
Der Wizard wir mit den spezifizierten Einstellungen geöffnet und auf die Höhe der Symbolleiste minimiert. Mit dem Button “maximize toolbar” wird er :wieder vergrößert. - fullScreen
Die Einstellungen zur Grösse werden ignoriert und der Wizard wird im Vollbildmodus geöffnet. - fullHeight
Öffnet den Wizard mit der spezifizierten Breite und der vollen Bildschirmhöhe. - fullWidth
Öffnet den Wizard mit der spezifizierten Höhe und der vollen Bildschirmbreite. - fullWidthMinimize
Öffnet den Wizard verkleinert am oberen Bildschirmrand mit der vollen Bildschirmbreite.
- Normal
- wizardDecorationMode:
definiert den Fensterrahmen des Wizardfensters; kann folgende Werte haben:- full
Mit umlaufendem Windowmanager-Rahmen inklusive Leiste für Minimieren, Maximieren und Schließen von Schaltflächen. - None
Ohne Windowmanager-Rahmen, für mehr Platz auf dem Bildschirm. - Dialog
Mit umlaufendem Windowmanager-Rahmen inklusive WindowTitle-Leiste mit Schließen-Button.
- full
- allowInconclusive:
Buttons für "Nicht eindeutig" ein-/ausblenden. Wenn ausgeschaltet, können Testschritte nicht mehr als Inconclusive markiert werden.
Manual Test Wizard – Voreinstellungen[Bearbeiten]
Das Layout des Wizard kann auch vor dem Öffnen in den Einstellungen vorgenommen werden. Mit dieser Aktion werden die Einstellungen definiert, welche beim nächsten automatischen Öffnen des Wizards gelten.
Die Parameter sind die selben wie oben in der “Manual Test Wizard – Start
” Aktion beschrieben.
Manual TestStep (API)[Bearbeiten]
In der Bibliothek finden Sie für verschiedene Anforderungen diverse vordefinierte Testbausteine. Die 3 wichtigsten sind im Folgenden beschrieben.
Bitte behalten Sie im Gedächtnis, dass die dargestellten Texte nicht notwendigerweise fest Vordefiniert sein müssen. Sie könnten natürlich auch von einem anderen Schritt generiert werden. Z.B. könnte der Text aus einer Datenbank oder Datei gelesen werden, oder auch dynamisch aus anderen Textfragmenten zusammengesetzt werden.
Manual TestStep (Text)[Bearbeiten]
Diese Aktion zeigt den Text im Wizard als einfachen (simple) Text.
Im InputPin "testStepDescription" wird der anzuzeigende Text erwartet. Die Eingabe ist reiner Text und wird entsprechend dem Textlayout im Eingabe-Editor angezeigt. Im Wizard erscheint das selbe Layout.
Manual TestStep (HTML)[Bearbeiten]
Diese Aktion zeigt den Text im Wizard in einem HTML-Viewer.
Am InputPin "testStepDescription" wird ein HTML String erwartet. Dazu sind gewisse HTML-Kenntnisse erforderlich, da die Eingabe in HTML-Syntax erfolgt. Sie können aber den Text auch in einen Anhang oder in ein Dokumentations-Element im Baum legen, und z.B. den Dokumentationseditor verwenden um den HTML Text zu bearbeiten.
Hinweis: Der eingebettete HTML-Viewer unterstützt nur eine Teilmenge der HTML-Tags (z.B. wird derzeit das Style-Tag nicht unterstützt, und auch andere HTML Elemente wie Tabellen haben nicht den vollständigen Funktionsumfang).
Der HTML-Viewer zeigt den Text dann formatiert an.
Manual TestStep (SimpleWikiStyle)[Bearbeiten]
Ein in Wikis beliebtes Textformat (sog. "Wikistyle") erlaubt es, auch ohne HTML Kenntnisse einfache Aufzähllisten, Überschriften etc. zu formatieren. Dazu wird der Text im Wikistyle-Format intern zur Anzeige in HTML umgewandelt und so dargestellttellt.
Der InputPin "testStepDescription" definiert den darzustellenden Text in einfacher Wiki-Syntax. Die Testbeschreibung befolgt folgende, einfache Regeln:
- Überschriften
- Beginnt eine Zeile mit = wird diese als Überschrift behandelt. Unterkapitel mit '==' und '===':
- = <h1>
- == <h2>
- === <h3>
- Horizontale Linie
- Beginnt eine Zeile mit oder enthält nur als einziges Zeichen ein "–" (minus), so wird diese als horizontale Trennlinien dargestellt:
- Listen
- Beginnt eine Zeile mit * wird sie in <li> ("Bullet Liste") umgewandelt.
- Alle anderen Zeilen bleiben unformatiert. Zusätzlich können Sie aber direkt HTML-Format Anweisungen einbinden.
Auch hier zeigt der HTML-Viewer den Text formatiert an.
Manual Test Beispiel (Schritt f. Schritt Tutorial)[Bearbeiten]
Schritt 1: Anlegen einer neuen Testsuite[Bearbeiten]
Öffnen Sie expecco und erstellen Sie eine neue Testsuite (Sie können natürlich auch in jeder anderen Suite manuelle Testschritte einfügen). Dann importieren Sie die ManualTest Bibliothek (dies geschieht auch automatisch, sobald sie einen manuellen Schritt anlegen).
Schritt 2: Anlegen eines Testfalls[Bearbeiten]
Nun wird ein Testfall angelegt. Der einfachste Weg ist die direkte Verwendung des Toolbar-Menüs, somit wird dem Testfall auch automatisch ein TEST-CASE Etikett angeheftet (sog. Tag), und er erscheint mit seinem eigenen Icon-Symbol im Projektbaum.
Anmerkung: in Hinblick auf die spätere Ausführung der Aktion hat das TEST-CASE Etikett keine Auswirkungen; es ist lediglich ein Etikett, welches die Darstellung im Baum beeinflusst, und es Ihnen leichter macht, Testfälle, Testschritte und Hilfsaktionen zu unterscheiden und schneller zu finden. Weitere Darstellungsoptionen sind Farbe und spezifische Icons; diese können sie beliebig nach Ihren Wünschen definieren und zur Verbesserung der Übersichtlichkeit nutzen.
Wichtig: geben Sie dem Testfall einen sinnvollen Namen. In der Regel beginnt dieser mit einer Nummer, die sich auf die Testspezifikation oder eine Anforderung bezieht. Zusätzlich sollte der Testfall eine Kurzbeschreibung im Namen haben, damit auch Menschen wissen, was die einzelnen Testfälle machen.
Beispiel: Zum Beispiel "TC-4711 Login mit gültigen Daten".
(Anm.: es hat sich als gute Praxis erwiesen, Aktionen welche Testfälle darstellen als "TC_xxx" zu benennen, Testschritte, welche möglicherweise wiederverwendet werden als "TS_xxx" und sonstigen Hilfsaktionen ihre Funktion als Namen zu geben.
Bitte dokumentieren Sie Ihre Aktionen auch (Registerkarte Dokumentation), das erleichtert eine spätere Suche, da die Dokumentation als Tooltip ("fly by help") angezeigt wird, wenn Sie die Maus über den Projektbaum oder über Schritte bewegen.
Alternative:
Eine andere Möglichkeit ist es, eine bestehende Aktion nachträglich als Testfall auszuzeichnen, indem ihm das entsprechende Etikett gegeben wird. Klicken Sie dafür zuerst auf "Neue zusammengesetzte Aktion" Anlegen ("New Compound Action"):
navigieren dann zum Tab "Dokumentation" der Aktion und fügen den Tag "TEST-CASE" an die Tagliste an. Bestätigen sie die Änderung durch Klick auf "Übernehmen" unten im rechten Editorfenster.
Das Symbol der Aktion ändert sich nun im Projektbaum zu Testfall.
Durch Hinzufügen des Test-Case Etiketts können Sie auch später noch bereits existierende Bausteine als Testfall markieren (und so im Projektbaum darstellen lassen). Mit dem Popup-Menu des Projektbaums ist es auch möglich, mehrere Aktionen gemeinsam als Testfall zu markieren.
Schritt 3: Erstellen eines Testschrittes für einen Testfall[Bearbeiten]
Navigieren Sie zum Netzwerk (Diagramm-) Tab der Testfall Aktion. Dieses ist zunächst leer, und muss mit einzelnen Schritten gefüllt werden (im Bild unten leider nicht umbenannt und immer noch "New Action").
Schritte können auf mehrere Arten eingefügt werden:
- durch Drag & Drop aus dem Projektbaum,
- durch Copy-Paste aus dem Projektbaum oder einem anderen Netzwerk
- über eine Suche in bestehenden Aktionen (Dialog), direkt im Diagram (Menu: "New Step...").
- über Anlegen einer neuen Aktionen (Dialog), direkt im Diagram (Menu: "New Action...").
Im Folgenden werden die Schritte mit dem Popup-Menü (rechte Maustaste) im Diagrammeditor des Testfalls hinzugefügt. Der Menueintrag "Neue Aktion" öffnet einen Dialog, mit dem einen neue Aktion angelegt und gleich als Testschritt eingefügt wird:
Dies öffnet ein kleines Eingabefenster.
Hier geben Sie den Namen des neuen Testschritts ein. Für die Benennung gelten die selben Regeln wie oben.
Wichtig: Wenn Sie diesen Testschritt später in verschiedenen Testfällen wiederverwenden wollen, sollte der Name nicht die Schrittnummer und die Testfallnummer enthalten. Nehmen Sie in solchen Fällen Namen wie "TS - Open Application".
Nach dem Drücken von "OK", erscheint ein Cursor, mit welchem Sie den Baustein an die gewünschte Stelle plazieren können. Drücken Sie danach "Übernehmen", um die Änderung des Editors am der Testfallaktion zu speichern.
Im Projektbaum erscheint nun auch die neu angelegte Testschrittaktion direkt unter dem Testfall.
Leider erhalten derart im Diagrammeditor angelegte Aktionen nicht automatisch das Testschritt-Etikett. Daher navigieren wir kurz zu der "TS - Anwendung öffnen" Aktion (im englischen Screenshot: "TS - Open Application"), wählen den Dokumentationstab, und fügen den Tag "TEST-STEP" zur Tag-Liste hinzu. Bestätigen Sie durch Klick auf "Übernehmen".
Schritt 4: Anzeige des Manuellen Wizards im Testschritt definieren[Bearbeiten]
Im folgenden werden wir definieren, was im "TS - Open Application" Schritt zu tun ist.
Bisher hatten wir noch offen gelassen, ob dies ein manueller oder automatischer Test werden soll. Dies wird jetzt definiert, indem wir einen Baustein aus der Manual Test Bibliothek hinein platzieren.
Anmerkung:
- theoretisch hätte man den nun folgenden Manual Test Step auch gleich in die Testfallaktion platzieren können. Das hat aber den Nachteil, dass wir damit schon im Testfall festgelegt hätten, dass es sich um einen manuellen Test handelt, und wir später, sollten wir diesen Testfall automatisieren, dort ändern müssten.
- Indem wir die manuelle Aktion in eine separate Testschrittaktion kapseln, können wir dessen Diagram später jederzeit ändern und insbesondere vollautomatisierten, ohne dass wir die Testfälle noch einmal ändern müssen. Wir erhalten dadurch also eine bessere Wartbarkeit, insbes. wenn der Schritt in mehreren Test wiederverwendet wird, werden dann später alle Tests davon profitieren, ohne dass dadurch extra Aufwand ansteht.
- Es ist eine gute Praxis, Aktionen die später möglicherweise geändert werden müssen derart zu Kapseln, auch wenn es merkwürdig scheint, lediglich eine einzelne Aktion in einer zusammengesetzten Aktion zu kapseln.
Wählen Sie nun aus, wie der Baustein seine Testlauf-Information präsentieren und wie Sie diese eingeben wollen (i.e. Text/HTML/Wiki). Dafür selektieren Sie die Testschrittaktion im Projektbaum, wechseln zum Netzwerk/Diagramm Tab, und wählen im Popup menu (rechte Maustaste) den Eintrag: "New Step..."
(dismal nicht "New Action", da wir jetzt aus der Liste der verfügbaren Aktionen wählen wollen):
Im Dialogfenster können Sie einen vorhandenen Baustein auswählen. Falls Ihnen die Liste zu lang ist, können Sie die Suche einschränken; z.B. auf einzelne Bibliotheken (in unserem Fall wäre das die "Manual Test Library") oder den Namen (sie können hier z.B. "HTML"oder "Wiki" eingeben) oder auch Etiketten.
Für unser Beispiel wählen Sie die Aktion: "Manual Test Template (WikiStyle)
" (die im Screenshot gezeigte Aktion ist veraltet, daher im Screenshot anders).
Mit "OK" wird der Baustein zu Ihrem Testschritt hinzugefügt.
Ein Doppelklick auf den Eingangspin "testStepDescription" wird einen Editor öffnen. Anstatt eines Doppelklicks können Sie auch mit der rechten Maustaste "Freeze as String" auswählen um den Editor zu öffnen.
Geben Sie eine Beschriftung z.B. nach den Wiki-Style-Regeln ein, welche im Wizard nachher angezeigt werden soll.
Dann drücken Sie bitte "OK". Der eingegebene Text sollte nun als Input für den ManualTestStep verbunden sein.
Drücken Sie "Übernehmen" um die Änderungen zu speichern.
Schritt 5: Testfall einzeln ausführen und Anzeige im Wizard verifizieren[Bearbeiten]
Wählen sie den den Testfall im Projektbaum aus und öffnen sie den Tab "Netzwerk".
Drücken Sie den "Play"-Button in der Toolbar des Netzwerkeditors. Das Wizard-Fenster erscheint geöffnet und der Testschritt wird angezeigt:
Die Testausführung nun auf Ihre Eingaben im Wizard. Wenn Sie im Wizard das grüne Play-Symbol drücken, schaltet dieser weiter und stoppt nach der Ausführung des letzten Schrittes (in diesem Fall, einem Einzeltest, gleich nach dem Ersten). Die Testausführung und der Testfall werden als "Passed" markiert (sofern Sie "grün" gedrückt haben).
Der Wizard bleibt geöffnet und kann nun von Hand geschlossen werden.
Schritt 6: Erstellen eines Testplans, und automatisches Öffnen und Schließen des Wizards[Bearbeiten]
Bisher wurde der Testfall im Einzeltestmodus innerhalb des Editors gestartet. Dies ist die normale Vorgehensweise: testen Sie Ihre Aktionen immer in kleinen Abschnitten, damit Sie im Fehlerfall nicht jedes mal eine lange Kette von anderen Aktionen durchklicken müssen.
Anmerkung:
- Erst dann sollten Sie Ihre Testpläne, in denen dann mehrerer Testfälle hintereinander ablaufen, in einem Gesamtlauf testen. In unserem Beispiel ist nicht mit Problemen zu rechnen; wenn Sie aber z.B GUI-Tests erstellen, sollte jeder Testfall das System (die Oberfläche) in einem Zustand hinterlassen, in dem der nächste Testfall weiter laufen kann. Typische Fehler in GUI Tests sind z.B. offen gelassene Dialoge oder Popup Fenster, falsche Selektion in Listen etc.
- Daher versichern Sie sich im Einzeltest, dass solche Situationen nicht entstehen.
Erstellen eines Testplans[Bearbeiten]
Wählen Sie den neuen Testplan im Projektbaum aus. Ziehen Sie dann die Aktion des Testfalls mittels Drag & Drop in die Liste der Testfälle rechts im Testplan Editor. Wie Sie bemerken, kann ein Testfall in mehreren Testplänen wiederverwendet werden. Daher ist die Position im Projektbaum irrelevant für den Testplan: Sie können den Projektbaum beliebig nach Ihren Vorstellungen organisieren, und ebenso die Listen in den Testplänen unabhängig davon beliebig sortieren.
Wenn Sie möchten, können Sie jetzt obige Schritte mehrfach wiederholen, und mehrere unterschiedliche Testfälle in den Testplan ziehen.
Definieren von Pre- und Postaktionen[Bearbeiten]
Jetzt soll noch eine Aktion erstellt werden die als Pre-Aktion vor der Ausführung des Testplans ausgeführt werden soll; in unserem Fall: Start des Wizards mit definierter Grösse. Zur Erinnerung: wenn Ihnen der Wizard in seiner Defaultgrösse passend ist, brauchen sie dies nicht; wir möchten hier aber z.B. eine Fullscreen Darstellung einstellen.
Nach der Ausführung soll der Wizard in einer Post-Aktion auch wieder automatisch geschlossen werden.
Es gibt dafür mehrere mögliche Lösungen, wobei wir die dritte unten empfehlen:
- (1) Open und Close Aktionen als Testfall in die Liste im Testplan
- (2) Open als Pre-Aktion; Close als Post-Aktion (Felder finden Sie unten im Testplan Editor)
- (3) Wrapper Aktionen Definieren, eine mit nur der Open-Wizard Aktion, eine nur mit Close-Wizard, und diese als Pre/Post Aktionen definieren.
(1) ist schlecht da im Fehlerfall die Abarbeitung des Testplans abgebrochen werden könnte und dann ein Wizardfenster offen bliebe. Das ist kein Problem, wenn Sie vor dem Schirm sitzen und ihn schliessen können; jedoch wird damit eine Vollautomatisierung u.U. Probleme haben, und Fenster auf dem Schirm stehen bleiben.
(2) ist besser, da die Post-Aktion immer ausgeführt wird; auch wenn die Ausführung des Testplans abgebrochen wird.
(3) ist noch besser, da Sie nun mit der eigen definierten Post-Aktion einen Ort haben, an dem später weitere "Aufräumarbeiten" untergebracht werden können (z.B. temporäre Dateien löschen, Strom ausschalten etc.), und Sie später weniger Wartungsaufwand haben, diese in möglicherweise mehreren Testpläne nachzutragen.
Wir werden also zwei neue Aktionen definieren, diese mit "PreAction"und "PostAction" benennen und als solche auch im testplan definieren.
Fügen Sie zur PreAction die "Manual test Wizard -Start" Aktion mittels "New Step" oder Drag & Drop hinzu;
und dann platzieren Sie die "Manual test Wizard -Stop" Aktion in der PostAction.
So könnte eine mögliche Konfiguration aussehen:
Zuletzt definieren wir diese Aktionen im Testplan als Pre- und Post Aktionen. Öffnen Sie dafür den Testplan Editor, und ziehen die jeweilige Aktion in der Felder unten im Editor.
Drücken Sie "Übernehmen" um die Änderungen zu speichern.
Führen Sie nun den Testplan aus, wird der Wizard entsprechend der Konfiguration im Startblock geöffnet, der Testfall ausgeführt und am Ende die Postaction den Wizard wieder schließen.
Weitere Beispiele[Bearbeiten]
In der Manual Test Bibliothek selbst finden Sie einen Beispieltestplan mit mehreren manuellen Schritten.
Auch finden Sie in den mitgelieferten Demobeispilene die Testsuite "ManualTestExample.ets". Diese enthält ein gebrauchsfertiges Beispiel mit einem Setup ähnlich dieser Beschreibung.