modul:m450:learningunits:lu05:aequivalenzklassen

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

modul:m450:learningunits:lu05:aequivalenzklassen [2024/03/28 14:07] – angelegt - Externe Bearbeitung 127.0.0.1modul:m450:learningunits:lu05:aequivalenzklassen [2024/12/03 08:48] (aktuell) msuter
Zeile 5: Zeile 5:
 Bei der Äquivalenzklassen-Analyse definieren wir für jede Eingabe die Gruppen von Werten, die vom Programm gleich verarbeitet werden (sollten). Bei der Äquivalenzklassen-Analyse definieren wir für jede Eingabe die Gruppen von Werten, die vom Programm gleich verarbeitet werden (sollten).
 </WRAP> </WRAP>
 +
 +===== Grundprinzip =====
 +
 +
 +Eine Äquivalenzklasse ist eine Menge von Eingabewerten, die das System auf ähnliche Weise verarbeitet. 
 +Die Annahme ist, dass das Testen eines repräsentativen Werts aus der Klasse ausreicht, um die gesamte Klasse abzudecken. 
 +Die Werte innerhalb einer Klasse sind dabei typischerweise entweder alle gültig oder alle ungültig.
  
 Angenommen wir haben ein Eingabefeld für eine Ganzzahl zwischen 0 und 100. Angenommen wir haben ein Eingabefeld für eine Ganzzahl zwischen 0 und 100.
-  * Wir können davon ausgehen, dass alle gültigen Eingaben gleich verarbeitet werden. +Bei der Äquivalenzklassen-Analyse gehen wir davon aus, dass jede Gruppe von Zahlen gleich verarbeitet werden: 
-  * Auch werden alle formal falschen Eingaben (Buchstaben, Sonderzeichen, ...) gleich verarbeitet werden.+  * alle gültigen Eingaben  
 +  * alle zu kleinen Zahlen  
 +  * alle zu grossen Zahlen 
 +  * Alle formal falschen Eingaben (Buchstaben, Sonderzeichen, ...).
  
-Anstatt nun jede Zahl von 0 bis 100 und jede Kombination von Buchstaben zu testen, brauchen wir nur je einen Testfall.+Anstatt nun jede denkbare Zahl und jede Kombination von Buchstaben zu testen, brauchen wir pro Klasse nur je einen Testfall. 
 +Zum Beispiel 
 +  * 34 (gültige Zahl) 
 +  * -5 (zu kleine Zahl) 
 +  * 251 (zu grosse Zahl) 
 +  * a3 (formal ungültig)
  
 ===== Äquivalenzklassen definieren ===== ===== Äquivalenzklassen definieren =====
Zeile 28: Zeile 43:
  
 ==== Auswahl ==== ==== Auswahl ====
 +Steht dem Benutzer eine beschränkte Auswahl von Werten zur Verfügung, sollte jeder gültige Wert separat getestet werden.
   * 1 Klasse pro gültigem Wert   * 1 Klasse pro gültigem Wert
   * 1 Klasse für ungültige Werte   * 1 Klasse für ungültige Werte
Zeile 65: Zeile 81:
 ===== Testfälle ableiten ===== ===== Testfälle ableiten =====
 Aus den Äquivalenzklassen können wir nun die Testfälle ableiten. Aus den Äquivalenzklassen können wir nun die Testfälle ableiten.
-  * Testfälle mit ausschliesslich gültigen Klassen. Dabei muss jede gültige Klasse in mindesten einem gültigen Testfall vorkommen. 
-  * Testfälle mit **einer** ungültigen Klasse. 
- 
 Als Eingabewerte wählen wir "typische" Werte die klar innerhalb der Klasse liegen. Als Eingabewerte wählen wir "typische" Werte die klar innerhalb der Klasse liegen.
 Die Grenzen der Klassen werden später in separaten Testfällen (Grenzwertanalyse) getestet. Die Grenzen der Klassen werden später in separaten Testfällen (Grenzwertanalyse) getestet.
 +
 +==== Klassen mit gültigen Werten ====
 +Zunächst definieren wir Testfälle mit ausschliesslich gültigen Klassen. 
 +Dabei muss jede gültige Klasse in mindestens einem Testfall vorkommen.
 +
 +Im oben stehenden Beispiel können wir Testfälle mit den folgende Äquivalenzklassen definieren:
 +^ Nr ^ Klassen ^
 +| 1 | 1, 2, 5, 6 |
 +| 2 | 1, 3, 5, 6 |
 +| 3 | 1, 4, 5, 6 |
 +
 +==== Testfälle mit ungültigen Werten ====
 +Wir testen immer nur einen ungültigen Werte auf einmal.
 +Daher muss für jede ungültige Klasse ein eigener Testfall definiert werden.
 +
  
 ===== Beispiel: Personalien ===== ===== Beispiel: Personalien =====
  • modul/m450/learningunits/lu05/aequivalenzklassen.1711631267.txt.gz
  • Zuletzt geändert: 2024/03/28 14:07
  • von 127.0.0.1