Erste Schritte

Aus ExpeccoWiki

(Weitergeleitet von Testtitel)
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

Einführung in expecco

Die Ersten Schritte richten sich an alle, die expecco zum ersten mal benutzen wollen und soll als kleine Starthilfe dienen.
Anhand eines einfachen Beispiels wollen wir Ihnen einen Überblick über expecco verschaffen.
Es empfiehlt sich, expecco parallel zum Tutorial zu starten um alle Schritte innerhalb expecco nachvollziehen zu können.

Erzeugen einer neuen Testsuite

Eine Testsuite bezeichnet in expecco die Gesamtheit eines Testprojektes. Um eine neue Testsuite zu erzeugen, klicken Sie auf das Menü DateiNeue Testsuite oder das entsprechende Bild der Toolbar-Leiste.

Bild:FS_Picture_03_dt.jpg

expecco ab Version 1.7

Beim Erstellen einer neuen Testsuite wird ab dieser Version die Standard-Bibliothek automatisch importiert. Hier entfällt der nachfolgende Datei-Auswahlschritt.

expecco bis Version 1.6.x

Hier muss die Standard-Bibliothek manuell importiert werden. Klicken Sie dazu auf das Menü DateiImport/ExportBibliothek importieren....

Bild:FS_Picture_26_dt.jpg

Zur Angabe der Bibliotheksdatei wird ein Dateidialog geöffnet. Wechseln Sie mit der Schaltfläche Bild:Icon_expecco_Home.jpg zum Bibliotheksverzeichnis und selektieren Sie dort die Standard-Bibliothek (StandardLibrary.ets).

Bild:FS_Picture_14.jpg

Bausteine in Bibliotheken

Bibliotheken sind eine Zusammenfassung von funktionalen Bausteinen. Bibliotheken finden Sie im Projektbaum (Navigator) unter der Kategorie "Imports". Alle Bausteine innerhalb einer importierten Bibliothek sind schreibgeschützt. Zu jedem Baustein existiert eine Beschreibung und gegebenenfalls ein Beispiel, dass Sie sofort ausführen können.

Selektieren Sie im Projektbaum die Standard-Bibliothek. Diese Bibliothek stellt grundlegende Funktionsbausteine für unterschiedliche Bereiche zur Verfügung.

Bild:FS_Picture_35_dt.jpg

Innerhalb einer Bibliothek sind die Bausteine in Kategorien organisiert. Zum Beispiel finden Sie diverse Bausteine zur Stringverarbeitung in einer gemeinsamen Kategorie. Zur Veranschaulichung navigieren Sie bitte zur Kategorie "String Processing" und selektieren dort den Baustein "String [ AsUppercase ]".
Rechts werden Editoren bezüglich des selektierten Elements in mehreren Kacheln dargestellt. In der Kachel "Dokumentation" finden sie zu jedem Baustein eine kurze Beschreibung der Funktionalität (diese wird auch links im Auswahlbaum als "FlyBy-Help" angezeigt).

Bild:FS_Picture_21_dt.jpg

Außerdem gibt es zu den meisten Bausteinen auch einen kleinen Testrahmen, in dem die Funktionalität demonstriert bzw. validiert wird. Wählen Sie die Kachel "test/Demo" aus. In dieser Kachel "Testeditor" kann der Baustein durch Klicken der Schaltfläche Bild:Icon_Run.png direkt ausgeführt werden.

Bild:FS_Picture_17_dt.jpg

Das Resultat der Ausführung wird im unteren Teil angezeigt. Links sehen Sie die hierarchische Aufrufkette, rechts die zu der linken Auswahl zugehörigen Detailinformationen. So sehen Sie in der Kachel "Ein/Ausgänge" die Werte der Ein- und Ausgänge.

Erstellen eines ersten eigenen (zusammengesetzten) Bausteins

Unter Baustein wird die Definition eines Vorgangs bezeichnet. Man unterscheidet zwischen Elementarbausteinen und zusammengesetzten Bausteinen.

Ein Elementarbausteine definiert einen grundlegenden Vorgang, wie beispielsweise einen Protokollaufruf.

Das Verhalten eines zusammengesetzten Bausteins wird durch ein Aktivitätsdiagramm beschrieben. Die Elemente eines Aktivitätsdiagramms sind Schritte, welche über Daten oder Kontrollflüsse verbunden sind.

Klicken Sie in der Toolbar Bild:Icon_Toolbar_Create.jpg die Schaltfläche Bild:Icon_New_Compound.jpg um einen neuen zusammengesetzten Baustein zu erzeugen.

Bild:FS_Picture_15_dt.jpg


