Die Organisation muss Steuerungsmaßnahmen für den Entwicklungsprozess anwenden, um sicherzustellen, dass Validierungstätigkeiten durchgeführt werden, um sicherzustellen, dass die resultierenden Produkte und Dienstleistungen die Anforderungen erfüllen, die sich aus der vorgesehenen Anwendung oder dem beabsichtigten Gebrauch ergeben.
ISO 9001, Kapitel 8.3

Die von der Qualitätsmanagementnorm ISO 9001 (2015) von der Organisation gefordert Validierungstätigkeiten werden in der Software-Entwicklung durch eine Reihe unterschiedlicher Testarten realisiert. Aufgrund ihrer Abhängigkeit hat sich das Bild einer Pyramide durchgesetzt, mit vielen Modultests an der Basis und einem Systemtest an der Spitze.

Der Modultest (englisch: unit test) stellt sicher, dass die Grundbausteine (z.B. Klassen und Methoden bei objektorientierter Programmierung) einer Komponente wie erwartet funktionieren.

Weiterlesen auf wikipedia.de

Ein Komponententest überprüft das Zusammenspiel der Grundbausteine einer Komponente. Dieser Test wird nur dann ausgeführt, wenn die Modultests gezeigt haben, dass die Grundbausteine der Komponente wie erwartet funktionieren.

Weiterlesen auf cardsplus.info

Ein Schnittstellentest testet die Schnittstellen einer Komponente. Dieser Test betrachtet die Komponente als sogenannte “black box” und überprüft die Konformität der Implementierung der Schnittstellen zur Spezifikation.

Weiterlesen auf cardsplus.info

Ein Systemtest (auch: Akzeptanztest) überprüft das Zusammenspiel von Komponenten in einem IT-System. Dieser Test wird nur dann ausgeführt, wenn die Testfälle der Komponententests aller im IT-System verbauten Komponenten gezeigt haben, dass die Komponenten wie erwartet funktionieren.

Weiterlesen auf cardsplus.info

Das Testen eines Software-Produktes hat nicht die vollständige Prüfung aller Anforderungen zum Ziel – das wird in der IT-Branche heutzutage als unmögliches Vorhaben eingeschätzt. Eine Metrik wie die Code-Coverage durch Modul-, Komponenten- und Schnittstellentests versetzt uns in die Lage, Qualitätsziele für die Entwicklung zu definieren. Der Einsatz von CARDS+ lässt und auch beim Systemtest eine Qualitätsziel definieren. Jeder Case in der Systembeschreibung mit einer Lösung muss durch mindestens einen Testfall im Systemtest abgesichert werden. So ist zumindest sichergestellt, dass das Software-Produkt für alle bekannten und dokumentierten Anwendungsfälle gerüstet ist.

Manuelles Testen ist notwendig, wenn andere Methoden der Validierung versagen. Das manuelle Testen ist eine stichprobenartige Aktivität. Es gibt verschiedene Möglichkeiten, Testfälle so zu formulieren, dass der Tester durch seine Eingaben und sein Verhalten am System auf Fehler stößt. Manuelle Tests sollten daher in einem gewissen Maß vage bzw. offen formuliert werden. Ein Testfall kann als ein Ziel formuliert werden, der Tester muss sich selber den Weg suchen. So sind manuelle Tests eine Bereicherung der Testpyramide.

Nach meinem Verständnis wird durch die kontinuierliche Ausführung von Testfällen während der Entwicklung mit allen Testarten der Testpyramide die notwendige Validierung des Software-Produktes in ausreichendem Maß durchgeführt. Auch das automatisierte Installieren des entwickelten Produktes als Voraussetzung für die automatisierte Ausführung von Tests ist eine weitere Validierungstätigkeit, die sich sehr positiv auf die Qualität des entwickelten Produktes auswirkt.