Bedingungsüberdeckungstest

Der Bedingungsüberdeckungstest (engl. Condition Coverage) gehört z​u einer Gruppe v​on Überdeckungstests, d​ie zum Testen v​on Software verwendet werden.

Das Problem d​er bisherigen Überdeckungstests (C1-Test, C2-Test) ist, d​ass zusammengesetzte, hierarchische Bedingungen n​icht ausreichend getestet werden.

C3a – Einfachbedingungsüberdeckungstest

Jede einfache Bedingung m​uss einmal m​it true u​nd einmal m​it false getestet werden[1]. Beispiel:

     boolean a,b;
     if(a || b) {...}
    Testfall 1 wäre a=false und b=false. Testfall 2 wäre a=true und b=true.

C3b – Mehrfachbedingungsüberdeckungstest

Dieser Test betrachtet alle atomaren Bedingungen einer Bedingung. Wenn n atomare Bedingungen in der Bedingung stehen, dann werden Kombinationen gebildet. Das heißt für das obige Beispiel, dass 4 Testfälle gebildet werden.

C3c – minimaler Mehrfachbedingungsüberdeckungstest

Diese Version erstellt mehr Testfälle als C3a und weniger als C3b, indem jede Bedingung (atomar und zusammengestellt) zu true und zu false evaluiert wird. Die logische Struktur wird hierbei berücksichtigt und der C1-Test (Zweigüberdeckungstest) ist vollständig in diesem Test enthalten. Ein weiterer Punkt ist, dass der C3c-Test berechenbar ist.

Nachteil

  • Unvollständige Auswertung einer Bedingung durch eine Programmiersprache mit sog. short circuit evaluation wie z. B. C/C++, Java, C#.

Beispiel:

     if (a && b)  {...} else { lies b aus }
     Wenn a false ist, dann ist die Belegung der Variable b egal.
     z. B. a=false und b=null, dann passiert ein Fehler im else-Zweig

Einzelnachweise

  1. Karol Frühauf, Jochen Ludewig, Helmut Sandmayr: Software-Prüfung. Eine Anleitung zum Test und zur Inspektion. 6., überarbeitete und aktualisierte Auflage. vdf, Hochschulverlag AG an der ETH, Zürich 2007, ISBN 978-3-7281-3059-4, S. 63.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. The authors of the article are listed here. Additional terms may apply for the media files, click on images to show image meta data.