Klicken Sie die Schaltfläche Bild:Icon_Open_External_Tree.jpg und Sie erhalten ein zweites Fenster aus dem sie Bausteine per Drag & Drop in das Netzwerk des neu erstellten Bausteins einfügen können.

Bild:FS_Picture_31_dt.jpg

Selektieren Sie in der Kategorie "Arithmetic" den Baustein "Arith [ Sum ]" und ziehen Sie diesen Baustein per Drag & Drop in das Netzwerk des neu erstellten Bausteins.

Bild:FS_Picture_28_dt.jpg

Durch Platzieren des Bausteins im Netzwerk wird ein neuer Schritt angelegt. Da dieser Schritt Eingabewerte erfordert, kann er nicht ausgeführt werden (erkennbar am roten Ausrufezeichen Bild:FS_Picture_06.png). Eingänge und Ausgänge werden als Pins (Anschlüsse) bezeichnet. Im ersten Schritt belegen wir die Eingänge mit festen Werten vor. Dies erreichen Sie über einen Doppelklick auf den Eingangspin Bild:FS_Picture_13.png oder über den entsprechenden Eintrag des Kontextmenüs:

Bild:FS_Picture_08_dt.png

Geben Sie nun eine beliebige Zahl im Eingabefeld ein.

Bild:FS_Picture_12.jpg

Belegen Sie nun auch den zweiten Eingangspin vor. Der Schritt besitzt nun alle zur Ausführung benötigten Eingangswerte.

Bild:FS_Picture_03.jpg

Führen Sie ihren neu erstellten Baustein in der Kachel Test aus.

Bild:FS_Picture_29_dt.jpg

In der Kachel "Ein/Ausgänge" sehen Sie die Eingangswerte und den erwarteten Ausgangswert.

Um die Änderungen des Bausteins im System zu übernehmen, klicken sie auf der Schaltfläche "Übernehmen".

Bild:FS_Picture_18_dt.jpg

Geben Sie dem Baustein einen Namen; dies erreichen Sie über das Kontextmenü des neu angelegten Bausteins innerhalb des Projektbaums.

Bild:FS_Picture_22_dt.jpg

Geben Sie einen beliebigen Namen im Eingabefeld ein.

Bild:FS_Picture_20_dt.jpg

Erstellen eines komplexeren Bausteins

Als Basis hierzu verwenden wir eine Kopie des vorhergehenden Bausteins, welche Sie über das Kontextmenü des selektierten Elements anlegen können (Kopieren dann Einfügen).

Bild:FS_Picture_23_dt.jpg


Nach dem Einfügen erhalten Sie eine Kopie ihres vorhergehenden Bausteins.

Bild:FS_Picture_30_dt.jpg


Platzieren Sie nun den Baustein "Arith [ Product ]" über Drag & Drop in das Netzwerk. Danach sollte ihr Netzwerk folgendermaßen aussehen:

Bild:FS_Picture_32_dt.jpg


Nach der Ausführung des Baustein erhalten Sie folgendes Bild:

Bild:FS_Picture_07_dt.jpg

Die ausgeführten Aktivitäten werden abhängig von ihrem Ausführungszustand farblich dargestellt; hier grün für erfolgreich ausgeführt. Wie Sie erkennen können, wurde bezüglich des neue platzierten Schritts keine Aktivität gestartet. Diesem Schritt fehlen die benötigten Eingabewerte (erkennbar am roten Ausrufezeichen).

Dazu verbinden wir die Eingänge und Ausgänge der Schritte untereinander.

Die meisten Verbindungen sind Datentyp orientiert d.h. sie müssen den gleichen Datentyp am Anfang und am Ende der Verbindung haben. So kann beispielsweise kein Text in einen Additionsbaustein eingeführt werden.

Falls Ein- und Ausgangsdatentyp nicht übereinstimmen, stehen in der Standard-Bibliothek unter der Kategorie "Type Conversion" verschiedene Konvertierungsbausteine zur Verfügung.

Um ein Verbindung einzurichten, gehen Sie folgendermaßen vor:

  1. Selektieren Sie mit der linken Maustaste den Ausgangspin "sum" am Schritt "Arith [ Sum ]" und halten Sie diese gedrückt.
    Bild:FS_Picture_07.jpg
  2. Ziehen Sie nun mit gedrückter Maustaste ein Verbindung zum Eingangspin "number1" am Schritt "Arith [ Product ]" und lösen sie die Maustaste über dem Eingangspin Bild:Icon_Input_Pin.jpg.
    Bild:FS_Picture_02.jpg


