Softwareentwicklung und Projektmanagement

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?

  1. A84 °C
  2. B85 °C
  3. C86 °C
Antwort und Erläuterung anzeigen

Antwort: B. 85 °C

Laut Spezifikation soll bei 85 °C eine Warnung ausgegeben werden, doch t > 85 ist für t = 85 falsch; Spezifikation und Implementierung weichen also nur ab, wenn 85 °C vorgegeben wird. Bei 84 °C gibt keine von beiden eine Warnung aus, bei 86 °C beide, sodass der Fehler nicht sichtbar wird. Auf diese Weise auch den Grenzwert selbst zu testen, ist die Idee der Grenzwertanalyse. Das Verwechseln von Vergleichsoperatoren ist ein häufiger Fehler bei Schwellwertprüfungen in Firmware.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Softwareentwicklung und Projektmanagement

  1. 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)?
  2. 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)?
  3. 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?
  4. 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?
  5. Während des Testens wurde eine Zuverlässigkeitswachstumskurve gezeichnet, mit der Testzeit (oder der Zahl der ausgeführten Testfälle) auf der waagerechten und der kumulierten Zahl gefundener Fehler auf der senkrechten Achse. Die Kurve steigt noch an, ohne Anzeichen einer Sättigung (Abflachung). Welche Beurteilung ist am angemessensten?