ExpeccoNET Walkthrough GER
Aus ExpeccoWiki
Inhaltsverzeichnis |
Übersicht
expecco und expeccoNET sind zwei voneinander unabhängige Komponenten. expecco ist eine GUI Anwendung, welche der Testentwicklung und Testausführung dient. expeccoNET ist eine serverbasierte Anwendung und per Browser im IntraNet oder - bei entsprechender Installation - im Internet erreichbar. Diese beiden Programme können unabhängig voneinander genutzt werden, und erfüllen unterschiedliche, sich aber ergänzende Aufgaben.
Wenn Sie die Testautomatisierung und das Projektmanagment nicht benötigen, können Sie expecco auch ohne expeccoNET nutzen, indem Sie Tests mittels der im System vorhandenen Automatisierungsmechanismen zur Ausführung bringen. expecco kann hierzu auch durch Kommandozeilenargumente ohne Benutzerinteraktion eingesetzt werden. Sie müssen dann jedoch die Verwaltung der Tests, der Resultate und die Überwachung des Projektfortschritts manuell durchführen oder ein anderes Programm zur Verwaltung verwenden (cvs, svn oder andere Sourcecode- oder Projektmanagement Tools).
Ebenso kann auch expeccoNET ohne expecco für Projekt- und Qualitätsmanagementaufgaben benutzt werden. Die Module zur Verwaltung von Anforderungen, Fehlern sowie Aktionen im Umfeld von Projekten, Meilensteinen und Produktvarianten ist auch ohne die automatische Ausführung von Tests und einhergehender Validierung des Projektfortschritts nützlich und sinnvoll.
Beide Komponenten kommunizieren via HTTP und/oder SOAP Protokollen. Sie können mit geringem Aufwand in andere Umgebungen integriert werden. Durch diese Eigenschaft wurden bereits erfolgreich bestehende Testprogramme von Kunden in expeccoNET integriert.
Erste Schritte
Allgemeine Informationen
expeccoNET ermöglicht eine einfache Handhabung aller Eingaben über die "Navigationsbar", den "Reiter" und die "Menüleiste". Die Organisation aller Bereiche und Artefakttypen ist durchgängig die Selbe: die Navigationsleiste führt eine grobe Navigation in die Bereiche "Anforderungen", "Fehler", "Projekt-" und "User-Management" usw. durch. Manche Bereiche (wie z.B. Projekt- oder User-Management) erfordern eine weitere Unternavigation (Benutzer, Rollen, Gruppen etc.) und bieten dazu eine weiter Reiterleiste. Innerhalb eines (Unter-) Bereichs erfolgt die Auswahl einer Funktion durch die Menuleiste.
In der Menüleiste unter "Liste" finden Sie einen Überblick über Ihre jeweiligen Einträge des Bereichs/Unterbereichs. Unter "Anlegen" erhalten Sie eine Eingabemaske zum Anlegen einer neuen Artefactinstanz.
Der grundsätzliche Ablauf ist wie folgt:
1. Benutzer anlegen
2. Projektgruppen anlegen
3. Projekt anlegen
4. Rollen festlegen
Die Punkte 2 und 3 können gegebenenfalls im Ablauf getauscht werden.
1. Benutzer anlegen
Klicken Sie unter "Organisation" auf den Reiter "Personen" und erstellen Sie Ihre Benutzer. Hier werden die individuellen Angaben der einzelnen Personen angelegt.
Achtung! Hier werden keine Rechte vergeben, denn diese hängen nicht an der Person, sondern an der Rolle, welche die Person in den jeweiligen Projektarbeitsgruppen einnimmt. So kann eine Person in einer Gruppe Projektleiter sein und in einer anderen z.B. Tester.
2. Projektgruppen anlegen
Im Reiter "Gruppen" werden die einzelnen Gruppen angelegt.
In der Bearbeitungsmaske erhalten Sie eine Liste mit allen Benutzern. Durch Hinzufügen ('>'-Schaltfläche) können Sie eine Arbeitsgruppen bilden.
Die Rolle(n) des Benutzers innerhalb der Gruppe werden hier ebenfalls vergeben (z.B. Entwickler, Tester, Projektleiter etc.)
3. Projekt anlegen
Hier werden die Projekte angelegt und einer Projektgruppe zugeordnet.
Nach dem Ausfüllen der EIngabemaske bestätigen Sie diese Angaben mit der "Anlegen"-Schaltfläche. Diese bringt Sie auch gleich zurück in die Übersichtsliste. Falls Sie mehrere Projekte hintereinander anzulegen haben, drücken Sie stattdessen auf "Anlegen & Neu". Damit bleiben Sie in der Eingabemaske und können das nächste Projekt sofort eingeben.
4. Rollen festlegen
Klicken Sie unter "Organisation" auf den Reiter "Rollen" und legen Sie diese fest. Es gibt vordefinierte Rollen, zusätzlich können auch individuell neue hinzugefügt werden. Die Rollen können auch zu einem späteren Zeitpunkt noch modifiziert werden.
Ihr Dashboard
Auf dem Dashboard erhalten Sie einen aktuellen Überblick über die Einträge in Ihrer Verantwortung. Diese sind eingeteilt in verschiedene Listen:
- eigene "to-do-Listen",
- Überblick über die von Ihnen gemeldeten Einträge,
- Fehler nach Release,
- Anforderungen nach Release und
- einen übersichtlichen Kalender.
Unter dem Reiter "Statusberichte" können Sie den Fortschritt eines Projektes übersichtlich mit unterschiedlichen Kriterien in verschiedenen Grafiken anzeigen lassen.

