Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
modul:m450:learningunits:lu01:aufgaben:testfaelle [2026/11/11 08:39] – Umstellung auf Zweiergruppen mit Austausch der Testfälle für das Protokoll 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.+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 54: Zeile 79:
  
 ===== Eingaben ===== ===== Eingaben =====
-  * Betrag der Schenkung: Natürliche Zahl +Das Programm läuft als Webseite: [[https://it.bzz.ch/m450/inheritance.html]]. Im Bereich **Schenkung** gibt es zwei Eingabefelder: 
-  * Anzahl Jahre: Positive Dezimalzahl+ 
 +^ Feld        ^ Bedeutung                                           ^ Format                                                              ^ Gültiger Bereich ^ Beispiel  ^ 
 +| **Betrag**  | Betrag der Schenkung in £                           | Natürliche Zahl, nur Ziffern 0–9 (kein Tausendertrennzeichen, kein £-Zeichen) | grösser als 0    | ''500000''  | 
 +| **Jahre**   | Anzahl Jahre zwischen der Schenkung und dem Tod     | Dezimalzahl mit Punkt als Dezimaltrennzeichen (z. B. ''4.5'', nicht ''4,5'') | grösser als 0    | ''4.5''     | 
 + 
 +**Bedienung:** 
 +  * **Berechnen:** berechnet die Erbschaftssteuer aus den beiden Eingaben. 
 +  * **Zurücksetzen:** leert alle Felder.
  
 +**Ausgabe:**
 +  * Im Bereich **Steuern** zeigt das Feld **Steuerbetrag** die berechnete Erbschaftssteuer in £ an.
 +  * Entspricht eine Eingabe nicht dem Format, erscheint direkt neben dem Feld die Meldung «Keine gültige Zahl» und es wird kein Steuerbetrag berechnet.
 +  * Liegt eine formal korrekte Eingabe ausserhalb des gültigen Bereichs, erscheint neben dem Feld eine Fehlermeldung und es wird kein Steuerbetrag berechnet.
  
 ===== 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.1794382775.txt.gz
  • Zuletzt geändert: 2026/11/11 08:39
  • von admin