Softwareentwicklung und Projektmanagement

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?

  1. A10, 40, 90
  2. B17, 18, 64, 65
  3. C18, 65
Antwort und Erläuterung anzeigen

Antwort: B. 17, 18, 64, 65

Da sich Fehler an den Grenzen zwischen Äquivalenzklassen häufen, testet die Grenzwertanalyse die Werte unmittelbar auf beiden Seiten jeder Grenze. An der Grenze zwischen Kinder- und Normalpreis werden 17 und 18 gewählt, an der Grenze zwischen Normal- und Seniorenpreis 64 und 65; das ergibt die vier Werte 17, 18, 64 und 65. Fehler wie „<“ statt „<=“ in einer Bedingung werden möglicherweise nicht gefunden, wenn nur eine Seite einer Grenze getestet wird. 10, 40 und 90 sind Werte der Äquivalenzklassenbildung, die als Repräsentanten jeder Kategorie gewählt werden, und können Fehler an den Grenzen nicht prüfen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Softwareentwicklung und Projektmanagement

  1. 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?
  2. 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)?
  3. 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)?
  4. 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?
  5. Was wird beim Bottom-up-Test gebaut, um ein noch nicht vorhandenes übergeordnetes Modul zu ersetzen, sodass es das zu testende untergeordnete Modul aufruft, ihm Testdaten übergibt und die Ergebnisse entgegennimmt?