2019-03-22T18:11:56.768840842
2019-06-12T14:03:00.109955828
PT9H15M9S
232
LibreOffice/6.2.3.2$Linux_X86_64 LibreOffice_project/20$Build-2

# Mastertestplan

1.0.7
306850
0
45485
20592
true
false
view2
14240
313044
0
306850
45484
327440
0
1
false
110
false
false
false
true
true
true
0
true
true
false
false
false
false
false
false
true
true
true
false
true
false
false
false
false
false
false
true
true
false
false
true
192011
false
false
true
false
false
false
true
false
false
false
true
4499594
true
false
false
true
false
true
true
false
true
false
false
false
0
false
true
high-resolution
false
false
false
true
false
false
false
true
true
true
false
false
true
false
false
false
true
false
false
1
true
false
false
0
false
false
false
AAEAAAAQAQAABAAARkZUTWxEV6oAAyoMAAAAHEdERUYE8wkPAAMptAAAAFZPUy8yUL7s9wAA [encoded data, 303281 characters] AAAAAQAAAAEAAAAAAAAAAQAAAADXh1FAAAAAAMBkEbcAAAAA1Fj0sg==
AAEAAAARAQAABAAQR0RFRoPydSYABzQoAAAFEEdQT1OnXngWAAc5OAABIJ5HU1VCNVXTdgAI [encoded data, 812199 characters] AAAAAQAIAAEABgxyAAEAAQATAAEAAAABAAgAAQAGC1AAAQABAUEAAA==
AAEAAAARAQAABAAQR0RFRoPydSYAB4EMAAAFEEdQT1OGQmKLAAeGHAABH0hHU1VCNVXTdgAI [encoded data, 840552 characters]
AAEAAAARAQAABAAQR0RFRvVN2ToAB9xYAAAE9kdQT1Mjah5qAAfhUAABKJBHU1VCzwZh5wAJ [encoded data, 878638 characters] CIcIhAiFAAEABgBJB9QH1QfWB9cH2AABAAAAAQAIAAEABgmAAAEAAQFB
AAEAAAARAQAABAAQR0RFRvVN2ToACBcEAAAE9kdQT1NBz2RdAAgb/AABKFRHU1VCzwZh5wAJ [encoded data, 900588 characters]
AAEAAAARAQAABAAQR0RFRuFh5UEAAotwAAACtEdQT1PKV4glAAKOJAAAGypHU1VCP1wkyQAC [encoded data, 309352 characters]
AAEAAAARAQAABAAQR0RFRuFh5UEAAqA0AAACtEdQT1PdcpZ2AAKi6AAAG2ZHU1VC7cbXcgAC [encoded data, 320108 characters] A8YAAgAEA1cDaAAAA3UDdwASA5kDmQAVA8UDxQAW
T1RUTwAMAIAAAwBAQ0ZGILmRse4AAFtAAAFfMUdERUZO81E/AAG6dAAAAIBHUE9TNEuxaAAB [encoded data, 183833 characters]
T1RUTwAMAIAAAwBAQ0ZGIKQZSBEAAFtMAAFr/EdERUZO81E/AAHHSAAAAIBHUE9TAsnA9QAB [encoded data, 188652 characters]
AAEAAAATAQAABAAwRkZUTVocIkYAAlM8AAAAHEdERUYC0AAkAAJCoAAAAChHUE9TCN31fwAC [encoded data, 222859 characters] zD2izwAAAAC/G2HwAAAAAM7DHYY=
AAEAAAATAQAABAAwRkZUTVocImoAAj6gAAAAHEdERUYCzwAkAAIt+AAAAChHUE9THRsXeAAC [encoded data, 215117 characters] Ag0CDgISApYAAAABAAAAAMw9os8AAAAAvxth8AAAAADOwx2q
AAEAAAATAQAABAAwRkZUTVobFScAAjZoAAAAHEdERUYC1QAkAAImJAAAAChHUE9T0/tBYAAC [encoded data, 212036 characters] AgwCDQIOAhICnAAAAAEAAAAAzD2izwAAAAC/G2HwAAAAAM7CEGc=
AAEAAAATAQAABAAwRkZUTVobFVQAAlQ4AAAAHEdERUYC1AAkAAJDpAAAAChHUE9TrCXAFwAC [encoded data, 223254 characters] EJQ=
AAEAAAATAQAABAAwRkZUTVocIkYAAlM8AAAAHEdERUYC0AAkAAJCoAAAAChHUE9TCN31fwAC [encoded data, 222859 characters] zD2izwAAAAC/G2HwAAAAAM7DHYY=
AAEAAAATAQAABAAwRkZUTVocImoAAj6gAAAAHEdERUYCzwAkAAIt+AAAAChHUE9THRsXeAAC [encoded data, 215117 characters] Ag0CDgISApYAAAABAAAAAMw9os8AAAAAvxth8AAAAADOwx2q
AAEAAAATAQAABAAwRkZUTVobFScAAjZoAAAAHEdERUYC1QAkAAImJAAAAChHUE9T0/tBYAAC [encoded data, 212036 characters] AgwCDQIOAhICnAAAAAEAAAAAzD2izwAAAAC/G2HwAAAAAM7CEGc=
AAEAAAATAQAABAAwRkZUTVobFVQAAlQ4AAAAHEdERUYC1AAkAAJDpAAAAChHUE9TrCXAFwAC [encoded data, 223254 characters] EJQ=
AAEAAAAUAQAABABARkZUTXPB9PAAAAFMAAAAHEdERUaUz47mAAABaAAAApRHUE9TVoDENQAA [encoded data, 1107497 characters]
AAEAAAATAQAABAAwRkZUTXPB9PAAAAE8AAAAHEdERUaNwIfxAAABWAAAAjhHUE9T1BxgqAAA [encoded data, 1032293 characters] KysrKysrKysrKx0A
AAEAAAARAQAABAAQR0RFRuFh5UEAAotwAAACtEdQT1PKV4glAAKOJAAAGypHU1VCP1wkyQAC [encoded data, 309352 characters]
AAEAAAARAQAABAAQR0RFRuFh5UEAAqA0AAACtEdQT1PdcpZ2AAKi6AAAG2ZHU1VC7cbXcgAC [encoded data, 320108 characters] A8YAAgAEA1cDaAAAA3UDdwASA5kDmQAVA8UDxQAW
.
.

