Softwareentwicklung und Projektmanagement

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

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

Antwort: B. 2

Jede der drei Entscheidungen muss in beide Richtungen durchlaufen werden, wahr und falsch. Mit den beiden Testfällen (a, b und c alle wahr) und (alle falsch) werden das wahre und das falsche Ergebnis jeder Entscheidung je einmal ausgeführt; das Minimum ist also 2. Ein einzelner Testfall (alle wahr) führt alle Anweisungen S1 bis S3 aus und erreicht damit Anweisungsabdeckung, doch die falschen Zweige (die Pfade, die nichts tun und weitergehen) werden nicht ausgeführt. 8 ist die Zahl aller 2³ = 8 Kombinationen von wahr und falsch.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu Softwareentwicklung und Projektmanagement

  1. 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?
  2. 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?
  3. 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?
  4. 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?
  5. In Git haben zwei Entwickler auf verschiedenen Branches dieselbe Zeile derselben Datei geändert, und dann wurde ein Branch in den anderen gemergt. Was geschieht dabei?