Dieser Guide hilft dir, den kompletten Multi-Feedback Workflow manuell zu testen.
Die automatisierten Tests sind komplex wegen ILIAS CLI/Session-Handling. Dieser manuelle Workflow ist:
- ✅ Schnell durchführbar (5-10 Minuten)
- ✅ Deckt alle kritischen Funktionen ab
- ✅ Einfach zu wiederholen
- ✅ Zeigt dir genau was funktioniert
-
Erstelle Übung:
- Repository → Neues Objekt → Übung
- Titel:
TEST_MultiFeedback_Individual
-
Erstelle Assignment:
- In der Übung → Neues Assignment
- Typ: Upload (Individual)
- Titel:
TEST_Upload_Individual - Abgabefrist: In 1 Woche
-
Erstelle 3 Test-User (oder nutze existierende):
- User 1:
test_student_1 - User 2:
test_student_2 - User 3:
test_student_3 - Füge alle zur Übung hinzu
- User 1:
-
Erstelle Abgaben:
- Logge dich als User 1 ein
- Gehe zur Übung → Assignment
- Lade eine Datei hoch:
hausaufgabe.txt - Inhalt:
Das ist meine Lösung - Student 1 - Wiederhole für User 2 und 3
-
Download Multi-Feedback ZIP:
- Logge dich als Tutor/Admin ein
- Gehe zur Übung → Assignment
- Klicke Multi-Feedback Button (sollte mit 0ms erscheinen!)
- Warte auf ZIP-Download
- ✅ Erwartung: ZIP wird heruntergeladen
-
Entpacke und prüfe Struktur:
feedback_zip/ ├── test_student_1/ │ ├── hausaufgabe.txt │ └── feedback.txt ├── test_student_2/ │ ├── hausaufgabe.txt │ └── feedback.txt └── test_student_3/ ├── hausaufgabe.txt └── feedback.txt- ✅ Erwartung: Ordner-Struktur korrekt
-
Ändere Dateien (simuliere Korrekturen):
- Öffne
test_student_1/hausaufgabe.txt - ÄNDERE den Inhalt:
KORRIGIERT: Das ist jetzt richtig! - Speichere die Datei
- WICHTIG: Ändere NUR die Datei von User 1!
- User 2 und 3 bleiben unverändert
- Öffne
-
Erstelle neues ZIP:
- Markiere alle 3 User-Ordner
- Erstelle ZIP:
feedback_modified.zip
-
Upload geändertes ZIP:
- Gehe zurück zur Übung (als Tutor)
- Upload das
feedback_modified.zip - Warte auf Verarbeitung
- ✅ Erwartung: "Upload erfolgreich" Message
-
Verifiziere Ergebnisse:
- Gehe zu Assignment → Submissions
- Prüfe User 1:
- ✅ Erwartung: Datei heißt jetzt
hausaufgabe_korrigiert.txt - ✅ Erwartung: Inhalt ist geändert
- ✅ Erwartung: Datei heißt jetzt
- Prüfe User 2 & 3:
- ✅ Erwartung: Dateien heißen noch
hausaufgabe.txt(OHNE _korrigiert!) - ✅ Erwartung: Inhalt unverändert
- ✅ Erwartung: Dateien heißen noch
- Multi-Feedback Button erscheint sofort (0ms)
- ZIP-Download funktioniert
- ZIP-Struktur korrekt
- Upload funktioniert
- Geänderte Datei hat
_korrigiertSuffix - Unveränderte Dateien behalten Original-Namen
- Checksum-Detection funktioniert
-
Erstelle Team-Übung:
- Repository → Neues Objekt → Übung
- Titel:
TEST_MultiFeedback_Team
-
Erstelle Team-Assignment:
- Typ: Upload (Team)
- Titel:
TEST_Upload_Team - Min Team Size: 2
- Max Team Size: 3
-
Erstelle 6 Test-User (oder nutze existierende)
-
Erstelle 2 Teams:
- Team 1: "Gruppe A" (User 1, 2, 3)
- Team 2: "Gruppe B" (User 4, 5, 6)
-
Erstelle Team-Abgaben:
- Als User 1 (Team 1): Lade
team_bericht.pdfhoch - Als User 4 (Team 2): Lade
team_bericht.pdfhoch
- Als User 1 (Team 1): Lade
-
Download Multi-Feedback ZIP:
- Klicke Multi-Feedback Button
- ✅ Erwartung: ZIP mit 2 Team-Ordnern
-
Prüfe Struktur:
feedback_zip/ ├── Gruppe_A/ │ ├── team_bericht.pdf │ └── feedback.txt └── Gruppe_B/ ├── team_bericht.pdf └── feedback.txt -
Ändere Team 1 Datei:
- Ändere
Gruppe_A/team_bericht.pdf - Lasse Team 2 unverändert
- Ändere
-
Upload geändertes ZIP
-
Verifiziere:
- Team 1:
team_bericht_korrigiert.pdf - Team 2:
team_bericht.pdf(unverändert)
- Team 1:
- Team-ZIP enthält Team-Namen als Ordner
- Team-Abgaben korrekt zugeordnet
- Geänderte Team-Datei hat
_korrigiertSuffix - Unveränderte Team-Datei behält Original-Namen
- Erstelle Assignment mit Multiple File Types
- Lade verschiedene Dateitypen hoch:
code.php(Text)solution.txt(Text)diagram.png(Binär)report.pdf(Binär)
- Download Multi-Feedback ZIP
- Ändere
code.phpundsolution.txt - Lasse
diagram.pngundreport.pdfunverändert - Upload ZIP
code_korrigiert.php✅solution_korrigiert.txt✅diagram.png(unverändert) ✅report.pdf(unverändert) ✅
- Text-Dateien korrekt erkannt
- Binär-Dateien korrekt behandelt
- Alle Dateitypen funktionieren
- Erstelle Assignment mit vielen Submissions (20-50 User)
- Klicke Multi-Feedback Button
- Messe Zeit:
- Button erscheint: < 100ms ✅
- ZIP generiert: < 30 Sekunden ✅
- Modal lädt: < 3 Sekunden ✅
- Button erscheint instant (0ms delay)
- Große ZIPs generieren in akzeptabler Zeit
- Keine Timeouts
- Gzip-Kompression aktiv (check Network Tab)
Lösung:
- Prüfe Logs:
/var/log/ilias/ilias.log - Prüfe PHP memory_limit
- Prüfe tmp-Verzeichnis Permissions
Lösung:
- Prüfe ob Datei wirklich geändert wurde
- Prüfe Logs für Checksum-Meldungen
- Verifiziere dass physical rename funktioniert
Lösung:
- Prüfe ZIP-Struktur (muss Original-Struktur haben)
- Prüfe Dateirechte
- Prüfe Upload-Größen-Limit
Bekannt: README.md hat spezielle ILIAS-Behandlung Status: Akzeptabel, andere Dateien funktionieren
Für schnelle Smoke-Tests nach Code-Änderungen:
- Erstelle Übung mit 2 Studenten
- Download Multi-Feedback ZIP
- Ändere 1 Datei
- Upload ZIP
- Prüfe: Datei hat
_korrigiertSuffix
Zeit: ~3 Minuten
Nach dem Testen kannst du diesen Report ausfüllen:
# Test Report - [Datum]
## Test 1: Individual Workflow
- [ ] PASS / [ ] FAIL
- Kommentar: ___________
## Test 2: Team Workflow
- [ ] PASS / [ ] FAIL
- Kommentar: ___________
## Test 3: Dateitypen
- [ ] PASS / [ ] FAIL
- Kommentar: ___________
## Test 4: Performance
- [ ] PASS / [ ] FAIL
- Button Delay: ___ms
- ZIP Generation: ___s
## Gefundene Bugs:
1. ___________
2. ___________
## Notizen:
___________
Nach erfolgreichem Manual Testing:
- Teste auf Production-ähnlicher Umgebung
- Teste mit echten User-Daten (klein)
- Erstelle Video-Demo für Dokumentation
- Schreibe User-Guide für Tutoren
Happy Testing! 🎉
Fragen? Probleme? Check die Logs:
tail -f /var/log/ilias/ilias.log