Wenn Firmen versuchen, Prozesse zu verbessern und Softwaredefekte zu reduzieren, dann bildet ein Standard wie CMMI eine gute Grundlage, um dafür geeignete Methoden und Werkzeuge zu integrieren. Die Kategorie »CMMI Engineering Process« hebt die Anforderungsverwaltung...
Wenn Firmen versuchen, Prozesse zu verbessern und Softwaredefekte zu reduzieren, dann bildet ein Standard wie CMMI eine gute Grundlage, um dafür geeignete Methoden und Werkzeuge zu integrieren. Die Kategorie »CMMI Engineering Process« hebt die Anforderungsverwaltung als einen Bereich hervor, der die Implementierung, die Verifizierung und Validierung maßgeblich beeinflusst. Mit der rechten Mischung aus Methoden und Werkzeugen sind Projektteams in der Lage, die Anforderungen zu erfüllen, ihre Effizienz zu erhöhen und somit eine höhere Qualität in ihrer ausgelieferten Softwarelösung sicherzustellen.
CMMI (Capability Maturity Model Integration) nennt sich eine Familie von Referenzmodellen für ganz unterschiedliche Anwendungsgebiete – derzeit für die Produktentwicklung, den Produkteinkauf und die Serviceerbringung. Ein solches Modell ist eine systematische Aufbereitung bewährter Praktiken, um eine Organisation stetig zu verbessern. Das anforderungsbasierte Testen und der ihm zugrunde liegende Prozess – die Verfolgung der Anforderungen und deren Verifizierung – gelten gemeinhin als beste Methode, um Standards wie CMMI firmenweit zu implementieren. Dadurch lässt sich der Testprozess entweder über ein Projekt, eine Abteilung oder eine ganze Organisation hinweg verbessern, wobei sowohl kritische als auch nicht kritische Softwaresysteme daraus Nutzen ziehen können. CMMI v1.2 für die Entwicklung enthält 22 Prozessbereiche, darunter den Verifizierungs- (VER) und Validierungsbereich (VAL). Sie bestätigen, ob die Anforderungen in geeigneter Weise dargestellt sind und sich das ausgelieferte Produkt wie ursprünglich beabsichtigt verhält.
Wie in Bild 1 dargestellt, umfasst das Fundament eines zu entwerfenden Systems die Prozessbereiche Anforderungsverwaltung (Requirements Management, REQM) und Anforderungsentwicklung (Requirements Design, RD). In der technischen Lösung (Technical Solution, TS) sind die Komponenten für das Entwerfen und Entwickeln anhand der Anforderungen enthalten. Die Produktintegration (PI) fügt die Lösungskomponenten zu einem Endprodukt zusammen, das ausgeliefert werden kann. Der Prozessbereich Verifikation (VER) stellt sicher, dass jede Lösungskomponente den spezifizierten Anforderungen genügt, während die Validierung (VAL) zeigt, dass das Produkt den Erfordernissen des Endanwenders genügt.
Viele verwechseln Verifizierung und Validierung und betrachten diese als einen einzigen Prozessbereich, in dem sich beide Bereiche gemäß den Anforderungen mit dem Test beschäftigen. Es gibt jedoch einen grundsätzlichen Unterschied: Die Verifizierung weist nach, dass die erzeugten Komponenten der Spezifikation aus der Anforderungsentwicklung genügen. Das bedeutet, dass die Tests von unten nach oben (bottom-up) durchgeführt werden. Demgegenüber liefert die Validierung eine Bestätigung dafür, dass das Produkt den Merkmalen genügt, die der Endanwender gefordert hat. Dies impliziert einen von oben nach unten laufenden Systemtest.