Wiederholen Sie diesen Schritt und verbinden Sie zusätzlich den Ausgangspin "sum" mit dem Eingangspin "number2".

Bild:FS_Picture_08.jpg

Führen Sie den Baustein erneut aus; wie Sie erkennen können wurden jetzt für alle Schritte Aktivitäten ausgeführt.

Bild:FS_Picture_12_dt.jpg

Übernehmen Sie nun den Baustein und benennen Sie ihn in "2. Baustein" um.

Hinzufügen von Ausgangspins zu einem Baustein

Als Basis hierzu verwenden wir eine Kopie des vorhergehenden Bausteins, welche Sie über das Kontextmenü anlegen können (Kopieren dann Einfügen).

Sie erhalten folgendes Bild:

Bild:FS_Picture_36_dt.jpg

Die Schnittstelle eines Bausteins wird über seine Eingänge und Ausgänge beschrieben. Im Schema-Editor werden die Eingangspins auf der linken Seite, die Ausgangspins auf der rechten Seite dargestellt. Jedem Pin wird ein Datentyp zugewiesen.

Um neue Pins zu erzeugen gibt es unterschiedliche Möglichkeiten:

  1. Klicken Sie auf die Schaltfläche Bild:Icon_Add_Outputpin.png innerhalb des Schema-Editor und Sie erzeugen einen neuen Ein- bzw. Ausgangspin.Um den voreingestellten Datentyps zu ändern, klicken Sie auf den Datentyp und wählen Sie aus dem erscheinenden Menü den gewünschten Datentyp aus.
    Bild:FS_Picture_06_dt.jpg

  2. Ziehen Sie den entsprechenden Ein- bzw. Ausgangspin des Schrittes innerhalb des Netzwerks an die linke bzw. rechte Seite des Editors.
    Bild:FS_Picture_11.jpg
    Nach lösen der Maustaste am linken Rand sehen Sie folgendes Bild:
    Bild:FS_Picture_10.jpg

Erzeugen Sie den Ausgangspin wie in Beispiel 2 beschrieben.
Selektieren Sie die Kachel Schema und Sie erhalten folgendes Bild:

Bild:FS_Picture_25_dt.jpg

Der Baustein hat einen neuen Ausgangspin erhalten, der Datentyp sowie der Name des Ausgangspins wurde vom intern verbundenen Ausgangspin im Netzwerk übernommen. Durch Klicken auf den Namen des Pins kann dieser umbenannt werden.

Um einen bestehenden Ein- bzw. Ausgangspin zu löschen, selektieren Sie den entsprechenden Pin und klicken auf die Schaltfläche Bild:Icon_Remove_Pin.png.

Führen Sie den Baustein erneut aus und Sie erhalten folgendes Bild:

Bild:FS_Picture_14_dt.jpg

Der Ausgangswert steht nun zur weiteren Verwendung am Ausgangspin zur Verfügung.
Übernehmen Sie nun den Baustein und benennen Sie ihn in "3. Baustein" um.

Hinzufügen von Eingangspins zu einem Baustein

Als Basis hierzu verwenden wir eine Kopie des vorhergehenden Bausteins, welche Sie über das Kontextmenü anlegen können (Kopieren dann Einfügen).

Sie erhalten folgendes Bild:

Bild:FS_Picture_24_dt.jpg

Um den Schritt "Arith [ Sum ]" von außen zu versorgen, erzeugen Sie die Eingangspins (gleiche Vorgehensweise wie bei den Ausgangspins):

Bild:FS_Picture_05.jpg Bild:FS_Picture_04.jpg
Führen Sie die gleiche Aktion für den zweiten Eingangspin "number2" durch:
Bild:FS_Picture_01.jpg Bild:FS_Picture_09.jpg

Sie erhalten folgendes Bild:

Bild:FS_Picture_13_dt.jpg

Führen Sie den Baustein erneut aus und Sie erhalten folgendes Bild:

Bild:FS_Picture_05_dt.jpg

Wie Sie erkennen können, konnte der Baustein nicht ausgeführt werden, da die erforderlichen Eingabewerte an den Eingangspins unseres Testbausteins fehlen. Belegen Sie nun die Eingänge mit festen Eingangswerten vor:

Bild:FS_Picture_09_dt.jpg

Führen Sie den Baustein erneut aus und Sie erhalten folgendes Bild:

Bild:FS_Picture_19_dt.jpg

Schalten Sie nun auf die Kachel Schema um. Hier können Sie die Ausführungsbedingung für den Baustein festlegen. Klicken Sie hierfür auf das Feld "Und-Verbunden". Ein Untermenü zur Konfiguration wird angezeigt:

