- 1 Section
- 9 Lessons
- unbegrenzt
- AP Teil 2 – Situationsaufgaben FIAE9
- 1.1Format und Bewertung AP Teil 2 FIAE
- 1.2Situationsaufgabe: Datenbankentwicklung
- 1.3Situationsaufgabe: OOP-Implementierung
- 1.4Situationsaufgabe: API-Design
- 1.5Situationsaufgabe: Testkonzept
- 1.6Situationsaufgabe: Software-Architektur
- 1.7Situationsaufgabe: Secure Coding
- 1.8Situationsaufgabe: HTML/CSS/JS Frontend
- 1.9Fachgespräch vorbereiten
Situationsaufgabe: Testkonzept
Softwaretests sind keine Nebensache – sie sind ein eigenständiger Prüfungsschwerpunkt im FIAE AP Teil 2. Die Aufgabe verlangt, dass du ein Testkonzept für einen konkreten Code entwickeln kannst: Äquivalenzklassen und Grenzwerte ermitteln, Testfälle formulieren, Unit-Tests implementieren und Testarten unterscheiden. Diese Lektion arbeitet eine vollständige Testkonzept-Situationsaufgabe durch.
1) Das Szenario
Betrieb: Die PharmaLog GmbH entwickelt eine Lagerbestandsverwaltung für Medikamente. Du übernimmst die Qualitätssicherung.
Zu testende Funktion:
/** * Prüft ob eine Bestellmenge gültig ist. * @param menge Bestellmenge (muss zwischen 1 und 1000 liegen) * @param bestand Aktueller Lagerbestand (muss >= 0 sein) * @returns true wenn Bestellung ausgeführt werden kann * @throws IllegalArgumentException wenn bestand < 0 */ boolean bestellungValidieren(int menge, int bestand)
Regeln (aus Anforderungsdokumentation):
- Menge muss zwischen 1 und 1000 (jeweils inklusiv) liegen
- Bestand muss ≥ 0 sein, sonst Exception
- Bestellung kann ausgeführt werden wenn: menge gültig UND bestand ≥ menge
- Bei menge = 0, negativer Menge oder menge > 1000: gibt false zurück
2) Teilaufgaben mit Musterlösungen
3) Die Test-Pyramide
Klick eine Ebene für Details:
4) Testmethoden – Schwarzbox vs. Weißbox
| Methode | Beschreibung | Techniken | Wann einsetzen |
|---|---|---|---|
| Schwarzbox-Test | Tester kennt den Code nicht – nur Eingabe und erwartete Ausgabe bekannt (Anforderungsbasiert) | Äquivalenzklassen, Grenzwertanalyse, Entscheidungstabellen | Funktionale Tests, Akzeptanztests, wenn Code nicht bekannt |
| Weißbox-Test | Tester kennt den Code – Tests decken Pfade, Verzweigungen, Bedingungen im Code ab | Anweisungsüberdeckung, Zweigüberdeckung, Pfadüberdeckung | Unit-Tests, Code-Review-ergänzende Tests |
| Graubox-Test | Kombination: Tester kennt Teile der internen Struktur | Kombination aus obigen | API-Tests, Integrationstests |
5) Typische Fehler in Testaufgaben
- Äquivalenzklassen nicht vollständig. Immer gültige UND ungültige Klassen aufstellen. Ungültige Klassen werden häufig vergessen.
- Grenzwerte nur von einer Seite. Immer beide Seiten: genau an der Grenze, einen darunter, einen darüber. Bei Menge 1–1000: teste 0, 1, 2, 999, 1000, 1001.
- Unit-Tests ohne Assert. Ein Unit-Test ohne
assertEqualsoderassertTrueist kein Test – er läuft immer grün. - Kein Test für Fehlerfälle. Exception-Tests (erwartet Exception bei ungültiger Eingabe) sind mindestens genauso wichtig wie Happy-Path-Tests.
- Testfall-Beschreibung fehlt. Jeder Testfall braucht: ID, Beschreibung, Eingabewerte, Erwartetes Ergebnis. Ohne das fehlen Punkte.
Zusammenfassung
Testkonzept-Aufgaben folgen immer: (1) Äquivalenzklassen (gültige + ungültige für jeden Parameter), (2) Grenzwertanalyse (Werte an den Grenzen, darunter und darüber), (3) Testfälle-Tabelle mit ID, Eingabe, Erwartung, (4) Unit-Test-Code (JUnit/pytest/NUnit). Testarten kennen: Unit, Integration, E2E. Schwarzbox vs. Weißbox unterscheiden.
Verwandte Lektionen: Situationsaufgabe OOP · Situationsaufgabe Secure Coding · Äquivalenzklassen · und mehrWeitere relevante LektionenUnit-TestsGrenzwertanalysePrüfungssimulation FIAE