TextureSync

# Mastertestplan

⸬ Version 1.0.7 Seite 11/11

Mastertestplan

TextureSync

Version

1.0.7

Datum

12.06.19

Autor

Hendrik Schutter

Projektmitglieder

Hendrik Schutter,

Lukas Fürderer,

Robin Willmann,

Jannik Seiler

Inhaltsverzeichnis

Inhaltsverzeichnis

1 Einleitung3

1.1 Ziel des Mastertestplans3

1.2 Durchführung der Test-Phasen3

2 Modultests4

2.1 Testumgebung4

2.2 Test Definitionen4

3 Integrationstests5

3.1 Testumgebung5

3.2 Test Definitionen5

4 Systemtests6

4.1 Testumgebung6

4.2 Test Definitionen6

5 Akzeptanztests8

5.1 Testumgebung8

5.2 Test Definitionen8

6 Changelog10

Einleitung
Ziel des Mastertestplans

Das Ziel des Mastertestplans ist es, die einzelnen Test-Phasen zu definieren und zu kontrollieren.

In den Tests des Mastertestplans werden die Voraussetzungen und die Durchführung der Tests beschrieben.

Die einzelnen Testpläne (Modultest, Integrationstest, Systemtest und Akzeptanztest) werden aus dem Mastertestplan abgeleitet. In den einzelnen Testplänen werden auch die Ergebnisse festgehalten. Im Mastertestplan nur die erwarteten Ergebnisse.

Durchführung der Test-Phasen

Die Test-Phasen werden nacheinander durchgeführt. Bei einem fehlgeschlagenen Test und der Änderung im Code werden die zuvor durchgeführten Phasen bei relevanten Tests wiederholt. Bei kritischen Änderungen werden alle Tests wiederholt.

Die Reihenfolge der Tests ist im V-Modell beschrieben.

Bei erfolgreichem Abschluss aller Tests einer Test-Phase wird diese als komplett angesehen und die nächste Phase beginnt.

Modultests
Testumgebung

