5.3. Hauptfunktionen

5.3.1. Konflikte beim Speichern lösen
5.3.2. Objekte löschen, dauerhaft entfernen und wiederherstellen
5.3.3. Objekt-Eigenschaften referenzieren
5.3.4. Referenzieren von Anhängen

In diesem Abschnitt werden allgemeine Querschnittsfunktionen von Klaros-Test­management im Detail beschrieben.

5.3.1. Konflikte beim Speichern lösen

Wird ein Objekt von zwei Benutzern gleichzeitig bearbeitet, so können diese Änderungen kollidieren. Hierfür sind in der Anwendung die folgenden Maßnahmen vorgesehen.

Beim Speichern eines Objekts wird versucht, mögliche Konflikte mit gleichzeitigen Änderungen weitestgehend automatisch aufzulösen. Alle von anderen Benutzern vorgenommenen Änderungen, die sich nicht auf Felder auswirken, die der aktuelle Benutzer geändert hat, werden ohne zusätzliche Benutzereingaben zusammengeführt.

Wurden Feldinhalte geändert, die in der Zwischenzeit auch von einem anderen Benutzer geändert wurden, wird ein Dialog angezeigt. Dort kann der Benutzer wählen wie der Konflikt aufgelöst werden sollen.

Figure 5.28 zeigt den Dialog Konflikt Auflösung für einen Konflikt bei einer Testfalländerung.

Der Dialog „Konflikt-Auflösung“

Abbildung 5.28. Der Dialog Konflikt-Auflösung


Bei jedem Konflikt hat der Benutzer die Wahl, das Objekt mit dem eingegebenen Wert zu speichern oder den aktuell in der Datenbank vorhandenen Wert beizubehalten. Bei Listen, wie z.B. der Liste der Testschritte in einem Testfall, hat der Benutzer die Möglichkeit, mit Zusammenführen die Änderungen zu übernehmen die aktuell in der Datenbank befindliche Version zu behalten. Damit soll der unbeabsichtigte Datenverlust durch das Löschen von Objekten, die von anderen Benutzern hinzugefügt wurden, verhindert werden.

Die Option Zusammenführen erstellt eine Liste, die alle Elemente beider Listen (Benutzereingaben und Datenbank) in einer Annäherung an die richtige Reihenfolge enthält.

Mit Klick auf den Button Speichern werden die ausgewählten Änderungen in der Datenbank gespeichert, Verwerfen verwirft die Änderungen des Benutzers.

5.3.2. Objekte löschen, dauerhaft entfernen und wiederherstellen

5.3.2.1. Objekte löschen

Objekte können durch Klick auf das Icon deaktiviert bzw. gelöscht werden, sodass es für Berichte und Auswertungen nicht mehr herangezogen wird. Ist das zu löschende Objekt mit anderen Objekten verknüpft (z.B. eine Anforderung, die mit einem Testfall verknüpft ist) oder in anderen Objekten enthalten ist (z.B. ein Testfall, der in einer Testsuite enthalten ist), wird ein Dialogfenster angezeigt (siehe Figure 5.29).

Der Dialog „Objekte löschen“

Abbildung 5.29. Der Dialog Objekte löschen


Im Dialogfenster werden alle Abhängigkeiten, Beziehungen und Vorkommen des zu löschenden Objekts angezeigt. Mit OK wird das Objekt gelöscht, mit Abbrechen wird das Fenster geschlossen und das Objekt nicht gelöscht.

5.3.2.2. Objekte dauerhaft entfernen

Objekte können durch Klick auf das Icon unwiederbringlich entfernt werden. Hierfür ist es notwendig, dass diese Objekte bereits gelöscht bzw. deaktiviert wurden. Standardmäßig werden gelöschte bzw. deaktivierte Objekte nicht angzeigt. Durch ein Klick auf Alle anzeigen können diese eingeblendet werden. Nachdem Klicken auf das Icon erscheint ein Dialogfenster (siehe Figure 5.30). Mit OK wird das Objekt dauerhaft entfernt, mit Abbrechen wird das Fenster geschlossen und das Objekt nicht endgültig gelöscht.

Der Dialog „Objekte dauerhaft entfernen“

Abbildung 5.30. Der Dialog Objekte dauerhaft entfernen


5.3.2.3. Objekte wiederherstellen

Gelöschte bzw. deaktivierte Objekte können durch Klicken auf das Icon wiederhergestellt werden. Nachdem Klicken auf das Icon erscheint ein Dialogfenster (siehe Figure 5.31). Mit OK wird das Objekt wiederhergestellt, mit Abbrechen wird das Fenster geschlossen und das Objekt bleibt deaktiviert. Wiederhergestellte Objekte werden bei Berichten und Auswertungen miteinbezogen.

Der Dialog „Objekte wiederherstellen“

Abbildung 5.31. Der Dialog Objekte wiederherstellen


5.3.3. Objekt-Eigenschaften referenzieren

Allgemeine und benutzerdefinierte Eigenschaften (siehe Abschnitt 5.2.3.2.4, „Benutzerdefinierte Eigenschaften“) können während der Ausführung von Aufgaben, Testfällen oder Testsuiten in den angezeigten Textfeldern referenziert und aufgelöst werden. Beispielsweise referenziert die folgende Testfallvorbedingung das Testsystem, in dem sie ausgeführt wird:

