Skip to Content

Softwareentwicklung

Allgemeines V-Modell

V-Modell

Komponententest

Blackbox-Test

Beispiel (Blackbox-Test):

  • Gegeben sei der Funktionsprototyp für eine Funktion int ascii2int(char c), die eine gegebene ASCII-codierte Ziffer in einen Integer des entsprechenden Werts umwandelt.
  • Die Funktion soll -1 zurückgeben, wenn c keine Ziffer ist.
  • Wie würde ein möglicher Blackbox-Test aussehen?

Lösung:

Gültige ASCII-Ziffern sind 0 bis 9.

#include <iostream> #include <cassert> int ascii2int(char c) { // Unbekannt } void test_ascii2int() { assert(ascii2int('0') == 0); assert(ascii2int('1') == 1); assert(ascii2int('9') == 9); assert(ascii2int('a') == -1); } int main() { test_ascii2int(); return 0; }

Whitebox-Test

Ein Whitebox-Test ist ein Test, der die innere Struktur des Codes testet und die Logik der Implementierung.

Beispiel (Whitebox-Test):

Gegeben sei nun die Implementierungsvarianten:

Variante 1:

int ascii2int(char c) { if ('0' <= c && c <= '9' ) return c - '0'; else return -1; }

Variante 2:

int ascii2int(char c) { switch(c) { case '0': return 0; case '1': return 1; /*…*/ default: return -1; } }

Wie würden die jeweilige Whiteboxtests aussehen?

Lösung:

Variante 1:

void test_ascii2int() { assert(ascii2int('0') == 0); assert(ascii2int('1') == 1); assert(ascii2int('9') == 9); assert(ascii2int('a') == -1); }

Variante 2:

void test_ascii2int() { assert(ascii2int('0') == 0); assert(ascii2int('1') == 1); assert(ascii2int('9') == 9); assert(ascii2int('a') == -1); }
Last updated on