Teile der Server- bzw. Client-Software werden nach dem Entwickeln einzeln getestet. Als Testwerkzeuge dienen eigens geschriebene Test-Anwendungen, welche die Module ansprechen und deren Ergebnisse darstellen. Da die Tests direkt am Source-Code in der IDE vorgenommen werden wird mittels White-Box Verfahren getestet.

Test Definitionen

Nummer

Titel

Erklärung

MT#1

Client: Textur auswählen

Eine Textur wird ausgewählt (Klick auf 2D-Preview) und es wird eine 3D-Preview mit den Metadaten am rechten Rand der UI angezeigt.

MT#2

Client: Steuerelemente der Suche

Die Mindestauflösung, Einstelldatum und mehrere Tags lassen sich einstellen. Die Reihenfolge ist nicht relevant.

MT#3

Client: Validierung Name

Der Name der Textur wird nur akzeptiert, wenn er den Regeln aus der UI-Feindesign entspricht.

MT#4

Client: Textur importieren

Es kann über ein File-Chooser eine Datei auf dem Dateisystem ausgewählt werden.

MT#5

Client: Textur exportieren

Eine Datei kann lokal auf dem Client-Rechner abgespeichert werden.

MT#6

Client: Einfügedatum

Der Client erfasst das korrekte Datum an dem die neue Textur eingefügt wird.

MT#7

Client: Metadaten automatisch erkennen

Der Client ermittelt automatisch die Auflösung einer Textur.

MT#8

Server: Metadaten abspeichern

Neue oder veränderte Metadaten werden persistent als Datei abgespeichert.

MT#9

Server: Metadaten lesen

Zuvor gespeicherte Metadaten können korrekt eingelesen werden.

MT#10

Server: Suchanfrage verarbeiten

Die Suche wird wie im Such-Feindesign beschrieben korrekt bearbeitet.

MT#11

Server: Textur lokal abspeichern

Der Server speichert eine Textur lokal ab.

MT#12

Server: Daten übertragen

Read-Back Test mit Dummy Daten.

MT#13

Server: Hashing

Berechnete Hash-Werte sind korrekt.

MT#14

Server: Dateigröße

Dateien größer 512MB verwerfen.

Integrationstests
Testumgebung

Mehrere komplette Arbeitsaufträge für die komplette Software werden getestet. Aus einem bestimmten Ausgangspunkt muss mit den gleichen Interaktionen das gleiche Ergebnis entstehen.

Als Ausgangspunkt werden speziell präparierte Situationen gewählt, welche wiederholt werden können.

Die fehlerfreie Kommunikation innerhalb der Client- und der Server-Software wie auch die Kommunikation des Servers und des Clients werden dadurch verifiziert.

Test Definitionen

Nummer

Titel

Erklärung

IT#1

Verbindung aufbauen

Ein neu installierter Server und Client müssen eine Verbindung herstellen können.

IT#2

Alle Texturen anzeigen

Der Client muss bei einer Suche ohne angegebene Suchkriterien alle Texturen anzeigen.

IT#3

Einstelldatum

Eine Textur wird eingefügt. Danach wird manuell das Datum in die Zukunft gesetzt und wieder eine Textur eingefügt. Bei einer Suche mit dem Kriterium des anfänglichen Datums wird nur die erste Textur angezeigt.

IT#4

Textur hinzufügen

Es wird eine neue Textur ins System eingefügt. Diese muss von der Server-Software gespeichert und indexiert werden. Bei der nächsten Suchanfrage mit passenden Kriterien wird diese angezeigt.

IT#5

Textur löschen

Ein Client löscht eine Textur, diese wird auch auf dem Server gelöscht und kommt bei keinem Suchergebnis mehr vor.

IT#6

Metadaten aktualisieren

Ein Client ändert einen Tag ab und ein weiterer macht danach eine Suchanfrage mit diesem neuen Tag. Die dazugehörige Textur wird angezeigt.

IT#7

Verbindung schließen

Ein verbundener Client schließt die Verbindung und kann diese danach wieder aufbauen.

Systemtests
Testumgebung

Die Musskriterien wie auch die implementierten Wunschkriterien aus dem Pflichtenheft werden einzeln getestet. Dabei werden auf Randbedingungen wie auch auf Fehlerfälle besonders geachtet. Mittels Black-Box-Tests wird dabei der Output der kompletten Software verifiziert.

Test Definitionen

Nummer

Titel

Erklärung

ST#1

Anzahl

