Akzeptanztest
TextureSync
Version
Datum	22.03.19
Autor	Lukas Fürderer
Projektmitglieder	Hendrik Schutter, Lukas Fürderer, Robin Willmann, Jannik Seiler

Test funktionaler Anforderungen
Nummern der Anforderungen	Testausführung
F#1, F#5	Auf einem Client werden zwei Texturen in Form einer JPEG-Datei und einer PNG-Datei ausgewählt und auf den Server hochgeladen. Auf einem zweiten Client wird eine Suchanfrage ohne Filterkriterien ausgeführt. Die Texturen müssen nun beide auf dem zweiten Client angezeigt werden.
F#1	Ein Client versucht, eine neue Textur in die Sammlung einzufügen und wählt dabei einen Namen, der bereits für eine andere Textur vergeben wurde. Das Einfügen muss fehlschlagen und eine Fehlermeldung muss auf den doppelten Namen hinweisen.
F#2, F#4, F#5	Auf einem Client wird eine bereits vorhandene Textur ausgewählt und ein Tag hinzugefügt. Auf einem zweiten Client wird nun eine neue Suchanfrage nach diesem Tag gestellt. Die Textur muss erscheinen. Nun wird nach Texturen gesucht, die dieses Tag nicht enthalten. Die Textur darf nicht auftauchen. Auf dem ersten Client wird das Tag nun entfernt. Bei einer erneuten Suche auf dem zweiten Client nach Texturen mit dem Tag darf die Textur nicht mehr auftauchen. Sucht man dagegen nach Texturen, die das Tag nicht enthalten, muss die Textur wieder erscheinen.
F#3, F#7	Wählt man auf einem Client eine Textur aus, müssen der Name, die gesetzten Tags, das Einpflegedatum, die Auflösung und eine 3D-Ansicht der Textur angezeigt werden.
F#4	Es müssen drei Texturen in der Sammlung sein, von denen zwei ein gemeinsames Stichwort im Namen enthalten. Sucht man nun nach diesem Stichwort, müssen die beiden passenden Texturen angezeigt werden, die dritte Textur darf jedoch nicht erscheinen.
F#6	Auf einem Client wird eine Textur ausgewählt und extrahiert. Die dabei gespeicherte Datei muss sich fehlerfrei mit einem Bildbetrachtungsprogramm anzeigen lassen.

Test nicht funktionaler Anforderungen
Nummern der Anforderungen	Testausführung
Q#1	Sucht man auf einem Client nach Texturen, werden alle Suchergebnisse aufgelistet und von jeder Textur wird direkt eine 2D-Vorschau angezeigt.
Q#2	Es werden 10 Clients mit dem selben Server verbunden. Eine Suchanfrage von dem als 5. gestarteten Client muss die passenden Texturen korrekt anzeigen.
Q#4	Auf einem Client innerhalb einer virtuellen Maschine mit einer limitierten Uploadgeschwindigkeit von 1MBit/s wird ein Bild mit einer Größe von etwa 1 MB eingefügt. Dabei ist mit einer Uploadzeit von 8 Sekunden zu rechnen. Während dieser Zeit wird die Netzwerkverbindung unterbrochen. Nach spätestens 1 Minute muss der Client eine Fehlermeldung anzeigen. Außerdem darf bei einer Suchanfrage von einem anderen Client kein unvollständiges Bild erscheinen.
Q#5, Q#6	Es werden zwei frische Ubuntu 18.04 Systeme installiert und per Netzwerk verbunden. Auf einer Maschine wird der Client installiert, auf der anderen Maschine der Server. Beide Installationen müssen ohne Schwierigkeiten durchlaufen. Nach einem Start von Server und Client muss der Client erfolgreich zum Server verbinden können.
Q#7	Von einem Server, auf dem bereits mindestens eine Textur mit mindestens einem Tag gespeichert ist, wird gemäß Anleitung ein Backup erstellt. Nun wird eine neue Textur eingefügt, ein bis dahin vorhandenes Tag einer Textur entfernt und ein anderes Tag hinzugefügt. Nach dem Stoppen des Servers, Zurückspielen des Backups gemäß Anleitung und erneutem Starten des Servers müssen die Änderungen seit dem Backup wieder zurückgesetzt sein.

Changelog
Version	Änderung
1.0	-
TextureSync Akzeptanztest ⸬ Version Seite 5/6