Dokumentation - Vocabulary Webapplication
- Dokumentation - Vocabulary Webapplication
- Inhaltsverzeichnis
- IPERKA
- Einleitung
- Technologien
- Quellen
- Lokale Entwicklungsumgebung
- Lokale Entwicklungsumgebung aufsetzen
- Vorbereiten
- Dependencies mit NPM installieren
- Lokale Server starten
- Frontend starten
- Optional: Backend starten
- Anforderungen
- Arbeitspakete
- Ausführung
- Testen
- Testfälle
- Projektauswertung
Für dieses Projekt haben wir uns dafür entschieden, dass wir eine kleine Applikation releasieren, bei der man vokabeln in verschiedenen Sprachen lernen kann. Dabei kann man auch eigene Lernsets erstellen, verändern und löschen.
Die Seite ist unter folgender Adresse erreichbar:
Um unsere Vocabulary Webapplication zu realisieren haben wir uns dazu entschieden die folgenden Technologien zu verwenden:
- Deta Dokumenation
- Starter template for a Deta project using Node, Express and Typescript
- Chat App (Teilweise Logik und Middleware von diesem Projekt)
- Deta Dokumentation zur Migration
- Typescript Hooks erklärt
- Arrays mappen erklärt
- Typescript Crash Course
Für die Realisierung dieses Projekts haben wir Visual Studio Code mit wenigen Erweiterungen, und zwar ESLint, Prettier und Live Share verwendet. Bei der Live Share-Erweiterung haben wir keine speziellen Einstellungen vorgenommen, wobei wir bei den Erweiterungen ESLint und Prettier eine eigene Konfiguration erstellt haben, um unsere eigenen Code-Konventionen zu erzwingen. Diese Einstellungen werden automatisch übernommen, insofern man die beiden Erweiterung installiert hat und die Entwicklungsumgebung aufgesetzt hat.
Um die lokale Entwicklungsumgebung aufzusetzen, muss man sich zuerst eine Kopie vom Repository, von der offiziellen Quelle holen.
Dies kann man tun, indem man eine eigene Kopie von dem Repository erstellt (forkt), damit man später seine Änderungen auch bei GitHub pushen kann, auch wenn man kein Contributor ist.
Dadurch kann man auch die eigenen Änderungen im offiziellen Repository eingbringen, indem man eine Pull Request erstellt.
Wenn das Repository erfolgreich geforkt wurde, muss man das Repository klonen und in dessen Verzeichnis wechseln.
git clone https://github.com/[deinBenutzername]/vocabulary.git
cd vocabulary/
Für diesen Schritt ist es notwendig, die node.js-Runtime installiert zu haben. Download von node.js
Nachdem man das Projekt geklont hat, sollte man alle Dependencies installieren. Dabei muss man in das entsprechende Verzeichnis wechseln und die Abhängigkeiten installieren.
Dependencies im Frontend installieren
cd client/
npm i
cd ..
Nun sollten alle Dependencies installiert worden sein und es sollte eine Fehlermeldung erscheinen, dass es sechs verheerende Sicherheitslücken gibt. Diese sind jedoch momentan zu vernächlässigen, da es zu diesem Zeitpunkt noch keine Lösung für diese gibt [Stand: März 2023].
Optional: Dependencies im Backend installieren
Dieser Schritt ist optional, da das Projekt im Frontend ein externes Backend verwendet, welches auf deta.space gehostet wird
cd server/
npm i
cd ..
Damit das Frontend lokal auf localhost:3000 gestartet wird, muss der folgende Befehl in dem Verzeichnis des Frontends (client/) ausgeführt werden.
npm run start
Dieser Schritt ist optional, da das Projekt im Frontend ein externes Backend verwendet, welches auf deta.space gehostet wird
Damit das Backend ordnungsgemäss funktioniert müssen noch Umgebungsvariabelen angelegt werden, dafür muss man eine Datei im server/src Verzeichnis mit dem Namen .env anlegen
DETA_PROJECT_KEY: Projektschlüssel von Deta.space.
\JWT_Secret: Zufällige Zeichenkette, je länger desto besser
Optional: PORT: Eine Nummer, beispielsweise 3001, die den Port angibt auf, welchem das Backend gestartet wird.
Damit das Backend lokal auf localhost:8080 (sofern die PORT-Variabel nicht gesetzt wurde) gestartet wird, muss der folgende Befehl in dem Verzeichnis des Backends (server/) ausgeführt werden.
npm run dev
Anf.-Nr. | Muss/ Kann |
funk./ qual. |
Beschreibung |
---|---|---|---|
1 | Muss | funk. | Die Webapplikation soll ein Anmeldungsfeld haben. |
2 | Muss | funk. | Die Webapplikation soll ein Registrierungsfeld haben. |
3 | Muss | funk. | Die Anmeldung soll funktional sein. |
4 | Muss | funk. | Die Registrierung soll funktional sein. |
5 | Muss | funk. | Man kann ein eigenes Vokabelset erstellen. |
6 | Muss | funk. | Man kann das Vokabelset löschen. |
7 | Muss | funk. | Man kann die Wörter aus dem Vokabelset bearbeiten. |
8 | Muss | funk. | Man kann die Wörter aus dem Vokabelset anschauen. |
9 | Muss | funk. | Es gibt einen Lernmodus, wo man in Sitzungen, welche 10- 15 Wörter beinhalten, Wörter richtig übersetzen muss. |
10 | Muss | funk. | Im Lernmodus soll auf die Gross- und Kleinschreibung geachtet werden von der Eingabe des Benutzers. |
11 | Muss | funk. | Dem Benutzer soll direkt nach der eingabe des Wortes klar sein, ob das Wort richtig oder falsch eingegeben wurde. |
12 | Kann | qual. | Wenn die Levenshtein-Distanz 1 entspricht soll ein Pop-Up mit dem eingegebenen Wort erscheinen, welches fragt, ob er das Wort richtig eingegeben hat. |
13 | Kann | qual. | Wenn das Pop-Up mit Nein beantwortet wird kann man das Wort nochmal eingeben und bei Ja wird dir das richtige Wort und eine Meldung, die klar macht, dass das Wort falsch ist, angezeigt. |
14 | Kann | qual. | Nachdem das Wort mit der Lösung verglichen wurde kann man durch einen Knopf zur nächsten Frage gehen. |
15 | Kann | qual. | Bei der Eingabe der Wörter kann man auswählen welche Spalte welche Sprache ist. |
16 | Kann | qual. | Man kann einstellen in welcher Sprache man antworten will. |
17 | Muss | qual. | Die Passwörter wurden argon2 verschüsselt. |
18 | Muss | funk. | Die Daten sollen in Deta Datenbank gespeichert werden. |
19 | Muss | funk. | Die Daten sollen von der Datenbank geholt werden,die gerade für die Sitzung gebraucht werden. |
20 | Muss | funk. | Wenn man sich einloggt bekommt man vom Backend ein JWT-Token zugewiesen. |
21 | Muss | funk. | Wenn man sich registriert wird ein Benutzer erstellt in der Datenbank erstellt. |
1x Arbeitspaket = 45 Minuten (eine Schullektion)
1x Sitzung = 5x Arbeitspakete (ein Halbtag)
Arbeitspakete * Sitzungen * Gruppenmitglieder5 * 6 * 2 = 60 Arbeitpakete
Nr. | Frist | Beschreibung | Zeit in Arbeitspaketen (geplant) |
---|---|---|---|
1 | 03.02.2023 | Informieren (von IPERKA) | 10 |
2 | 24.06.2023 | Planen (von IPERKA) | 6 |
3 | 24.02.2023 | Entscheiden (von IPERKA) | 4 |
4 | 03.03.2023 | Realisieren (von IPERKA) der Anforderungen Nr. 1 bis 4 und 17 bis 21 | 10 |
5 | 10.03.2023 | Realisieren (von IPERKA) der Anforderungen Nr. 5 bis 10 | 10 |
6 | 17.03.2023 | Realisieren (von IPERKA) der Anforderungen Nr. 10 bis 16 | 10 |
7 | 24.03.2023 | Kontrollieren (von IPERKA) | 6 |
8 | 24.03.2023 | Auswerten (von IPERKA) | 4 |
9 | 31.03.2023 | Portfolioeintrag fertigstellen | 8 |
Nr. | Frist | Bemerkung | Zeit (geplant) | Zeit (effektiv) |
---|---|---|---|---|
1 | 03.02.2023 | Hat länger als normal gedauert, aber war noch im Rahmen. | 10 | 10 |
2 | 24.06.2023 | Wir haben mehr geplant als wir umsetzen können in der Zeit, da wir noch später an dem Projekt arbeiten wollen. | 6 | 6 |
3 | 24.02.2023 | Das Entscheiden ging recht schnell, da es sehr eindeutig war, was wir benutzen wollen. | 4 | 2 |
4 | 03.03.2023 | Wir hätten zu der neuen Version von Deta migrieren sollen, wobei es Probleme gab. | 10 | 16 |
5 | 10.03.2023 | Einer von uns hat mit Typescript in dem Projekt seine ersten Erfahrungen gemacht, darum ging es am Anfang eher langsam voran. | 10 | 20 |
6 | 17.03.2023 | Weil wir mehr geplant haben, haben wir nicht alle Anforderungen geschafft umzusetzen. | 10 | 18 |
Wir verwenden für die verschiedenen Testfälle zwei unterschiedliche Testumgebungen:
Betriebssystem:
Der Browser, mit dem wir die Tests in der Selenium-IDE ausführen, wird auf der neusten Version von Microsoft 10 (22H2) ausgeführt.
Browser:
Für den Browser verwenden wir die neuste Version von Mozilla Firefox (111.01).
Selenium-IDE:
Für die Tests mit Selenium verwenden wir die neuste Version der Selenium-IDE für Mozilla Firefox (3.17.4). Postman:
Betriebssystem:
Die Postman-Applikation, mit der wir die Tests der API-Endpoints testen, wird auf der neusten Version von Microsoft 10 (22H2) ausgeführt.
Postman:
Die Postman-Applikation verwendet die neuste Version (v10.12).
Betriebssystem:
Der Browser, mit dem wir die Tests in dem wir die Tests manuell testen, wird auf der neusten Version von Microsoft 10 (22H2) ausgeführt.
Browser:
Für den Browser verwenden wir die neuste Version von Mozilla Firefox (111.01).
Testf.-Nr. | Anforderung | Vorraussetzung | Testumgebung | Eingabe | Erw. Ausgabe |
---|---|---|---|---|---|
1.1 | 1 | Fertige Seite wurde deployed | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/login ”. | 2. Login als Titel und jeweils ein Feld für den Benutzername und das Passwort und einen Login-Knopf. |
2.1 | 2 | Fertige Seite wurde deployed | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/register ”. | 2. Registration als Titel und jeweils ein Feld für den Benutzername und das Passwort und einen Registration-Knopf. |
3.1 | 4 | Testfall Nr. 2.1 | Selenium | 1. Im Benutzernamenfeld [Eigenen Benutzernamen] eingeben und im Passwortfeld [Eigenes Passwort] eingeben. | 2. Ein Pop-up erscheint, in dem steht “You registered successfully as [Eigener Benutzername]” 3. Der Session Storage wurde mit einem JWT und dem Benutzername gefüllt. |
3.2 | 4 | Testfall Nr. 2.1 | Selenium | 1. Im Benutzernamenfeld “RelxOff” eingeben und im Passwortfeld “qwrtzuiop” eingeben. | 2. Ein Pop-up erscheint, in dem steht “There was an error: This user already exists. Please choose another username!”. |
3.3 | 4 | Testfall Nr. 2.1 | Selenium | 1. Im Benutzernamenfeld ”” eingeben und im Passwortfeld "" eingeben. | 2. Ein Pop-Up erscheint, in dem steht “Please provide your password and username!”. |
3.4 | 4 | Testfall Nr. 2.1 | Selenium | 1. Im Benutzernamenfeld “Max” eingeben und im Passwortfeld "" eingeben. | 2. Ein Pop-Up erscheint, in dem steht “Please provide your password and username!”. |
3.5 | 4 | Testfall Nr. 2.1 | Selenium | 1. Im Benutzernamenfeld "" eingeben und im Passwortfeld “Passwort” eingeben. | 2. Ein Pop-Up erscheint, in dem steht “Please provide your password and username!”. |
4.1 | 3 | Testfall Nr. 1.1 und 3.1 | Selenium | 1. Im Benutzernamenfeld "[Eigenen Benutzernamen]" eingeben und im Passwortfeld "[Eigenes Passwort]" eingeben. | 2. In dem Session Storage ist das richtige JWT und Benutzername. |
4.2 | 3 | Testfall Nr. 1.1 und 3.1 | Selenium | 1. Im Benutzernamenfeld “RelxOff” eingeben und im Passwortfeld “qwrtzuiop” eingeben. | 2. Ein Pop-Up erscheint, in dem steht “Please provide your password and username!”. |
4.3 | 3 | Testfall Nr. 1.1 und 3.1 | Selenium | 1. Im Benutzernamenfeld "" eingeben und im Passwortfeld "" eingeben. | 2. Ein Pop-Up erscheint, in dem steht “Please provide your password and username!”. |
4.4 | 3 | Testfall Nr. 1.1 und 3.1 | Selenium | 1. Im Benutzernamenfeld “Max” eingeben und im Passwortfeld "" eingeben. | 2. Ein Pop-Up erscheint, in dem steht “Please provide your password and username!”. |
4.5 | 3 | Testfall Nr. 1.1 und 3.1 | Selenium | 1. Im Benutzernamenfeld "" eingeben und im Passwortfeld “Passwort” eingeben. | 2. Ein Pop-Up erscheint, in dem steht “Please provide your password and username!”. |
5.1 | 5 | Testfall Nr. 4.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/Create ” 3. Im Titeleingabefeld ”[Eigener Titel]” eingeben 4. Auf den “Add pair of words” Button klicken. 6. In dem Begriffeingabfeld “tree” eingeben und in dem Definitionseingabefeld “Baum”. 7. Auf den “Create vocabulary set” Button klicken. |
2. Ein Eingabefeld für den Titel und ein Button um ein Wortpaar hinzuzufügen und einer um das Vokabularset zuerstellen. 5. Ein Eingabefeld für den Begriff und für die Definition erscheint. 8. Es erscheint ein Pop-up, in dem steht “Your Vocabulary has been added successfully”. |
5.2 | 5 | Testfall Nr. 4.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/Create ” 3. Im Titeleingabefeld ”” eingeben 4. Auf den “Add pair of words” Button klicken. 6. In dem Begriffeingabfeld “tree” eingeben und in dem Definitionseingabefeld “Baum”. 7. Auf den “Create vocabulary set” Button klicken. |
2. Ein Eingabefeld für den Titel und ein Button um ein Wortpaar hinzuzufügen und einer um das Vokabularset zuerstellen. 5. Ein Eingabefeld für den Begriff und für die Definition erscheint. 8. Es erscheint ein Pop-up, in dem steht “The vocabulary doesn’t have a title”. |
5.3 | 5 | Testfall Nr. 4.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/Create ” 3. Im Titeleingabefeld ”” eingeben 4. Auf den “Add pair of words” Button klicken. 6. In dem Begriffeingabfeld ”” eingeben und in dem Definitionseingabefeld "". 7. Auf den “Create vocabulary set” Button klicken. |
2. Ein Eingabefeld für den Titel und ein Button um ein Wortpaar hinzuzufügen und einer um das Vokabularset zuerstellen. 5. Ein Eingabefeld für den Begriff und für die Definition erscheint. 8. Es erscheint ein Pop-up, in dem steht “The vocabulary doesn’t have a title”. |
5.4 | 5 | Testfall Nr. 4.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/Create ” 3. Im Titeleingabefeld ”[Eigener Titel]” eingeben 4. Auf den “Add pair of words” Button klicken. 6. In dem Begriffeingabfeld “tree” eingeben und in dem Definitionseingabefeld ””. 7. Auf den “Create vocabulary set” Button klicken. |
2. Ein Eingabefeld für den Titel und ein Button um ein Wortpaar hinzuzufügen und einer um das Vokabularset zuerstellen. 5. Ein Eingabefeld für den Begriff und für die Definition erscheint. 8. Es erscheint ein Pop-up, in dem steht “There is a definition which has nothing or a space in it”. |
5.5 | 5 | Testfall Nr. 4.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/Create ” 3. Im Titeleingabefeld ”[Eigener Titel]” eingeben 4. Auf den “Add pair of words” Button klicken. 6. In dem Begriffeingabfeld ”” eingeben und in dem Definitionseingabefeld “Baum”. 7. Auf den “Create vocabulary set” Button klicken. |
2. Ein Eingabefeld für den Titel und ein Button um ein Wortpaar hinzuzufügen und einer um das Vokabularset zuerstellen. 5. Ein Eingabefeld für den Begriff und für die Definition erscheint. 8. Es erscheint ein Pop-up, in dem steht “There is a term which has nothing or a space in it”. |
6.1 | 6 | Testfall Nr. 5.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/Edit ”. 3. Auf den “Delete” Button klicken von dem Vokabularset mit dem Titel ”[Eigener Titel]”. |
2. Es erscheit ein Block mit dem Titel, Anzahl an Wörter und der Ersteller des Vokabularsets und es erscheint ein “Edit” Button und ein “Delete” Button. 4. Es wird das gleiche angezeigt, wie aus Nummer 2 ohne das gelöschte Vokabluarset |
7.1 | 7 | Testfall Nr. 5.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/Edit ”. 3. Auf den “Edit” Button klicken von dem Vokabularset mit dem Titel ”[Eigener Titel]”. 5. Das Wort “Baum” zu “Hund” ändern. 6. Auf den “Save” Button klicken. |
2. Es erscheit ein Block mit dem Titel, Anzahl an Wörter und der Ersteller des Vokabularsets und es erscheint ein “Edit” Button und ein “Delete” Button. 4. Es erscheint ein neuer Block der den Titel und die Wörter als Eingabefeld beinhält und der “Edit” und “Delete” Button werden durch eine “Save” und “Cancle” Button ersetzt. 7. Es wird das gleiche gezeigt wie in Nummer 2 ausser und der Eintrag, bei dem bearbeiteten Lernset, wurde geändert von “Hund” zu “Baum”. |
7.2 | 7 | Testfall Nr. 5.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/Edit ”. 3. Auf den “Edit” Button klicken von dem Vokabularset mit dem Titel ”[Eigener Titel]”. 5. Das Wort “Baum” zu “Hund” ändern. 6. Auf den “Cancle” Button klicken. |
2. Es erscheit ein Block mit dem Titel, Anzahl an Wörter und der Ersteller des Vokabularsets und es erscheint ein “Edit” Button und ein “Delete” Button. 4. Es erscheint ein neuer Block der den Titel und die Wörter als Eingabefeld beinhält und der “Edit” und “Delete” Button werden durch eine “Save” und “Cancle” Button ersetzt. 7. Es wird das gleiche gezeigt wie in Nummer 2. |
8.1 | 8 | Testfall Nr. 5.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/View ”. 3. Auf den Button “View [Eigenes Lernset]” klicken. |
2. Man sieht für jedes Vokabularset einen Block, wo der Titel, Ersteller und Anzahl Wörter steht und es gibt einen “View [Eigenes Lernset]” Button. 4. Es werden zusätzlich zu den Metadaten alle Wörter angezeigt mit einem “Go home” Button. |
9.1 | 9 | Testfall Nr. 5.1 | Selenium | 1. Diesen Link in der URL eingeben “https://vocabulary.sanqro.me/View ” 3. Auf den Button “Lern[Eigenes Lernset]” klicken. |
2. Man sieht für jedes Vokabularset einen Block, wo der Titel, Ersteller und Anzahl Wörter steht und es gibt einen “Lern[Eigenes Lernset]” Button. 4. Es werden alle Metadaten von dem Lernset angezeigt, die Anzahl zu lernenden Wörter für die Session, ein Eingabefeld, ein Wort zum Übersetzen, ein Knopf zum überprüfen des Wortes und einen Button, damit man die Antwort von Begriff zu Definition ändern kann. |
10.1 | 10 | Testfall Nr. 9.1 | Selenium | 1. In das Eingabefeld “baum” eingeben und auf den Button “Validate” klicken. | 2. Es kommt ein Pop-up, wo drin steht, dass die Antwort falsch ist. |
10.2 | 10 | Testfall Nr. 9.1 | Selenium | 1. In das Eingabefeld “Baum” eingeben und auf den Button “Validate” klicken. | 2. Es kommt ein Pop-up, wo drin steht, dass die Antwort richtig ist. |
11.1 | 11 | Testfall Nr. 9.1 | Selenium | 1. In das Eingabefeld “sdfsf” eingeben und auf den Button “Validate” klicken. | 2. Es kommt ein Pop-up, wo drin steht, dass die Antwort falsch ist. |
11.2 | 11 | Testfall Nr. 9.1 | Selenium | 1. In das Eingabefeld “Baum” eingeben und auf den Button “Validate” klicken. | 2. Es kommt ein Pop-up, wo drin steht, dass die Antwort richtig ist. |
12.1 | 12 | Testfall Nr. 9.1 | Selenium | 1. In das Eingabefeld “baum” eingeben und auf den Button “Validate” klicken. | 2. Es erscheint ein Pop-up, in dem steht ob man das Wort richtig geschrieben hat und man kann mit ja oder nein antworten. |
13.1 | 13 | Testfall Nr. 12.1 | Selenium | 1. Auf “Ja” klicken. | 2. Es erscheint ein Pop-up, in dem steht, dass das eingegebene Wort falsch ist. |
13.2 | 13 | Testfall Nr. 12.1 | Selenium | 1. Auf “Nein” klicken. | 2. Es erscheint das Eingabefeld, in dem man das Wort nochmal eingeben muss. |
14.1 | 14 | Testfall Nr. 13.1 | Selenium | 1. Auf “Ok” in dem Pop-up klicken. | 2. Es wird das nächste Wort angezeigt. |
15.1 | 15 | Testfall Nr. 5.1 (nur Wörter eingegeben und noch nicht auf “Save” gedrückt) | Selenium | 2. Irgendeine Sprache auswählen und auf Save drücken. | 1. Über der linken und rechten Spalte gibt es eine Drop-down Liste, mit den unterstützten Sprachen |
16.1 | 16 | Testfall Nr. 9.1 | Selenium | 2. Auf den Button “Answer with Definitons” klicken. | 1. Unter dem “Validate” Button ist ein Knopf wo man von Begriff zu Definition ändern kann. 3. Das einzugebene Wort ändert sich von “tree” zu “Baum”. |
16.2 | 16 | Testfall Nr. 16.2 | Selenium | 1. Auf den Button “Answer with Terms” klicken. | 2. Das einzugebene Wort ändert sich von “Baum” zu “tree”. |
17.1 | 17 | Postman wurde gestartet | Postman | 1. Ein POST-Request machen im JSON Format mit folgenden Inhalt: { “username”: “Maxi”, “password”: “MaxiCooli” } . |
2. In der Datenbank wurde ein Eintrag erstellt. |
18.1 | 18 | Testfall Nr. 3.1 | Per Hand | 1. “Ctrl” + “Shift” + “i” drücken und unter “Networking” auf die unterste Request drücken. | 2. In dem “Headers” unter “Response Headers” bei “Server” schauen und dort steht “Deta”. |
19.1 | 19 | Testfall Nr. 9.1 | Per Hand | 1. “Ctrl” + “Shift” + “i” drücken und unter “Networking” auf die unterste Request drücken, die sollte eine “GET-Request” sein. | 2. In der “Response” unter “JSON” in dem Array kann man die Daten sehen. |
20.1 | 20 | Testfall Nr. 3.1 | Per Hand | 1. “Ctrl” + “Shift” + “i” drücken und unter “Storage” auf die “Session Storage” und dann auf den URL der Webseite klicken. | 2. Der Value von dem Key “token” ist der JWT. |
21.1 | 21 | Testfall Nr. 4.1 | Per Hand | 1. “Ctrl” + “Shift” + “i” drücken und unter “Networking” auf die unterste Request drücken, die sollte eine “POST-Request” sein. | 2. Man sieht, dass diese Request erfolgreich war an dem Status. |
OK = Dieser Testfall wurde erfolgreich getestet.
NOK = Dieses Testfall konnte nicht (erfolgreich) getestet werden.
Test-Nr | Bericht | Tester |
---|---|---|
1.1 | OK | @sanqro, @RelxOff |
2.1 | OK | @sanqro, @RelxOff |
3.1 | OK | @sanqro, @RelxOff |
3.2 | OK | @sanqro, @RelxOff |
3.3 | OK | @sanqro, @RelxOff |
3.4 | OK | @sanqro, @RelxOff |
3.5 | OK | @sanqro, @RelxOff |
4.1 | OK | @sanqro, @RelxOff |
4.2 | OK | @sanqro, @RelxOff |
4.3 | OK | @sanqro, @RelxOff |
4.4 | OK | @sanqro, @RelxOff |
4.5 | OK | @sanqro, @RelxOff |
5.1 | OK | @sanqro, @RelxOff |
5.2 | OK | @sanqro, @RelxOff |
5.3 | OK | @sanqro, @RelxOff |
5.4 | OK | @sanqro, @RelxOff |
5.5 | OK | @sanqro, @RelxOff |
6.1 | OK | @sanqro, @RelxOff |
7.1 | OK | @sanqro, @RelxOff |
7.2 | OK | @sanqro, @RelxOff |
8.1 | OK | @sanqro, @RelxOff |
9.1 | NOK, jedoch funktioniert der Lernmodus aber die Einteilung in 10 - 15 Wörter | @sanqro, @RelxOff |
10.1 | OK | @sanqro, @RelxOff |
10.2 | OK | @sanqro, @RelxOff |
11.1 | OK | @sanqro, @RelxOff |
11.2 | OK | @sanqro, @RelxOff |
12.1 | NOK | @sanqro, @RelxOff |
13.1 | NOK | @sanqro, @RelxOff |
13.2 | NOK | @sanqro, @RelxOff |
14.1 | OK | @sanqro, @RelxOff |
15.1 | NOK | @sanqro, @RelxOff |
16.1 | OK | @sanqro, @RelxOff |
17.1 | OK | @sanqro, @RelxOff |
18.1 | OK, man kann im Quellecode sehen, wie es verschlüsselt | @sanqro, @RelxOff |
19.1 | OK | @sanqro, @RelxOff |
20.1 | OK | @sanqro, @RelxOff |
21.1 | OK | @sanqro, @RelxOff |
Es müssen noch einige Anforderungen fertig implementiert werden, bevor das Programm abgegeben werden kann.
Am Anfang des Projektes haben wir etwas länger für das Informieren gebraucht, aber wir waren noch im Rahmen der geplanten Zeit. Für einen aus unserer Gruppe war Typescript neu, darum hat es am Anfang etwas länger gebraucht, aber als er einam das Grundprinzip verstanden hat ging es gut. Wir haben die Aufgaben so aufgeteilt, dass der Erfahrene zuerst das Backend macht und der Neue macht zuerst das Frontend. Als das Backend fertig war haben wir beide am Frontend gearbeitet und konnten uns so besser austauschen. Das Erstellen von der Dokumentation ging am Anfang sehr gut, da wir wussten was wir haben wollen und mit welcher Technologie, aber am Schluss ging es nicht so gut voran, da wir nicht so gut konzentriert waren und uns viel ablenken lassen habe.