Es sind schon 999 Texturen ins System eingefügt. Die 1000. Textur wird hinzugefügt. Bei der nächsten Suchanfrage mit passenden Kriterien wird diese angezeigt.

ST#2

Bildformat

Texturen mit den Bildformaten JPEG und PNG können ins System eingefügt werden. Bei der nächsten Suchanfrage mit passenden Kriterien werden diese in der 2D- und 3D-Preview korrekt angezeigt.

ST#3

Metadaten

Eine Textur blue_water.png (512px x 1024px) wird hinzugefügt. Das System erfasst automatisch die Metadaten über Name, Einstelldatum und Auflösung. Tags des Nutzers werden mit diesen Metadaten und dem Bild vom Server gespeichert.

ST#4

Tags

Beim Hinzufügen einer Textur wird ein 32 Zeichen langer Name als Tag angegeben. Dieser wird akzeptiert und korrekt verwaltet.

ST#5

Tags

Beim Hinzufügen einer Textur wird ein Name eingegeben, der nur aus 1 Zeichen besteht. Dieser wird akzeptiert und korrekt verwaltet.

ST#6

Tags

Beim Hinzufügen einer Textur wird versucht ein Name eingegeben, der aus 0 Zeichen besteht. Dieser wird nicht akzeptiert.

ST#7

Filter

Bei einer Suchanfrage mit dem Kriterium eines Tags werden alle Texturen welchen diesen Tag haben angezeigt.

ST#8

Filter

Bei einer Suchanfrage mit dem Kriterium eines negierten Tags werden alle Texturen, welche diesen Tag nicht haben angezeigt.

ST#9

Filter

Bei einer Suchanfrage mit dem Kriterium einer Mindestauflösung werden alle Texturen, welche diese Mindestauflösung haben angezeigt.

ST#10

Filter

Bei einer Suchanfrage mit dem Kriterium einer Maximalauflösung werden alle Texturen, welche diese Maximalauflösung haben angezeigt.

ST#11

Filter

Bei einer Suchanfrage mit dem Kriterium eines Namen werden alle Texturen, welche diesen Namen enthalten angezeigt.

ST#12

Synchronisation

Es wird eine Textur hinzugefügt. Alle Nutzer können bei der nächsten Suchanfrage diese angezeigt bekommen.

ST#13

Synchronisation

Es wird eine Textur entfernt. Alle Nutzer können bei der nächsten Suchanfrage diese nicht mehr angezeigt bekommen.

ST#14

Synchronisation

Es wird bei einer Textur ein Tag hinzugefügt. Alle Nutzer können bei der nächsten Suchanfrage diesen Tag angezeigt bekommen.

ST#15

Synchronisation

Es wird bei einer Textur ein Tag entfernt. Alle Nutzer können bei der nächsten Suchanfrage diese Textur nicht mehr mit diesem Tag angezeigt bekommen.

ST#16

Export

Es kann eine Textur auf dem lokalen Dateisystem abgespeichert werden.

ST#17

Atomarer Upload

Während eine neue Textur hochgeladen wird, kommt es zu einem Netzwerkausfall des Clients. Die „halbe“ Textur wird vom Server verworfen.

ST#18

3D-Ansicht

Bei der Auswahl einer Textur wird eine 3D-Preview angezeigt.

ST#19

Installation

Der Server kann über ein Shell-Skript installiert und in Betrieb genommen werden.

ST#20

Installation

Der Client kann über ein Shell-Skript installiert werden.

ST#21

Update durch Paketverwaltung

Die Software kann über eine Paketverwaltung (apt) installiert und aktualisiert werden.

ST#22

Backup

Das Daten-Verzeichnis des Servers kann durch Kopieren gesichert werden.

ST#23

Backup

Der Server ist gestoppt. Das Daten-Verzeichnis des Servers kann mit einer Sicherung ersetzt werden. Danach kann der Server wieder gestartet werden.

ST#24

Automatische Konfiguration

Server und Client waren noch nie verbunden. Der Client findet automatisch innerhalb von 30 Sekunden den Server.

Akzeptanztests
Testumgebung

Als Testumgebung gilt hier wie im Lastenheft angegeben Ubuntu 18.04 (x64) für die Server- wie auch für die Client-Software. Die funktionalen wie auch nicht-funktionalen Anforderungen werden getrennt voneinander getestet. Die User-Stories werden von Endbenutzern durchgeführt.

