Softwareentwicklung und Projektmanagement

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)?

  1. A2
  2. B3
  3. C4
Antwort und Erläuterung anzeigen

Antwort: A. 2

Es gibt drei Anweisungen: fan = HIGH, fan = LOW und log(). Von fan = HIGH und fan = LOW wird in einem Durchlauf nur eine ausgeführt, daher sind mindestens zwei Durchläufe nötig; zum Beispiel führen die beiden Testfälle (temp > 80, err wahr) und (temp ≤ 80, err falsch) alle drei Anweisungen aus. 3 ergibt sich, wenn man für jede Anweisung einen Testfall erstellt, und 4 ist die Zahl aller Kombinationen von wahr und falsch der beiden Bedingungen (alle Pfade). Die Anweisungsabdeckung ist das schwächste Abdeckungskriterium; sie lässt sich zum Beispiel erreichen, ohne je den falschen Zweig des zweiten if (den Pfad, der nichts tut) zu durchlaufen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Softwareentwicklung und Projektmanagement

  1. 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)?
  2. 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?
  3. 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?
  4. 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?
  5. Beim Integrationstest einer Firmware mit 25 kLOC (25.000 Zeilen) wurden 30 Fehler gefunden. Nach den bisherigen Erfahrungen der Organisation liegt der Richtwert für die in dieser Phase gefundenen Fehler bei 2 bis 4 pro kLOC. Welche Bewertung dieses Ergebnisses ist am angemessensten?