Bild:FS_Picture_02_dt.jpg

Hier können Sie spezifizieren, welche Eingangspins Werte erhalten haben müssen um zur Ausführung zu kommen. 3 Möglichkeiten werden unterstützt:

  1. Und-Verbunden
    Alle verbundenen Eingangspins müssen Werte erhalten haben, offene Eingänge werden ignoriert.
  2. Und
    alle Eingangspins müssen Werte erhalten haben.
  3. Oder
    mindestens ein Eingangspin muss einen Wert erhalten haben.

In unserem Fall müssen alle Eingangswerte anliegen, also wählen Sie die "Und" Bedingung aus.

Bild:FS_Picture_33_dt.jpg

Übernehmen Sie nun den Baustein und benennen Sie ihn in "4. Baustein" um.

Wiederverwendung von Bausteinen

Die Arbeitsweise mit Bausteinen ist der Schlüssel zu Wiederverwendbarkeit und Flexibilität. Einmal erstellte Bausteine können in beliebigen zusammengesetzten Bausteinen wiederverwendet werden.

Legen Sie einen neuen zusammengesetzten Baustein durch Klicken der Schaltfläche Bild:Icon_New_Compound.jpg an. Nun ziehen Sie per Drag & Drop den vorher erstellten Baustein in das Netzwerk (Aktivitätsdiagramm) des neu angelegten Bausteins.

Bild:FS_Picture_34_dt.jpg

Fügen Sie zusätzlich noch Bausteine aus der Standard-Bibliothek hinzu und stellen Sie die Verbindungen wie im folgenden Netzwerk her.
Sie finden die Bausteine unter den Kategorien:

  • Data Generators
    Random [ Integers ]
  • Compare
    Compare [ Greater 2-Way ]
  • Assertions, Exceptions & Logging
    Log [ Info ], Log [ Failure ]

Bild:FS_Picture_16_dt.jpg

Durch den vorgeschalteten "Random [ Integers ]" Baustein wird der erstellte "4. Baustein" bei jedem Durchlauf mit anderen Werten versorgt, was zu unterschiedlichen Resultaten führt. Dies können Sie am besten sehen, wenn Sie den Baustein in der Kachel "Test" mehrfach ausführen.

Bild:FS_Picture_11_dt.jpg

Übernehmen Sie nun den Baustein und benennen Sie ihn in "5. Baustein" um.

Sequentielle Ausführung von Schritten

Bei einem Diagramm ohne Datenflüsse (also mit ausschließlichen Kontrollflüssen) werden Triggerein- mit Triggerausgängen verbunden, wodurch ein reines Flussdiagramm entsteht.
Zur Vorbereitung legen Sie einen neuen Zusammengesetzten Baustein durch Klicken der Schaltfläche Bild:Icon_New_Compound.jpg an. Ziehen Sie per Drag & Drop die Bausteine 1 und 2 in ihr Netzwerk damit Sie folgendes Bild erhalten:

Bild:FS_Picture_37_dt.jpg

Selektieren Sie den Schritt "1.Baustein". Durch halten der Shift-Taste können Sie den Schritt "2.Baustein" zur Selektion hinzufügen. Beide Schritte sind jetzt in der Reihenfolge selektiert, in der diese sequentiell ausgeführt werden sollen. Durch Klicken der Schaltfläche Bild:Icon_Execute_Sequential.png wird jetzt eine Kontrollflussverbindung von Schritt 1 zu Schritt 2 eingerichtet. Bild:FS_Picture_38_dt.jpg
Nach dem Ausführen des Bausteins in der Test Kachel erhalten Sie folgendes Bild. Wie Sie erkennen können, wurde der Schritt "1.Baustein" vor Schritt "2.Baustein" ausgeführt. Bild:FS_Picture_39_dt.jpg
Sie löschen eine Verbindung indem Sie die Verbindung selektieren und anschließend die Taste Entfernen oder die Schaltfläche Bild:Icon_Remove_Connection.png betätigen.

Löschen Sie nun die bestehende Kontrollflussverbindung und richten Sie den Kontrollfluss in umgekehrter Richtung ein. Gehen Sie dazu wie oben beschrieben vor nur selektieren Sie dieses mal den Schritt "2.Baustein" vor Schritt "1.Baustein".

Bild:FS_Picture_40_dt.jpg

Nach dem Ausführen des Bausteins erhalten Sie nun folgendes Fehlerbild:

Bild:FS_Picture_41_dt.jpg

