Softwareentwicklung und Projektmanagement

Ein Eingabefeld akzeptiert nur ganze Zahlen; Werte von 1 bis einschließlich 100 werden angenommen, alle anderen führen zu einem Fehler. Wie viele Äquivalenzklassen ergeben sich insgesamt (gültige und ungültige zusammen), wenn die Eingaben durch Äquivalenzklassenbildung aufgeteilt werden?

  1. A1
  2. B2
  3. C3
Antwort und Erläuterung anzeigen

Antwort: C. 3

Die Äquivalenzklassenbildung teilt die Eingaben in Gruppen (Äquivalenzklassen) auf, die das Programm gleich behandeln sollte, und testet aus jeder Klasse einen repräsentativen Wert. Für dieses Feld gibt es eine gültige Klasse (1 bis 100) und zwei ungültige Klassen (0 oder kleiner sowie 101 oder größer), insgesamt also 3. Wählt man zum Beispiel 50, −5 und 150 als Repräsentanten, wird jede Klasse mit drei Tests geprüft. Die ungültigen Eingaben werden in eine untere und eine obere Seite aufgeteilt, weil das Programm sie mit getrennten Prüfungen behandelt (der Prüfung der Untergrenze und der Prüfung der Obergrenze).

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Softwareentwicklung und Projektmanagement

  1. Ein Programm legt den Eintrittspreis nach dem Alter (einer ganzen Zahl ab 0) fest: 0 bis 17 Jahre zahlen den Kinderpreis, 18 bis 64 Jahre den Normalpreis und ab 65 Jahren den Seniorenpreis. Welche Testwerte sind für eine Grenzwertanalyse, die die Grenzen prüft, an denen die Preiskategorie wechselt, am geeignetsten?
  2. Die Spezifikation lautet „Warnung ausgeben, wenn die Temperatur 85 °C oder höher ist“, in der Firmware steht aber versehentlich „if (t > 85)“. Die Temperatur t ist eine ganze Zahl. Mit welchem der folgenden Testwerte lässt sich dieser Fehler finden?
  3. Die Werte von temp und err lassen sich unabhängig voneinander wählen. Wie viele Testfälle sind für den Code „if (temp > 80) { fan = HIGH; } else { fan = LOW; } if (err) { log(); }“ mindestens nötig, um Anweisungsabdeckung zu erreichen (jede Anweisung mindestens einmal auszuführen)?
  4. Die Wahrheitswerte von a, b und c lassen sich unabhängig voneinander wählen. Wie viele Testfälle sind für den Code „if (a) { S1; } if (b) { S2; } if (c) { S3; }“ mindestens nötig, um Zweigabdeckung zu erreichen (das wahre und das falsche Ergebnis jeder Entscheidung mindestens einmal auszuführen)?
  5. Für die Entscheidung „A und B“ (A und B sind Bedingungen, deren Wahrheitswerte sich unabhängig festlegen lassen) wurden die beiden Testfälle (A = wahr, B = falsch) und (A = falsch, B = wahr) ausgeführt. Welche Aussage über die Abdeckungskriterien ist richtig?