Files
obsidian/WS2425/SWT D/Ue6.md
2024-12-08 18:18:11 +01:00

64 lines
2.4 KiB
Markdown

Um die Queue zu testen, beschreiben wir verschiedene Testfälle. Bei einer Arraylänge von 3 können wir den Speicherplatz optimal nutzen, indem wir das Verhalten des Ringspeichers in verschiedenen Zuständen der Queue (voll, leer, teilweise gefüllt) prüfen. Wir definieren die Eingaben, die erwarteten Rückgabewerte sowie den logischen Zustand des Arrays für jeden Testfall.
### Testfälle
1. **Testfall 1: Enqueue in eine leere Queue**
- **Aktion:** `enqueue(1)`
- **Erwartetes Ergebnis:** Keine Rückgabe.
- **Array-Zustand:** `[1, -, -]`
2. **Testfall 2: Zweiter Wert wird hinzugefügt**
- **Aktion:** `enqueue(2)`
- **Erwartetes Ergebnis:** Keine Rückgabe.
- **Array-Zustand:** `[1, 2, -]`
3. **Testfall 3: Dritter Wert wird hinzugefügt (Queue voll)**
- **Aktion:** `enqueue(3)`
- **Erwartetes Ergebnis:** Keine Rückgabe.
- **Array-Zustand:** `[1, 2, 3]`
4. **Testfall 4: Dequeue von voller Queue**
- **Aktion:** `dequeue()`
- **Erwarteter Rückgabewert:** `1`
- **Array-Zustand:** `[-, 2, 3]`
5. **Testfall 5: Enqueue bei fast voller Queue**
- **Aktion:** `enqueue(4)`
- **Erwartetes Ergebnis:** Keine Rückgabe.
- **Array-Zustand:** `[4, 2, 3]` (da das Array als Ring organisiert ist, wird 4 am Anfang gespeichert)
6. **Testfall 6: Dequeue**
- **Aktion:** `dequeue()`
- **Erwarteter Rückgabewert:** `2`
- **Array-Zustand:** `[4, -, 3]`
7. **Testfall 7: Enqueue, um die Queue zu füllen**
- **Aktion:** `enqueue(5)`
- **Erwartetes Ergebnis:** Keine Rückgabe.
- **Array-Zustand:** `[4, 5, 3]`
8. **Testfall 8: Enqueue, das Überschreiben auslöst**
- **Aktion:** `enqueue(6)`
- **Erwartetes Ergebnis:** Keine Rückgabe.
- **Array-Zustand:** `[4, 5, 6]` (ältester Wert `3` wurde überschrieben)
9. **Testfall 9: Dequeue nach Überschreiben**
- **Aktion:** `dequeue()`
- **Erwarteter Rückgabewert:** `4`
- **Array-Zustand:** `[-, 5, 6]`
10. **Testfall 10: Weiteres Dequeue**
- **Aktion:** `dequeue()`
- **Erwarteter Rückgabewert:** `5`
- **Array-Zustand:** `[-, -, 6]`
11. **Testfall 11: Letztes Dequeue zum Leeren der Queue**
- **Aktion:** `dequeue()`
- **Erwarteter Rückgabewert:** `6`
- **Array-Zustand:** `[-, -, -]` (Queue ist jetzt leer)
12. **Testfall 12: Dequeue von leerer Queue**
- **Aktion:** `dequeue()`
- **Erwartetes Ergebnis:** Fehler wird signalisiert, da die Queue leer ist.