swt23w23/src/main/asciidoc/cross_testing_report_for_g22.adoc
Simon Bruder f21b9ba3af
Add cross testing report for group 22
Co-authored-by: Denis Natusch <denis.natusch@mailbox.tu-dresden.de>
Co-authored-by: Eren Asker <eren.asker@mailbox.tu-dresden.de>
Co-authored-by: Erik Hohlfeld <erik.hohlfeld@mailbox.tu-dresden.de>
Co-authored-by: Mathis Kral <mathis_tiberius.kral@mailbox.tu-dresden.de>
Co-authored-by: Paul Heimer <heimerp54@gmail.com>
Co-authored-by: Theo Reichert <theo.reichert@mailbox.tu-dresden.de>
2024-01-17 15:45:50 +01:00

303 lines
13 KiB
Plaintext

// SPDX-License-Identifier: CC-BY-4.0
// SPDX-FileCopyrightText: 2023-2024 swt23w23
// To be able to publish this report in the repository under a free license,
// the system under test section had to be taken out,
// and some other sections had to be rewritten.
// The original report has been given to the other group.
== Cross-Testing
*Durchführende Gruppe:* 23 +
*Anwendung von Gruppe:* 22
=== Getestetes System
(Siehe Pflichtenheft Gruppe 22)
=== Fehler-Report
Vom Tabellenformat wurde abgewichen, da dies sehr unübersichtlich wäre.
==== Probleme beim Brausen
===== Authentifikation
*Pfad*: `+/+` +
*Parameter*: unauthentifiziert +
*Beschreibung*: *F0010:* Laut Anforderungsbeschreibung soll das System bei jedem Aufruf eine Authentifizierung verlangen. Dies ist eindeutig nicht der Fall. Evtl. falsche Anforderung? +
*Rückgabe*: Startseite (nicht Login-Seite)
*Pfad*: `+/stock+` u.a. +
*Parameter*: unauthentifiziert +
*Beschreibung*: Wird zwar in Navbar nicht angezeigt, jedoch dennoch aufrufbar +
*Rückgabe*: Stock (nicht Login-Seite)
===== Registrierung mit bestehender E-Mail-Adresse
*Pfad*: `+/register+` +
*Parameter*: `+1234@email.com+`,`+123+` +
*Beschreibung*: *F0021:* Die bereits hinterlegte Email wird abgeleht, aber in Form eines Crash. +
*Rückgabe*: `+java.lang.IllegalArgumentException: A different UserAccount with email 1234@email.com already exists!+`
===== Überbestellung
*Pfad*: `+/catalog/*/detail+`, `+/cart+` +
*Parameter*: * +
*Beschreibung*: *F0100, F0230:* Kein Schutz vor Überbestellung im Backend (es ist möglich, mit 2 Nutzern mehr Items/Personal in den Warenkorb zu legen, als es im Inventar gibt und diese dann auch zu bestellen) +
*Rückgabe*:
image:https://pad.sbruder.de/uploads/0dee8ff3-b7c9-48f8-a650-a814e61c58eb.png[https://pad.sbruder.de/uploads/0dee8ff3-b7c9-48f8-a650-a814e61c58eb]
image:https://pad.sbruder.de/uploads/ea4e9aa2-bf6c-460b-b471-953c7d771267.png[https://pad.sbruder.de/uploads/ea4e9aa2-bf6c-460b-b471-953c7d771267]
image:https://pad.sbruder.de/uploads/06cb0c26-97d4-4d7b-bad3-8c2d51c2e342.png[https://pad.sbruder.de/uploads/06cb0c26-97d4-4d7b-bad3-8c2d51c2e342]
===== Negative Artikelzahl
*Pfad*: `+/catalog/*/detail+`, `+/cart+` +
*Parameter*: * +
*Beschreibung*: *F0230*: Es ist möglich, eine negative Anzahl an Artikeln in den Einkaufskorb zu legen und diese auch zu bestellen (keine Validierung im Backend, siehe link:###globale-probleme[Soviet Russia (Globale Probleme)]. +
*Rückgabe*:
image:https://pad.sbruder.de/uploads/e44ec25b-d481-44da-acc6-aed64f7302b6.png[https://pad.sbruder.de/uploads/e44ec25b-d481-44da-acc6-aed64f7302b6]
image:https://pad.sbruder.de/uploads/fbbb1b9c-7153-41e4-9c80-7acc96c320b5.png[https://pad.sbruder.de/uploads/fbbb1b9c-7153-41e4-9c80-7acc96c320b5]
===== Unpassender Artikel
*Pfad*: `+/catalog/MobileBreakfast/detail+` +
*Parameter*: `+date=2024-02+` +
*Beschreibung*: *F0120:* „Unpassender“ Artikel in den Buchungsoptionen. Kummer-Nummer: `+116 111+` +
*Rückgabe*:
image:https://pad.sbruder.de/uploads/9eff528d-0fd5-42cf-8e14-f06720e6bb7a.png[https://pad.sbruder.de/uploads/9eff528d-0fd5-42cf-8e14-f06720e6bb7a]
===== Archivierung nicht möglich
*Pfad*: * +
*Parameter*: * +
*Beschreibung*: *F0243/F0310:* Die Option zur manuellen Archivierung konnte nicht gefunden werden. Folglich konnte die Option `+abgeschlossen+` in der Ansicht nicht überprüft werden. +
*Rückgabe*: *
===== Unintuitive Gestaltung des Kalenders
*Pfad*: `+/calendar+` +
*Parameter*: * +
*Beschreibung*: Unintuitive Gestaltung des Kalenders, Datum sowie Uhrzeiteingabe am Datum-Filter (ohne Funktion) +
*Rückgabe*:
image:https://pad.sbruder.de/uploads/01d50dc8-adc9-41e3-b542-d8036c979e0d.png[https://pad.sbruder.de/uploads/01d50dc8-adc9-41e3-b542-d8036c979e0d]
image:https://pad.sbruder.de/uploads/b826446c-9b58-4233-9dc6-6de4ad1d720e.png[https://pad.sbruder.de/uploads/b826446c-9b58-4233-9dc6-6de4ad1d720e]
===== Falsches Tabellen-Rendering
*Pfad*: `+/catalog/*/detail+` +
*Parameter*: * +
*Beschreibung*: Falsches Markup führt zu Problem bei Tabellen-Rendering +
*Rückgabe*: image:https://pad.sbruder.de/uploads/f4cc211a-5708-4f6e-aea9-11b5cbb92a53.png[https://pad.sbruder.de/uploads/f4cc211a-5708-4f6e-aea9-11b5cbb92a53]
===== Ungültiger Standardwert für Menge
*Pfad*: `+/catalog/*/detail+` +
*Parameter*: * +
*Beschreibung*: Ungültiger Standardwert für `+value+` (führt bei manchen Browsern zu falscher Darstellung, ist aber in jedem Fall nicht korrekt) +
*Rückgabe*: image:https://pad.sbruder.de/uploads/98988fe4-0c43-4fc1-859a-bb0f2af8c01b.png[https://pad.sbruder.de/uploads/98988fe4-0c43-4fc1-859a-bb0f2af8c01b]
===== Keine Fehlermeldung bei Datum in Vergangenheit
*Pfad*: `+/catalog/PartyService+` +
*Parameter*: Datum in der Vergangenheit +
*Beschreibung*: Keine Fehlermeldung wird angezeigt +
*Rückgabe*: Seite wird erneut aufgerufen, Eingaben verworfen, keine Fehlermeldung angezeigt.
===== Längenbeschränkung bei Registrierung unklar/nicht vorhanden
*F0021*:
Inwiefern „Längenüberschreitungen“ geprüft werden sollen, ist nicht klar
(kann daher also nicht genau geprüft werden).
Weder Template noch Code enthalten derartige Funktionalität.
===== Löschen von bereits bestellten Produkten schlägt fehl
*Pfad*: `+/stock+` +
*Parameter*: Klick auf Mülleimer neben Produkt, was bereits bestellt wurde +
*Beschreibung*: *F0340*: Sollte nach Pflichtenheft Produkt tatsächlich löschen +
*Rückgabe*: Crasht mit Standard-Seite (nicht freundlich)
===== Buchungen werden nach Inventaränderung nicht validiert/gelöscht
*Pfad*: `+/stock+` +
*Parameter*: Reduzieren eines in einer zukünftigen Buchung verwendeten Zubehör erst auf 1, dann auf 0 +
*Beschreibung*: *F0350*: Bei Reduktion auf 1 bleibt die Buchung mit voller Anzahl erhalten, bei Reduktion auf 0 crasht die Applikation +
*Rückgabe*: video::https://salespointframework.org/stock-reduction-crash.mp4[]
===== Kalender von Personal kann nicht eingesehen werden
*F0360*: Weder auf `+/staff+` noch auf `+/calendar+` sehe ich eine Option dazu.
===== Boss kann nicht Gehalt und Stundenlohn anzeigen
*Pfad*: `+/staff+` +
*Parameter*: * +
*Beschreibung*: *F0370*: Es wird lediglich „salary“ angezeigt +
*Rückgabe*: s.o.
===== Feuern von verplanten Mitarbeitern nicht möglich
*Pfad*: `+/staff+` +
*Parameter*: Löschen eines verbuchten Mitarbeites +
*Beschreibung*: Soll nach *F0390* möglich sein +
*Rückgabe*: Hat keinen Effekt, es wird auch keine Fehlermeldung angezeigt
===== `+Consumable+` können nicht ohne Nebeneffekte hinzugefügt werden
*Pfad*: `+/stock+` +
*Parameter*: Hinzufügen eines Consumable +
*Beschreibung*: Soll nach *F0320* ein Consumable hinzufügen +
*Rückgabe*: Fügt Consumable _und_ Rentable hinzu
video::https://salespointframework.org/consumable-only.mp4[]
===== Unintuitives Löschen von Bestellungen
*Pfad*: `+/editorderhistory+` +
*Parameter*: * +
*Beschreibung*: Wählt man keine Produkte aus, löscht der Mülleimer-Button direkt die ganze Bestellung ohne Warnung oder Bestätigungsanforderung an den Nutzer. +
*Rückgabe*: Bestellung wird gelöscht
===== Leere Bestellungen
*Pfad*: `+/catalog/*+` +
*Parameter*: * +
*Beschreibung*: Man kann leere Bestellungen erstellen, wenn man einen Gegenstand 0 mal bestellt und die Bestellung danach in den Warenkorb hinzufügt. +
*Rückgabe*: Leere Bestellung in "`/cart`"
==== Globale Probleme
Hier werden Pfad und Parameter weggelassen, da sie für diese Probleme unerheblich sind.
===== Message-Namen bei unbekannter locale
Werden nicht angezeigt, nur Platzhalter. Führt auf Startseite dazu, dass Anmelde- und Registrierungslink nicht angezeigt wird (letzteres evtl. *F0020*).
image:https://pad.sbruder.de/uploads/83ab1c5e-cdcd-4a56-a711-37e02e520bce.png[https://pad.sbruder.de/uploads/83ab1c5e-cdcd-4a56-a711-37e02e520bce]
===== Datenschutz CDN
Keine datenschutzkonforme Einbindung von Boostrap (über CDN ohne vorherige Einwilligung)
===== Persistenz-Crash
Applikation crasht bei zweitem Start mit aktivierter Persistenz. Dadurch ist Persistenz de facto nicht gegeben.
Start mit `+java -jar swt23w22-1.0.0.BUILD-SNAPSHOT.jar --spring.config.name=test+`
`+test.properties+` (angepasst nach developer documentation auf Basis der `+application.properties+` in jar):
....
spring.datasource.url=jdbc:h2:./db/cateringservice
spring.jpa.hibernate.ddl-auto=update
salespoint.authentication.login-via-email=true
....
Logs:
....
Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-12-20T13:08:21.368Z ERROR 2 --- [ main] o.s.boot.SpringApplication : Application run failed
java.lang.IllegalStateException: Failed to execute ApplicationRunner
[snip]
Caused by: org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result: 2
....
===== Browser-Anforderungen
Browser-Anforderungen in Entwicklerdokumentation zu niedrig angesetzt, z.B. siehe Video für `+date+`-Input-Feld, welches erst von https://caniuse.com/input-datetime[Firefox 57] unterstützt wird, nicht von Firefox 4.0
video::https://salespointframework.org/datetime-input.mp4[]
===== Sprache
Sprache der Applikation nicht konsistent (schwankt zwischen Deutsch und Englisch)
image:https://pad.sbruder.de/uploads/07e41dc8-5b37-437a-bafc-a2f022e12a8b.png%20=x350[https://pad.sbruder.de/uploads/07e41dc8-5b37-437a-bafc-a2f022e12a8b]
===== Katalog für nicht angemeldete Nutzer
Katalog wird für nicht angemeldete Nutzer in der Menüleiste angezeigt, kann aber nicht angesehen werden (Link zur Registrierung ist zudem nicht klickbar)
image:https://pad.sbruder.de/uploads/c85bbe92-3183-49b7-96e6-2479697e3bf7.png%20=500x[https://pad.sbruder.de/uploads/c85bbe92-3183-49b7-96e6-2479697e3bf7]
===== Arbeitsstunden und Arbeitszeiten von Personal anpassen nicht möglich
*F0380* ist recht ungenau formuliert, jedoch kann ich keine derartige Funktionalität finden.
===== Rechnung wird nicht als E-Mail versendet
Wird von *F0244* verlangt, ist aber offensichtlich nicht der Fall.
===== Nicht verfügbare Ressourcen werden eingebunden
image:https://pad.sbruder.de/uploads/2cb4b234-231b-4087-9045-58d1a370035f.png[https://pad.sbruder.de/uploads/2cb4b234-231b-4087-9045-58d1a370035f]
(`+NS_ERROR_CORRUPTED_CONTENT+` heißt hier: CSS/JS erwartet, HTML erhalten; dazu wird 404 zurückgegeben, hier im Netzwerkinspektor nicht sichtbar)
===== In Soviet Russia, catering service pays you!
In dieser Demonstration werden folgende Probleme kombiniert:
* Stock kann von jeder Person gesehen und bearbeitet werden
* Rabatte können außerhalb von latexmath:[[0;100]] liegen
* Backend validiert dies nicht
video::https://salespointframework.org/youpayme.mp4[]
===== F0241
Erstellung einer Buchung pro Service aus dem Warenkorb.
image:https://pad.sbruder.de/uploads/c3676d34-7037-41f1-9dc7-519f8c0789de.png[im Warenkorb des bestellenden Nutzers]
Bestellung
image:https://pad.sbruder.de/uploads/ddb569c9-f51c-4434-b3ea-47a5dcc1d44e.png[als
bestellender Nutzer nach der Bestellung]
image:https://pad.sbruder.de/uploads/40de60c7-a1a9-4ad9-abce-e926bed89dfc.png[als
Admin nach der Bestellung]
Da nirgends eine Definition von des Begriffs _Buchung_ oder im Webinterface das Wort Buchung in den gezeigten Screenshots auftaucht, nehme ich "`Bestellung`" als ein Synonym dafür an.
Da nach den Screenshots eine "`Order-ID`"/"`Bestellnummer`".
Damit wäre F0421 verfehlt.
===== F0242
Bezahlen einer angelegten Buchung, Markierung mit Status „ausstehend“.
image:https://pad.sbruder.de/uploads/e75e1d1b-6a8c-48b5-a3c4-8089652c3b22.png[https://pad.sbruder.de/uploads/e75e1d1b-6a8c-48b5-a3c4-8089652c3b22]
Wo kann man den _Status_ ändern?
* als Admin scheint es über das Stifticon nicht zu gehen
* als bestellender Nutzer ist scheinbar nur noch eine Art Rechnung der Bestellung downloadbar
===== F0530
Änderung der persönlichen Daten ist nicht möglich:
image:https://pad.sbruder.de/uploads/f1848c06-f291-47d3-9e37-bd06730c9d83.png[https://pad.sbruder.de/uploads/f1848c06-f291-47d3-9e37-bd06730c9d83]
===== F0520
Kein Login für Mitarbeiter möglich.
===== F0510
Kein Login für Mitarbeiter möglich.
=== Sonstiges
* Optik recht spartanisch, keine Verwendung des eingebundenen Bootstrap, CSS recht repetetiv und nicht unbedingt idiomatisch
* Fehlende Features s.o.
* Usability auf Mobilgeräten sehr schlecht: image:https://pad.sbruder.de/uploads/5f5ceb4e-708f-4a37-af02-bc79291af280.png[https://pad.sbruder.de/uploads/5f5ceb4e-708f-4a37-af02-bc79291af280]
* Formatierung der Uhrzeit in der Rechnungsanzeige von "`/userprofile`" inkorrekt bspw. wird "`Rechnung von 5.1.2024 *13:2* Uhr.`" angezeigt anstatt "`13:02 Uhr`"
=== Verbesserungsvorschläge
* Verwirrende Terminologie: Inventar/Stock
* Verwirrende Terminologie: „Menü“ als Überschrift im Inventar (nicht direkt klar, was das sein soll), „Consumable“ beim Hinzufügen (anderer Begriff)
* Verwirrende Terminologie: Gehalt/Lohn (im F0370 werden beide Begriffe separat verwendet, implementiert ist jedoch Gehalt, jedoch mit einem Betrag, der eher auf Lohn schließen lässt)
* Da nirgends eine Definition von des Begriffs _Buchung_ oder im Webinterface das Wort Buchung in den gezeigten Screenshots auftaucht, nehme ich "`Bestellung`" als ein Synonym dafür an. (F0421)