Anforderungen
Sie kommen zur Liste mit allen Anforderungen.
Um eine neue Anforderung zu erstellen, klicken Sie unter dem Reiter "Anforderungen" im linken Menü auf "Anlegen" und geben die benötigten Daten ein.
Im oberen Menü haben Sie die Möglichkeit unter
"Anlegen" - die Eingabe zu speichern
"Create&Edit" - die Eingabe zu speichern und gleich weiter zu editieren
Es können auch bereits vorhandene Anforderungen editiert werden. Dazu klicken Sie auf die entsprechende Anforderung, es erscheint die bekannte Eingabemaske. Über das linke Menü haben Sie die Möglichkeit weitere Details hinzuzufügen. Ein Klick auf "Übernehmen" im oberen Menü speichert Ihre Eingabe.
In der linken Menüleiste finden Sie weiterführende Punkte wie Details, Übersicht, Kommentare, Historie und andere. Zudem können Anhänge zu den Anforderungen hinzugefügt werden. Über die Leiste können Sie auch die Validierung vornehmen, ebenso wie einen Export oder Import.
Fehler
Sie kommen zur Liste mit allen Fehlern. Um eine Fehlermeldung zu erstellen, klicken Sie unter dem Reiter "Fehler" im linken Menü auf "Anlegen" und geben die benötigten Daten ein. Als Besitzer des Fehlers geben Sie einen Verantwortlichen ein und ordnen diesem einem Fehler oder Release zu. Ebenso priorisieren Sie den Fehler und legen den Fehlertyp fest.
Es können auch bereits vorhandene Fehlermeldungen editiert werden. Dazu klicken Sie auf die entsprechende Fehlermeldung. Es erscheint die bekannte Eingabemaske. Über das linke Menü haben Sie die Möglichkeit weitere Details hinzuzufügen. Ein Klick auf "Übernehmen" im oberen Menü speichert Ihre Eingabe.
In der linken Menüleiste finden Sie weiterführende Punkte wie Details, Übersicht, Kommentare, Historie und andere. Zudem können Anhänge zu den Anforderungen hinzugefügt werden. Über die Leiste können Sie auch die Verifikation vornehmen, ebenso wie einen Export oder Import.
Aktionen
In der Liste unter Aktionen finden Sie eine Übersicht aller to do´s (Aktionen). Als Besitzer der Aktion, können Sie einen Verantwortlichen benennen und diesem die Verantwortung der Aktion zuordnen. Ebenso können diese priorisiert werden.
Es können auch bereits vorhandene Anforderungen editiert werden. Dazu klicken Sie auf die entsprechende Anforderung, es erscheint die bekannte Eingabemaske. Über das linke Menü haben Sie die Möglichkeit weitere Details hinzuzufügen. Ein Klick auf "Übernehmen" im oberen Menü speichert Ihre Eingabe.
In der linken Menüleiste finden Sie weiterführende Punkte wie Übersicht und Kommentare. Anhänge können hochgeladen sowie Aktionen importiert oder exportiert werden.
TestSuite Management und Test Automation
TestSuite in expecco erstellen
Die Testsuite wird üblicherweise in expecco erstellt. Beachten Sie, dass lediglich expecco pro die benötigte Schnittstelle anbietet! Diese wird benötigt um TestSuites, Fehler-Berichte und Testergebnisse von expecco aus hoch- und herunterzuladen.
Um mit expeccoNET zu kommunizieren müssen Sie zuerst einige Daten ergänzen. Öffnen Sie hierzu die Settings:
und navigieren zu den expeccoNET Settings:
Dort tragen Sie den Host-Namen ein auf welchem expeccoNET installiert ist, sowie Ihre Benutzerdaten und das Passwort. Im Normalfall können Sie den Standard Port (80) benutzen, es sei denn, der expeccoNET Host hat nebenbei einen anderen Webserver (apache) auf diesem Port installiert. In diesem Fall verwenden Sie den port 8080 oder fragen Ihren expeccoNET Administrator.
Um die Korrektheit der Daten und die Verbindung zu expeccoNET zu prüfen, klicken Sie auf "Check Reachability".
Sollten Sie verschiedene expeccoNET Server laufen haben (zum Beispiel für verschiedene Abteilungen), ist es hilfreich die Konfigurationen unter dem entsprechenden Namen zu speichern. Dazu geben Sie einen repräsentativen Namen an und klicken auf "Remember Setup". Die gespeicherten Einstellungen finden Sie dann in der darüber liegenden Pull-Down-Liste, "Use Saved Setup".
Hochladen der TestSuite in expeccoNET
Im Hauptmenu sind nun unter "File" auch die Elemente "Upload to expeccoNET" und "Download from expeccoNET" verfügbar. Nach einem Klick öffnet sich ein neues Fenster. Wählen Sie das expeccoNET Projekt welches zu dieser Testsuite gehört (wählen Sie "Unspecified" oder "All", wenn eine TestSuite in mehreren Projekten benutzt wird, nicht definiert ist oder Ihnen nicht bekannt welchem Projekt dieser zugeordnet wird). Diese Zuordnung kann später von der Weboberfläche aus noch jederzeit geändert werden:
Wenn die TestSuite die Implementierung einer Anforderungen validiert oder einen Fehler reproduziert, sollten Sie der TestSuite auch gleich der Anforderung oder dem Fehler zuordnen (oder Sie tun dies später, wie weiter unten gezeigt, in expeccoNET). Nach der Eingabe der optionalen, kurzen Beschreibung sorgt ein klick auf "Ok" für den Start des Upload:
Nach erfolgreichem Upload, wird Ihre TestSuite in expeccoNET unter "Test Cases" zu finden sein:
expeccoNET kann als zentrale Plattform für die Verwaltung von TestSuites und Test Ergebnissen dienen.
Erstellen einer Test-Definition (= Parametrisierung)
expeccoNET unterscheidet zwischen einer Test-Suite und einer Test-Definition. Eine testSuite ist die reine Suite, wie sie von expecco hochgeladen wird. Es kommt natürlich vor, dass eine einzelne Suite mit unterschiedlichen Parametersätzen verwendet wird oder das verschiedene Untermengen von Einzeltests aus einer Suite benötigt werden. Eine solche Kombination von TestSuite, Testplan-Auswahl und Parametersatz heißt Test-Definition und wird auf einer speziellen Seite in expeccoNET verwaltet. Eine TestSuite kann in mehreren Definitionen verwendet werden. Falls Ihre Suite nur aus einem einzigen Testplan besteht, und keine parametrisierbaren Variablenwerte darin vorkommen gilt natürlich eine 1:1 Zuordnung von TestSuite und Testdefinition.
Damit ein Parameter in expeccoNET sichtbar wird, muss er in der obersten Variablenumgebung der TestSuite als "Visible in ExpeccoNET" gekennzeichnet sein.
Das bedeutet, dass der Test-Entwickler die Variable wie folgt in expecco markiert haben muss:
Alle sichtbaren Variablen werden in expeccoNET in der Detailansicht angezeigt:
Einen Ausführungszeitplan erstellen (= einstellen wann ausgeführt werden soll)
Definition eines Zeitplans:
Es gibt verschiedene mögliche Auslöser für eine Testausführung:
- einmalig
- periodisch
- bei Empfangen eines Auslösers durch eine Email oder Datei
- durch Änderungen in einem überwachten Quelltext-Repository
- ferngesteuert (durch einen SOAP-Call)
- manuell vom Browser aus
In diesem Beispiel wurde der Auslöser so definiert, dass er jede Nacht auf einem beliebigen (aber verfügbaren) Testhost ausgeführt wird:
expeccoNET muss wissen, welche Hosts für eine Test Ausführung genutzt werden sollen. Deshalb müssen diese in der TestHost-Seite definiert werden:
Auf den Testhosts muss natürlich ein expecco (nicht expeccoNET) zur Testausführung installiert sein; dies kann entweder eine expecco-runtime Version (ohne Editiermöglichkeit) oder aber auch eine expecco-pro Installation sein. Letztere könnte tagsüber auch zur Entwicklung und manuellen Ausführung von Tests genutzt werden.
Wenn Sie alles richtig konfiguriert haben, und einer der definierten Testhosts eingeschaltet blieb, steht Ihnen am nächsten Morgen das Ergebnis zur Verfügung...
Natürlich haben Sie auch die Möglichkeit einen Test sofort durchzuführen. Gehen Sie zurück zur Test Definitionsliste, suchen Sie die Definition in der Liste (beachten Sie, das das Ausführensymbol nur aktiviert ist, wenn ein Host mit passender CPU/OS Konfiguration verfügbar ist) und klicken Sie auf : "Execute":
Testergebnisse betrachten
Während der Testausführung erscheint ein gelbes Icon in der Liste hinter dem Test:
![]()
Nach Beenden repräsentieren die unterschiedlichen Farben das Ergebnis:
- Gelb - wird ausgeführt
- Grün - bestanden
- Rot - fehlgeschlagen
- Dunkelrot - Test fehlerhaft
- Grau - nicht entscheidbar
Durch einen Klick auf einen Eintrag erhalten Sie eine Übersicht des Ergebnisses:
Sie erhalten zwei Anhänge: eine Zusammenfassung als PDF sowie den Zugriff auf die komplette Log-Datei:
Die Log-Datei (.elf-Datei) kann in expecco heruntergeladen und für Analysen genutzt werden. Sie enthält den Ablauf und die komplette Log-Information.
Regression-Tests
Automatische Ausführung bei Quelltextänderung
Es besteht die Möglichkeit den Quelltext überwachen zu lassen und bei Änderungen einen Test zu initiieren.
Erstellen Sie hierzu erneut einen Testablaufplan und wählen wie hier im Bild 'RepositoryChangeTrigger' aus.
Der Test wird ausgeführt sobald sich etwas im Quellcoderepository ändert.
Periodische oder einmalige Ausführung
Um Ihre Tests regelmässig ablaufen zu lassen, wählen Sie bitte das entsprechende Zeitinterval und einen Triggerzeitpunkt innerhalb dieses Intervals. Zum Beispiel "jeden Montag um 2:30" oder "jeden 1. des Monats um 4:00" oder "regelmässig, alle 30 Minuten".
Sie können auch angeben, dass Ihr Test einmalig, zu einem vorgegebenen Zeitpunkt in der Zukunft ausgeführt werden soll. Dazu geben Sie bitte im Kalender den Startzeitpunkt an.
Benachrichtigungen bei Erfolg oder Misserfolg
Sie haben die Möglickeit, sich per Email benachrichtigen zu lassen wenn ein Test fehlschlägt, wenn er erfolgreich ist, oder unabhängig von dessen Ausgang:
Die Email wird an die im Account hinterlegte Adresse versandt.
Unabhängig von diesen Benachrichtigungen werden die Testresultate als Log und PDF-Summary archiviert und können in der Ausführungsliste jederzeit später wieder betrachtet werden. Es ist aber auch möglich, jeden einzelnen Testlauf mit einem individuellen Verfallsdatum zu versehen, so dass dessen Resultat nach einer bestimmten Zeit automatisch aus dem System gelöscht wird.
Besondere Einstellungen und Hilfen
Resourcen Verwalten
Eine Testausführung kann möglicherweise zusätzliche Resourcen zu seiner Ausführung benötigen. Dabei könnte es sich um zusätzliche Mess- und Prüfgeräte, aber auch um Bedienpersonal handeln (selbst bei automatischen Tests können unter Umständen manuelle Aktionen wie z.B. Einschalten, Konfigurieren, Verkabeln, Bedienen usw. notwendig sein).
In einer Testdefinition kann angegeben werden, welche Geräte ("Equipment") zur Ausführung gebraucht werden, und ob ein Bediener erforderlich ist. In dem Eingabeformular zur Testausführung wird dann das zugehörige Feld (Bediener/Operator) aktiv, und eine Person ist auszuwählen. Zur Erkennung von Konflikten dient die Reservierungstabelle; diese zeigt ein rotes Feld, falls die Person, der Testhost oder ein Prüfgerät zum angegebenen Zeitpunkt anderweitig aktiv ist (Besprechung, anderer Test oder Aktion). Dabei werden neben der reinen Testlaufzeit ("erwartete Ausführungszeit") auch die Auf- und Abbauzeiten der Prüfgeräte berücksichtigt.
Folgendes Bild zeigt eine Reservierungstabelle ohne Konflikt; die automatische Ausführung um 16:00 Uhr kann eingetragen werden (der Eintrag wurde am Dienstag abends erstellt, daher werden nur Asuführungen ab Mittwoch angezeigt):
durch einen Klick auf einen Eintrag in der linken Stundenspalte wird die Belegung in Abschnitten zu 5 Minuten angezeigt:
werden nun weitere Automatische Tests angelegt, welche den selben Bediener, den Host oder ein Prüfgerät belegen, so erscheint eine Konfliktanzeige. Hier kollidiert eine geplante Testausführung durch eine Doppelbelegung zwischen 14:00 und 14:30:
Die Plazierung von Testläufen erfolgt in der aktuellen Version noch manuell. Es ist jedoch geplant, in einer späteren Version eine automatische Belegungsoptimierung als optionale Erweiterung anzubieten.
Projektspezifische Felder definieren
Im Projektdefinitionsbereich finden Sie auch einen Menüeintrag "Anpassen". Dieser erlaubt es, Projektspezifische Felder an einzelne Artefakttypen hinzuzufügen. Die Felder werden durch Name, Datentype und Vorgabewert definiert. Das heisst, es ist möglich, allen Anforderungen des Projekts "A" ein zusätzliches Feld vom Typ "Anforderung" zu geben, und dieses mit dem Feldnamen "Testanforderung" im Formular zu versehen. Anforderungen anderer Projekte werden dieses Feld nicht zeigen. In der aktuellen Version ist die Sichtbarkeit solcher custom-Felder and die Sichtbarkeit des Artefakts gekoppelt. Für eine spätere Version ist eine umfangreiche Rechteverwaltung dazu geplant. Analog zu projektspezifischen Feldern sind auch Benutzerspezifische Felder vorgesehen.
mit diesen zusätzlichen Feldern erscheint folgende Maske bei allen Aktionen der Projektes "p1" (nicht aber in Aktionen anderer Projekte!):
Zu beachten ist, dass der angegebene Category-Typ ein frei definierbarer Aufzähltyp ist. Die Pull-Down Liste des "a_2" Feldes zeigt genau die im "IT:Topic:Supplier" definierten Werte. Ebenso wurde für das Projekt selbst ein weiteres Feld "currency" vom frei definierten Typ "IT:Project:Currency" definiert. Das "p1" Projekt wird daher präsentiert als:

