Wie Sie im Netzwerk Editor erkennen können, ist der Schritt "2.Baustein" durch ein rotes Ausrufezeichen markiert, also nicht bereit zur Ausführung. Bild:FS_Picture_42_dt.jpg

Der Schritt besitzt einen offenen Trigger-Eingangspin. Durch Verbinden des Triggereingangs mit einem beliebigen anderen Ausgangspin kann die Aktion des Schrittes dann ebenfalls ausgelöst werden. Löschen Sie in unserem Fall den Triggereingang durch Selektion und betätigen Sie dann die Taste Entfernen.

Um einen Schritt zur Ausführung zu bringen, muss dieser mindestens einen verbundenen nicht-Parameterpin oder die Autostart-Eigenschaft besitzen. Markieren Sie deshalb den Schritt 2 als Autostart. Selektieren Sie dazu den Schritt und klicken auf die Schaltfläche Bild:Icon_Toggle_Autostart.png. Bild:FS_Picture_43_dt.jpg
Nach dem Ausführen des Bausteins in der Test Kachel erhalten sie folgendes Bild. Wie Sie erkennen können wurde der Schritt "2.Baustein" vor Schritt "1.Baustein" ausgeführt. Bild:FS_Picture_44_dt.jpg



Erstellen eines Testplans

In expecco wird eine Sammlung mehrerer Testfälle als Testplan bezeichnet. Zur Durchführung eines Testplans werden alle Einzeltestfälle sequentiell ausgeführt.

Klicken Sie in der Toolbar Bild:Icon_Toolbar_Create.jpg die Schaltfläche Bild:Icon_New_Testplan.jpg um einen neuen Testplan zu erzeugen.

Ziehen Sie nun per Drag & Drop die neu erzeugten Bausteine in den Testplan-Editor. Wie Sie schnell feststellen können, lässt sich der Baustein "4. Baustein" nicht zum Testplan hinzufügen. Bausteine mit offenen Eingängen können nicht in Testplänen verwendet werden. Sie erhalten folgendes Bild:

Bild:FS_Picture_27_dt.jpg

Übernehmen Sie den Testplan und führen Sie ihn durch betätigen der Schaltfläche Bild:Icon_Run.png aus.
Sie erhalten folgendes Bild:

Bild:FS_Picture_04_dt.jpg

Da der "5. Baustein" intern mit zufällig erzeugten Eingabewerten arbeitet, erhalten Sie bei mehrfacher Ausführung des Testplans unterschiedliche Ergebnisse.

Erstellen eines Berichts (Report)

Zur Vorbereitung führen Sie den Testplan aus. Um einen detaillierten Bericht über ihre Testausführung zu erstellen, klicken Sie auf die Schaltfläche Bild:Icon_Print_Report.png.

Das Dialogfenster "Reportgenerierung / Druck" wird geöffnet. Vor der Erzeugung ihres Berichts müssen noch einige Einstellungen festlegt werden:

Bild:FS_Picture_45_dt.jpg

  • Ausgabeformat:
    Die Berichte können in verschiedenen Ausgabeformaten erzeugt werden. Eine Mehrfachauswahl ist möglich.
  • Reportsprache:
    Einstellung der Sprache für den Bericht festlegen.
  • Papierformat:
    Ausschließlich beim Ausgabeformat PDF wird hier das Papierformat spezifiziert. Für alle anderen Formate wird diese Einstellung ignoriert.
  • Reportvorlage:
    Über Reportvorlagen lassen sich Inhalt und Erscheinungsbild des Berichts bestimmen.
    Weitere Informationen finden Sie unter Report Generation (englisch).


Klicken Sie auf die Schaltfläche "Report generieren" um die Berichtserstellung zu starten. Nach Erstellung wird die Datei in einem Browser geöffnet.

Speichern der Testsuite

Um die neu erzeugte Testsuite zu speichern, klicken Sie auf das Menü "Datei""Sichern als...". Ein Dateibrowser wird geöffnet.

Bild:FS_Picture_01_dt.jpg

Schlusswort

In unserem Beispiel haben wir mit Absicht einfache Bausteine aus der Standard Bibliothek ausgewählt um ihnen die Arbeitsweise mit expecco näher zu bringen.

Über spezifische Bausteine (TCP/IP, DLL-Calls, FTP, ...) und diversen Bibliotheken und Plugins wird das System Under Test an expecco angebunden.


Für das Testen von Webapplikationen empfehlen wir ihnen das Dokument:
http://wiki.expecco.de/index.php5/Expecco_web_de (Erste Schritte).

Weitere Beispiele finden Sie unter:
http://wiki.expecco.de/index.php5/Examples (englisch).

Persönliche Werkzeuge