Test Definitionen

Nummer

Titel

Erklärung

AT#1

Texturen hinzufügen

Jeder Nutzer ist in der Lage neue Texturen in die Sammlung aufzunehmen und auf den Server zu laden.

Bei doppelten Namen schlägt das Hinzufügen fehl und informiert den Nutzer. Zum Hinzufügen wählt der Nutzer eine Texturdatei aus, die auf dem Computer des Nutzers abgespeichert ist.

AT#2

Tags verwalten

Jeder Nutzer kann Tags zu beliebigen Texturen der Sammlung hinzufügen oder löschen.

AT#3

Metadaten speichern

Jede Textur in der Sammlung hat einen eindeutigen Namen, ein Einpflegedatum, eine Auflösung und kein, ein oder mehrere Tags.

AT#4

Filter

Die Sammlung aller Texturen lässt sich zur besseren Übersicht nach Metadaten filtern. Mögliche Filterkriterien sind:

das Vorhandensein von Tags

das Nichtvorhandensein von Tags

Mindestauflösung

Maximalauflösung

Filtern nach Einstelldatum

Namen

AT#5

Synchronisation

Alle in die Sammlung aufgenommenen Texturen sowie deren Metadaten sind für alle anderen Nutzer sichtbar.

AT#6

Texturen extrahieren

Jeder Nutzer kann beliebige Texturen aus der Sammlung extrahieren und in seinem lokalen Dateisystem abspeichern.

AT#7

Detailansicht

Jeder Nutzer kann von beliebigen Texturen eine 3D-Vorschau anzeigen lassen und die gesetzten Metadaten einsehen.

AT#8

Darstellung

Bei der Nutzung des Filters werden alle passenden Texturen mit einer Vorschau angezeigt.

AT#9

Anzahl von Clients

Es können mindestens 10 Clients gleichzeitig aktiv sein.

AT#10

Anzeigen von Änderungen

Neue Texturen oder geänderte Tags werden nach dem Hochladen bei einer neuen Suchanfrage anzeigt.

AT#11

Defekte Daten

Wenn es beim Übertragen von Texturen auf den Server zu einem Fehler kommt wird die Textur nicht in das System übernommen und der Benutzer wird gewarnt.

AT#12

Konfiguration, Server

Die Server-Software kann auf einem Ubuntu 18.04 (x64) ausführbar gemacht werden.

AT13

Konfiguration, Client

Die Client-Software kann auf einem Ubuntu 18.04 (x64) ausführbar gemacht werden.

AT#14

Sicherung von Daten

Alle Daten im System können durch das Kopieren eines einzelnen Ordners im Dateisystem des Servers gesichert werden.

So gesicherte Daten können wiederhergestellt werden, indem sie zurückkopiert werden und danach die Server-Software neu gestartet wird. Hierbei wird vorausgesetzt, dass die Struktur beibehalten wird.

AT#15

User-Story

Als Anwender möchte ich eine Holz-Textur finden. Ich gebe den Tag „Holz“ ein und es werden mir sofort entsprechende Texturen angezeigt.

AT#16

User-Story

Ich will einfach neue Texturen von einem Rechner in das System einfügen. Ich kennzeichne diese mit Tags, um sie für meine Kollegen auffindbar zu machen.

AT#17

User-Story

Wenn ich eine passende Textur gefunden habe, will ich diese auf meinem Rechner im Projekt abspeichern.

AT#18

User-Story

Ich will beim Hinzufügen neuer Texturen nicht viele Eigenschaften, wie z.B. Auflösung, von Hand eintippen, das soll das System zum größten Teil tun.

AT#19

User-Story

Ich möchte nur Texturen mit einer Mindestauflösung von 1024 x 1024 Pixel angezeigt bekommen.

Changelog

Version

Änderung

1.0.0

-

1.0.1

vervollständigt

1.0.2

Beschreibung der Durchführung der Phasen hinzufügt

1.0.3

weitere Testfälle hinzufügt

1.0.4

Tippfehler und Inhalt korrigiert

1.0.5

Rechtschreibung überarbeitet

1.0.6

Server Unit Tests hinzugefügt

1.0.7

Server Modultest ergänzt