"Bitte vergewissern Sie sich, dass die Betriebssystemversion, die unter /config/os eingetragen ist, mit %sut:buildnumber% übereinstimmt, bevor Sie die Testfall-Ausführung starten."

Beim Ausführen des Testfalls wird %sut:buildnumber% durch den Wert der benutzerdefinierten Eigenschaft buildnumber des Testsystems mit dem der Testfall ausgeführt wird ersetzt. Lautet also angenommen der Wert für die Eigenschaft 1.44_alpha3, wird der Text wie folgt ausgegeben:

"Bitte vergewissern Sie sich, dass die Betriebssystemversion, die unter /config/os eingetragen ist, mit 1.44_alpha3 übereinstimmt, bevor Sie die Testfall-Ausführung starten."

Aufgelöste Objekteigenschaft

Abbildung 5.32. Aufgelöste Objekteigenschaft


Das Ersetzen der Eigenschaft wird sowohl für die gemeinsamen vordefinierten Attribute eines Objekts (z.B. den Namen oder die ID) als auch für die benutzerdefinierten Eigenschaften unterstützt. Der Name der gemeinsamen Attribute kann von den entsprechenden Bean-Methoden abgeleitet werden, die in der de.verit.klaros.core.model beschrieben sind.

Für die folgenden Objekte werden Eigenschaften derzeit unterstützt:

Iteration

itr

Aufgabe

job

Testsystem

sut

Testfall

tc

Testumgebung

env

Testlauf

tr

Testsegment

seg

Testsuite

ts

Angenommen, der folgende Beispieltext wird in der Testfallvorbedingung verwendet:

"Bitte stellen Sie sicher, dass Ihr Testsystem die Version %sut:productversion% verwendet."

Den Attributnamen productversion finden Sie in der Klassendokumentation für die Klasse SUTImplementation in de.verit.klaros.core.model.KlarosSUTImplementation. Wenn die dort definierte Version einen Wert von 1.0.1 hat, wird bei der Anzeige der Vorbedingung die folgende Ausgabe ausgegeben:

"Bitte stellen Sie sicher, dass Ihr Testsystem die Version 1.0.1 verwendet."

[Tipp] Eigenschaftsreferenzen beachten keine Groß-/Kleinschreibung!

Bei der linken Seite eines Verweises wird die Groß-/Kleinschreibung nicht berücksichtigt. %sut:productversion%, %SUT:productversion% und %Sut:productversion% liefern dasselbe Ergebnis.

5.3.4. Referenzieren von Anhängen

Ähnlich wie bei der Referenzierung von benutzerdefinierten Eigenschaften in Testfall- und Testfallschritten ( Abschnitt 5.3.3, „Objekt-Eigenschaften referenzieren“) können auch Werte aus binären Anhängen referenziert werden. Derzeit werden CSV- und XLS-Dateien unterstützt.

Binäre Anhänge der folgenden Objekte werden derzeit unterstützt:

Iteration

itr-att

Aufgabe

job-att

Testsystem

sut-att

Testfall

tc-att

Testumgebung

env-att

Testlauf

tr-att

Testsegment

seg-att

Testsuite

ts-att

Zusätzlich zu den obigen Ausführungen kann der globale Platzhalter att verwendet werden. Die Position des Anhangs ist damit nicht näher spezifiziert. Es werden in diesem Fall alle an der Testausführung beteiligten Objekte nach dem Anhang durchsucht.

Ein Platzhalter kann in der Form %[Objekttyp]:[Dateiname]:[Spalte]:[Zeile]% unter Verwendung der folgenden Parameter definiert werden:

Platzhalter-Parameter

[object type]

Der Typ des Objekts, das den binären Anhang enthält.

[file name]

Der Name des binären Anhangs.

[column]

Die Spaltennummer des Wertes des binären Anhangs.

[row]

Die Zeilennummer des Wertes des binären Anhangs.
[Anmerkung] Excel-Dateien referenzieren

Beim Referenzieren von Excel-Dateien können Zellen über Excel-Koordinaten (z.B. C1 oder AB24) adressiert werden. Dies verkürzt den Platzhalter auf %[object type]:[file name]:[coordinate]%.

Der Dateiname und die Spalten- und Zeilenparameter können auch über benutzerdefinierte Eigenschaften definiert werden. Zum Beispiel verweist %itr-att:customers.csv:%job:Customer%:%job:CustomerNr.%%% auf die Anlage customers.csv der aktuellen Iteration, wobei der Wert in der im Attribut Customer definierten Spalte des aktuellen Auftrags und der im Attribut CustomerNr definierten Zeile verwendet wird.

[Tipp] Bei Anhangsreferenzen wird die Groß-/Kleinschreibung nicht beachtet!

Die linke Seite einer Anhangsreferenz unterscheidet nicht zwischen Groß- und Kleinschreibung. %itr-att:kunden.csv:A1%, %ITR-att:kunden.csv:A1% und %ITR-Att:kunden.csv:A1% liefern dieselbe Ausgabe.