Automatisiertes Testen ist ein wichtiges Instrument bei der Qualitätssicherung von Software. Um wiederholbare Testszenarien zu definieren und zu überprüfen, bietet Semiramis verschiedene Möglichkeiten. Die Performance von interaktiven Abläufen und das Verhalten des Systems bei großen Benutzeranzahlen kann mit Hilfe der Aufzeichnungsmechanismen des Embedded Webserver untersucht werden. Details hierzu finden Sie in dem Dokument Semiramis Stabilitätstests und Sizing mit OpenSTA.
Wiederkehrende funktionale Tests von Anwendungen können mit Hilfe von Testläufen durchgeführt werden. Innerhalb der Testläufe gibt es zwei verschiedene Arten von Überprüfungen. Zum einem kann der Entwickler konkrete Testaktionen für die Anwendung vorgesehen haben. Zum anderen gibt es einige allgemeine Testaktionen, für generell für alle Anwendungen zur Verfügung stehen:
- Die Anwendungen müssen erzeugt werden können.
- Die Initialisierung der Anwendungen muss erfolgen können.
- Die Anwendung muss mit ihren definierten Übergabeparametern aufgerufen werden können.
- Die Anwendungen müssen beendet werden können.
Testläufe umfassen die Festlegung welche Anwendungen und welche Testaktionen ausgeführt werden sollen. Testaktionen können Parameter beinhalten, z. B. die Anzahl der Durchläufe für einen Testschritt. Testläufe sind Entwicklungsobjekte und können in der Anwendung „Entwicklungsobjekte“ definiert werden.
1 Zielgruppe
- Entwickler
- Technische Berater
- Administratoren
2 Begriffsbestimmung
Testlauf
Ein Testlauf ist die Definition eines Testablaufes, in dem für verschiedene Anwendungen einzelne Testaktionen durchgeführt werden.
Testaktion
Eine Testaktion ist die Definition eines Testschrittes für einen Anwendung inklusive der dafür notwenigen Parameter. Man unterscheidet generische Testaktionen und anwendungsspezifische Testaktionen. Anwendungsspezifische Testaktionen können von einem Entwickler für eine spezielle Anwendung definiert und implementiert werden.
Testschritt
Ein Testschritt ist das Ergebnis der Ausführung einer Testaktion. Zu diesem Ergebnis gehörten neben den aufgetretenen Meldungen, Warnungen und Fehlern optional auch die benötigte Zeit und der benötigte Speicher.
Testprotokoll
Das Testprotokoll beinhaltet die Zusammenfassung der Ausführung eines Testlaufes. Diese umfasst den Zeitpunkt, die benötigte Gesamtzeit und Gesamtanzahl der aufgetretenen Meldungen, Fehler und Warnungen.
Generischer Testlauf
Ein generischer Testlauf enthält nur generische Testaktionen und enthält in der Definition nur einen Namensraum und keine Anwendung. Bei der Ausführung eines solchen Testlaufs werden alle Anwendungen, deren Namensraum unterhalb des angegebenen Namesraums liegen, im Testlauf berücksichtigt.
Generische Testaktion
Eine generische Testaktion ist eine durch Semiramis vordefinierte Testaktion, die ohne weitere Parameter und ohne zusätzliche Programmierung für alle Anwendungen zur Verfügung steht. Hierzu zählt zum Beispiel die Überprüfung, ob die Anwendung korrekt geschlossen werden kann.
Namensraum
Namensräume sind hierarchisch organisiert und dienen der Zusammenfassung von inhaltlich verwandten Objekten. Mit einem Namensraum wird zum einen eine betriebswirtschaftliche Strukturierung erreicht und zum anderen werden Namenskonflikte bei Modifikationen oder einer Kundenadaptierung vermieden. Die Hierarchieebenen in einem Namensraum sind durch einen Punkt “.” getrennt. Zum Teil werden aus den in der Repository-Datenbank hinterlegten Definitionen Java-Klassen generiert. Dann wird der Namensraum-Name als Package-Name benutzt. Entsprechend der von Sun für Packages herausgegebenen Konventionen beginnen alle von der C.I.S. AG definierten Namensräume mit “com.cisag.”. Alle Entwicklungsobjekt-Typen (außer der Entwicklungsobjekt-Typ Namensraum) sind in Namensräumen organisiert. Mit dem Entwicklungsobjekt “Namensraum” in der Anwendung Entwicklungsobjekte wird ein konventionsgemäßer Namensraum beschrieben. Damit wird der Namensraum im System hinterlegt und darin kann etwas abgelegt werden.
3 Anwendungsbeschreibung
In der Anwendung „Testläufe“ kann ein Testlauf ausgeführt und das Ergebnis der Ausführung für jeden ausgeführten Testschritt analysiert werden. Zusätzlich stehen die Testprotokolle der früheren Ausführungen des Testlaufes als Vergleichsinformationen zur Verfügung und können hier auch gelöscht werden.
3.1 Identifikationsbereich
Der Identifikationsbereich enthält den Namen des Testlaufes und seine Beschreibung.
Die Inhalte der Felder werden im Folgenden detailliert beschrieben:
Feld | Erläuterung |
Testlauf | Geben Sie hier den Namen eines Testlaufes an. |
Bezeichnung | Die Bezeichnung sollte eine Erläuterung enthalten, was der Testlauf tut bzw. wozu er gedacht ist. |
3.2 Arbeitsbereich
Der Arbeitsbereich enthält zwei Karteireiter:
- Aktuelles Protokoll
- Protokolle
3.2.1 Karteireiter Aktuelles Protokoll
In diesem Karteireiter wird das aktuelle Protokoll angezeigt. Die Inhalte sind abhängig davon, ob ein Testlauf erfolgreich durchgeführt wurde oder nicht.Auf dem Karteireiter sind zwei Felder und eine Tabelle zu sehen. Die Felder enthalten nur Werte, wenn in der Anwendung ein Testlauf durchgeführt wurde. Die Felder werden nachfolgend beschrieben:
Feld | Erläuterung |
Beschreibung | Beschreibung, die Sie beim Starten des Testlaufes angegeben hatten. |
Speicherverbauch mitprotokollieren | Anzeige, ob während des Testlaufes der Speicherverbrauch protokolliert worden ist. |
3.2.1.1 Tabelle mit den Testschritten
In der Tabelle mit den Testschritten sind normalerweise vier Spalten zu sehen. Die erste Spalte enthält schon beim Laden eines Testlaufes gültige Werte. Alle anderen Spalten werden erst nach dem Durchführen eines Testlaufes gefüllt.
Spalte | Erläuterung |
Testschritt | In dieser Spalte werden die Testschritte eingerückt dargestellt. Die erste Ebene ist durch den Testlauf definiert. Die zweite Ebene enthält die Namen der getesteten oder zu testenden Anwendungen. In der dritten Ebene stehen die Tests. Alle weiteren Ebenen dienen dem Entwickler der Tests zur Gruppierung. |
Dauer | Zeigt die Zeit an, die dieser Testschritt benötigt hat. |
Fehler | Zeigt die Anzahl der Fehlermeldungen an, die während des Testschrittes erzeugt wurden. |
Warnungen | Zeigt die Anzahl der Warnungen an, die während des Testschrittes erzeugt wurden. |
Wenn Sie das Kontextmenü über den Tabellenspalten öffnen, können Sie sich noch weitere Spalten anzeigen lassen:
Spalte | Erläuterung |
Relevanz | Zeigt die Relevanz des Schrittes an. Wenn aus einem Testlauf heraus ein Messzeitpunkt erzeugt wird, so wird er mit Hilfe dieses Wertes klassifiziert, um die benötigte Zeit und die aufgetretenen Meldungen gruppieren zu können. Ein Schritt kann relevant sein für:
· den Testlauf als ganzes. · die Vorbereitung, z. B. das Erzeugen von Testdaten. · das Überprüfen, d. h. den eigentlichen Test. · das Aufräumen, z. B. das Löschen von Testaten. · das Überprüfen der Bedienoberfläche. · den Speicherverbrauch.
|
Dauer (Kum.) | Die kummulierte Dauer, also die Dauer des Testschrittes und aller untergeordneter Ebenen. |
Speicher | Der Speicherverbrauch dieses Testschrittes.
Hinweis: |
Speicher (Kum.) | Der kummulierte Speicherverbrauch dieses Testschrittes.er Speicherverbrauch des Testschrittes und aller untergeordneten Ebenen.
Hinweis: |
Informationen | Zeigt die Anzahl der Informationsmeldungen an, die während des Testschrittes erzeugt wurden. |
Wenn ein Testlauf durchgeführt wurde, stehen Ihnen für die Tabelle verschiedenen Aktionen zur Verfügung:
- Details
- Nur Fehlerhafte
- Ausgabe detaillierter Fehlermeldungen in eine Datei
Details
Mit dieser Aktion können Sie sich eine feinere Aufteilung der Tests anzeigen lassen.
Nur Fehlerhafte
Mit dieser Aktion steuern Sie, ob Sie alle Tests bzw. Details sehen oder nur die, in denen Fehlermeldungen erzeugt wurden.
Ausgabe detaillierter Fehlermeldungen in eine Datei
Erzeugt eine XLS-Datei mit allen im Testlauf aufgetretenen Meldungen. Dies ist eine zusätzliche, erweiterte Variante der in Listen standardmäßig zur Verfügung stehenden Funktion zur Ausgabe der bereits geladenen Seite. In der erweiterten Variante werden auch der technische Name der Anwendung, der Verantwortliche der Anwendung und weitere Daten ausgegeben.
3.2.2 Karteireiter Protokolle
In diesem Karteireiter werden die bisherigen Protokolle für den aktuellen Testlauf angezeigt.Die Anzeige erfolgt in einer Tabelle mit folgenden Spalten:
Spalte | Erläuterung |
Datum | Zeigt ihnen das Datum an, an dem der Testlauf durchgeführt wurde. |
Benutzer | Der Benutzer, der den Testlauf durchgeführt hat. |
Beschreibung | Zeigt die Beschreibung, die der Benutzer zum Start des Testlaufes angegeben hat. |
Dauer | Zeigt an, wie lange der Testlauf lief. |
Fehler | Zeigt an, wie viele Fehlermeldungen während des Testlaufes erzeugt wurden. |
Warnungen | Zeigt an, wie viele Warnungen während des Testlaufes erzeugt wurden. |
Wenn Sie das Kontextmenü über den Tabellenspalten öffnen, können Sie sich noch weitere Spalten anzeigen lassen:
Spalte | Erläuterung |
Speicher | Zeigt an, wie hoch der Speicherverbrauch während des Testlaufes war.
Hinweis: |
Informationen | Zeigt an, wie viele Informationsmeldungen während des Testlaufes erzeugt wurden. |
Für die Tabelle stehen Ihnen zwei Aktionen zur Verfügung:
- Aktualisieren
- Löschen
Aktualisieren
Aktualisiert den Inhalt der Tabelle mit den vorhandenen Testprotokollen.
Löschen
Löscht die Testprotokolle zu den ausgewählten Zeilen.
3.3 Dialog: Testläufe
Wenn Sie den Button „Testlauf ausführen“ drücken, erscheint ein Dialog, in dem Sie für den Testlauf zusätzliche Informationen angeben können:
Feld | Erläuterung |
Beschreibung | In diesem Feld können Sie die besonderen Bedingungen des Testlaufes festhalten. Es ermöglicht ihnen zu einem späteren Zeitpunkt die Bedingungen des Testlaufes anzusehen. Als Vorschlagswert werden die Informationen über Semiramis, das „Java Runtime Environment“ und das Betriebssystem des SAS verwendet. |
Speicherverbrauch mitprotokollieren | Bestimmen Sie mit diesem Schalter, ob der Speicherverbrauch während des Testlaufes gemessen werden soll oder nicht. |
3.4 Customizing
Für die Anwendung „Testläufe“ sind in der Anwendung „Customizing“ keine Einstellungen festzulegen.
3.5 Berechtigungen
Semiramis arbeitet mit einem mehrstufigen Berechtigungskonzept. Fähigkeiten und Berechtigungen können generell auf verschiedenen Ebenen vergeben werden:
- Auf den Ebenen für Frameworks und Anwendungen vergeben Sie z. B. eine Berechtigung, mit der eine Anwendung geöffnet werden kann.
- Auf den Ebenen für Business Entitys vergeben Sie z. B. eine Berechtigung, mit der ein Tetslauf erfasst oder erzeugt werden kann. Die Entity-bezogenen Berechtigungen gelten anwendungsübergreifend.
Für einige Anwendungen wurden spezielle Fähigkeiten entwickelt, die sich auf bestimmte Aktionen und Funktionen beziehen. Auch für diese Fähigkeiten können Berechtigungen vergeben werden. So kann z. B. für die spezielle Fähigkeit, eine Bestellung ausgeben zu können, eine Berechtigung vergeben werden.
Das Berechtigungskonzept sowie die generellen anwendungsbezogenen und Entity-bezogenen Berechtigungen können Sie in der Technischen Dokumentation im Dokument „Berechtigungen“ nachlesen.
Für Berechtigungsfestlegungen für die Anwendung „Testläufe“ ist das folgende Business Entity relevant:
com.cisag.sys.tools.testsuite.obj.TestSuite
Das Business Entity beeinflusst, welchen Testlauf der Benutzer laden darf und damit auch dessen Ausführung.
3.6 Vorgehensweisen
Lesen Sie nachfolgend, wie Sie mit der Anwendung „Testläufe“ arbeiten:
- Meldungen eines Testschrittes anzeigen
- Details anzeigen
- Ausgabe detaillierter Fehlermeldungen in eine Datei
- Protokoll aktualisieren
- Protokoll löschen
3.6.1 Meldungen eines Testschrittes anzeigen
Voraussetzungen
Sie müssen einen Testlauf ausgeführt haben.
Anleitung
- Blättern Sie in der Tabelle, bis Sie den gewünschten Testschritt sehen.
- Selektieren Sie den Testschritt mit Doppelklick.
- Alle Meldungen des Testschrittes werden nun dem Meldungskarteireiter angezeigt. Die schwerste aufgetretene Meldung wird auch in der Statuszeile anngezeigt. Sollte zu den Meldungen ein schwerer Fehler gehören, wird dieser in der Statuszeile angezeigt.
- Wechseln Sie auf den Meldungskarteireiter.
Hinweis:
Die hierbei angezeigten Meldungen und ggfs. schweren Fehler beziehen sich nicht auf die Anwendung Testläufe, sondern auf die Anwendung des jeweiligen testschrittes.
3.6.2 Details anzeigen
Voraussetzungen
Sie müssen einen Testlauf ausgeführt haben.
Anleitung
- Drücken Sie den Button „Details“ oberhalb der Tabelle mit den Testschritten.
3.6.3 Ausgabe detaillierter Fehlermeldungen in eine Datei
Voraussetzungen
Sie müssen einen Testlauf ausgeführt haben.
Anleitung
- Drücken Sie den Button „Ausgabe detaillierter Fehlermeldungen in eine Datei“.
- Eine Datei im CSV Format wird erstellt und kann von Ihnen gespeichert oder geöffnet werden.
- Bearbeiten Sie die Datei mit einem Tool Ihrer Wahl.
3.6.4 Protokoll aktualisieren
Voraussetzungen
Sie müssen einen Testlauf geladen haben.
Anleitung
- Wählen Sie den Karteireiter „Protokolle“.
- Drücken Sie den Button „Aktualisieren“ oberhalb der Tabelle.
- Die Tabelle mit den Protokollen wird aktualisiert.
3.6.5 Protokoll löschen
Voraussetzungen
Sie müssen einen Testlauf geladen haben.
Anleitung
- Wählen Sie den Karteireiter „Protokolle“.
- Wählen Sie die Zeilen, die Sie löschen wollen, aus.
- Drücken Sie den Button „Löschen“ oberhalb der Tabelle.
- Die ausgewählten Zeilen werden gelöscht. Die Tabelle mit den Protokollen wird aktualisiert.
3.7 Aktion: Testlauf ausführen
- Laden Sie einen Testlauf.
- Die Tabelle mit den Testschritten wird gefüllt.
- Drücken Sie den Button „Testlauf ausführen“
- Es erscheint ein Dialog, in dem Sie weitere Parameter für den Testlauf erfassen können.
- Beenden Sie den Dialog durch drücken des OK-Buttons.
- Der Testlauf wird nun ausgeführt. Abhängig von der Anzahl der Testschritte kann es einige Minuten dauern, bis der Testlauf beendet ist.
- Die Tabelle mit den Testschritten ist aktualisiert worden.