Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
modul:m450:learningunits:lu01:aufgaben:testfaelle [2026/11/11 09:13] – Eingaben an Webseite inheritance.html angepasst: Feldnamen und Eingabeformate definiert adminmodul:m450:learningunits:lu01:aufgaben:testfaelle [2026/11/11 13:41] (aktuell) – 8 Testfälle, Äquivalenzklassen und Grenzwerte ergänzt admin
Zeile 1: Zeile 1:
 ====== LU01.A01 - Testfälle erstellen ====== ====== LU01.A01 - Testfälle erstellen ======
 <WRAP center round info 60%> <WRAP center round info 60%>
-Erstellt in Zweiergruppen 6 Testfälle für das Programm "British Inheritance Tax". Anschliessend tauscht ihr sie mit einer anderen Gruppe aus und führt deren Testfälle in der Aufgabe [[.:testprotokoll]] durch.+Bildet in Zweiergruppen Äquivalenzklassen und erstellt daraus 8 Testfälle für das Programm "British Inheritance Tax". Anschliessend tauscht ihr sie mit einer anderen Gruppe aus und führt deren Testfälle in der Aufgabe [[.:testprotokoll]] durch.
 </WRAP> </WRAP>
  
 ===== Auftrag ===== ===== Auftrag =====
-Arbeitet zu zweit. Mit euren Testfällen sollen möglichst viele Situationen getestet werden:+Arbeitet zu zweit. Mit euren 8 Testfällen sollen möglichst viele Situationen getestet werden:
   * 2 Testfälle mit formal falschen Eingaben   * 2 Testfälle mit formal falschen Eingaben
   * 2 Testfälle mit formal korrekten, ungültigen Eingaben   * 2 Testfälle mit formal korrekten, ungültigen Eingaben
-  * 2 Testfälle mit unterschiedlichen Resultaten+  * 4 Testfälle mit unterschiedlichen Resultaten, davon mindestens einer an einem Grenzwert
  
 Schreibt die Testfälle so, dass eine andere Gruppe sie **ohne Rückfragen** durchführen kann: eindeutige Eingabewerte, klare Schritte und ein konkretes erwartetes Resultat. Verwendet dafür die Feldnamen und Eingabeformate aus dem Abschnitt [[#eingaben|Eingaben]]. Schreibt die Testfälle so, dass eine andere Gruppe sie **ohne Rückfragen** durchführen kann: eindeutige Eingabewerte, klare Schritte und ein konkretes erwartetes Resultat. Verwendet dafür die Feldnamen und Eingabeformate aus dem Abschnitt [[#eingaben|Eingaben]].
 +
 +===== Äquivalenzklassen und Grenzwerte =====
 +Wir können nicht alle möglichen Eingaben testen. Deshalb teilen wir die Eingaben in **Äquivalenzklassen** ein: Gruppen von Werten, die das Programm gleich behandeln sollte. Aus jeder Klasse genügt **ein** Vertreter als Testwert.
 +
 +Fehler passieren besonders oft an den **Grenzen** zwischen zwei Klassen, zum Beispiel wenn ''<'' und ''<='' verwechselt werden. Deshalb testen wir zusätzlich Werte direkt an der Grenze.
 +
 +Mehr dazu in der Theorie: [[..:grundlagen#gute_testdaten_finden|LU01a - Gute Testdaten finden]].
 +
 +==== Beispiel: Feld Betrag ====
 +^ Klasse                            ^ Art                       ^ Vertreter    ^ Grenzwerte                   ^
 +| Betrag bis 325'000                | gültig, keine Steuer      | ''200000''   | ''325000''                   |
 +| Betrag über 325'000               | gültig, Steuer fällig     | ''500000''   | ''325001''                   |
 +| Betrag 0 oder negativ             | formal korrekt, ungültig  | ''-100''     | ''0'', ''1''                 |
 +| keine Zahl                        | formal falsch             | ''abc''      |                              |
 +| Zahl mit Tausendertrennzeichen    | formal falsch             | ''500'000''  |                              |
 +
 +==== Eure Aufgabe: Feld Jahre ====
 +Erstellt dieselbe Tabelle für das Feld **Jahre**. Achtet auf die Zeilen der Steuertabelle in der [[#programmbeschreibung|Programmbeschreibung]]: Jede Zeile mit einem anderen Steuersatz ist eine eigene Klasse.
 +
 +^ Klasse                            ^ Art                       ^ Vertreter    ^ Grenzwerte                   ^
 +| weniger als 3 Jahre               | gültig, Steuersatz 40 %   | …            | …                            |
 +| …                                 | …                         | …            | …                            |
 +
 +Wählt anschliessend die Werte für eure 8 Testfälle aus den beiden Tabellen. Vermerkt bei jedem Testfall, welche Klasse er abdeckt.
  
 ===== Ablauf ===== ===== Ablauf =====
-  - **Testfälle erstellen:** Erstellt die 6 Testfälle gemäss [[..:testfall|Aufbau eines Testfalls]]. Führt sie noch nicht selbst durch.+  - **Äquivalenzklassen bilden:** Ergänzt die Tabelle für das Feld **Jahre** und überlegt, welche Grenzwerte wichtig sind. 
 +  - **Testfälle erstellen:** Erstellt die 8 Testfälle gemäss [[..:testfall|Aufbau eines Testfalls]]. Führt sie noch nicht selbst durch.
   - **Partnergruppe finden:** Sucht euch eine andere Zweiergruppe oder lasst euch von der Lehrperson zuteilen.   - **Partnergruppe finden:** Sucht euch eine andere Zweiergruppe oder lasst euch von der Lehrperson zuteilen.
   - **Austauschen:** Gebt der Partnergruppe eure Testfälle und erhaltet deren Testfälle. Vermerkt auf den Testfällen die Namen der Autorinnen und Autoren.   - **Austauschen:** Gebt der Partnergruppe eure Testfälle und erhaltet deren Testfälle. Vermerkt auf den Testfällen die Namen der Autorinnen und Autoren.
Zeile 70: Zeile 95:
  
 ===== Abgabe ===== ===== Abgabe =====
-Exportiert (druckt) eure eigenen Testfälle als PDF-Datei. Jedes Gruppenmitglied lädt diese PDF-Datei in der Moodle-Aufgabe hoch.+Exportiert (druckt) eure Äquivalenzklassen-Tabelle für das Feld **Jahre** und eure 8 Testfälle als PDF-Datei. Jedes Gruppenmitglied lädt diese PDF-Datei in der Moodle-Aufgabe hoch.
  
 ---- ----
  • modul/m450/learningunits/lu01/aufgaben/testfaelle.txt
  • Zuletzt geändert: 2026/11/11 13:41
  • von admin