Quality Management, Testmanagement, Testautomation, Continuous Integration and Delivery, Jenkins, Consulting, Training, Auditing
Die sieben Grundsätze des Softwaretestens | Comquent GmbH, Continuous Quality in Software
Blog

Die sieben Grundsätze des Softwaretestens

By Friday May 26th, 2017 No Comments
By
Die sieben Grundsätze des Softwaretestens

Laut ISTQB gibt es sieben Grundsätze (oder Prinzipien), die als “generelle Leitlinien beim Testen angesehen werden”.

Doch welche sind diese sieben Grundsätze?

In diesem Artikel werden wir uns mit diesen Grundsätzen kurz befassen, die grob beschreiben, was Testen ist und was Testen nicht ist.

Grundsatz 1: Testen zeigt die Anwesenheit von Fehlerzuständen

Testen weist das Vorhandensein von Fehlerzuständen nach. Detailliertes und ausreichendes Testen minimiert die Wahrscheinlich, dass ein System noch unentdeckte Fehler beinhaltet und mit diesen Fehlern dann in Produktion geht. Selbst wenn keine Fehler mehr im Test nachgewiesen werden können, heißt es nicht, dass das System fehlerfrei ist.

Grundsatz 2: Vollständiges Testen ist nicht möglich

Die Komplexität der heutigen Systeme ist dermaßen groß, dass es praktisch unmöglich ist, einen vollständigen Test durchzuführen. Vollständiges Testen würde bedeuten, dass man alle Eingaben, alle Kombinationen unter Berücksichtigung von verschieden Vorbedingungen testet. Dies würde aber die Anzahl der Testfälle, die durchgeführt werden müssen, enorm erhöhen. Somit erhöhen sich aber auch die Kosten und die dafür nötige Zeit. Der Testaufwand muss dem Risiko und den Prioritäten angepasst werden. Oft muss man sich auf Fälle konzentrieren, die einen großen Teil des täglichen Geschäftes (daily business) abfangen. So kann man sicherstellen, dass man im täglichen Leben keine bösen Überraschungen erlebt.

Grundsatz 3: Mit dem Testen frühzeitig beginnen

Die Kosten der Behebung von Software-Bugs sind erheblich größer als die Kosten zur Behebung von Fehlern, bevor ein System in Produktion geht. Dieses Thema haben wir bereits im Artikel 3+1 Mythen des Softwaretestens besprochen. Die Testaktivitäten sollen also so früh wie möglich im Softwarelebenszyklus beginnen. Idealerweise sollen Tester schon in der Analyse-Phase involviert werden.

Die sieben Grundsätze des Softwaretestens

Grundsatz 4: Häufung von Fehlern

Manche Module sind oft besonders fehleranfällig und weisen dann eine extreme Fehlerdichte nach. In solchen Fällen muss man sich auf solche Module besonders konzentrieren, um die Fehlerwirkungen schon im Test zu finden, bevor sie später für die meisten Fehlerwirkungen in der Produktion verantwortlich sein werden.

Grundsatz 5: Wiederholungen haben keine Wirksamkeit

Wiederholte Ausführungen der gleichen Tests bringen in der Regel keine neuen Erkenntnisse. Die Tests müssen regelmäßig überprüft und gegebenenfalls angepasst werden. Somit nimmt ihre Effektivität nicht ab. Teile des Systems, die nicht abgedeckt wurden, oder Kombinationen, die nicht getestet wurden, können in neue Tests aufgenommen werden. Auf diese Weise können weitere mögliche Fehler nachgewiesen werden.

Grundsatz 6: Testen ist abhängig vom Umfeld

Die Tests müssen dem System angepasst werden, das gerade getestet wird. Ein e-Commerce System muss beispielsweise anders getestet werden als ein automotive System. Sicherheitsaspekte sind in manchen Systemen viel kritischer als in anderen. Die Tests müssen also kontextbezogen und dem Umfeld angepasst sein.

Grundsatz 7: Trugschluss: „Keine Fehler“ bedeutet ein brauchbares System

Ein fehlerfreies System zu liefern, heißt lange nicht, dass das System auch brauchbar ist. Der Kunde kann trotzdem unzufrieden sein, da das System vom Design her schwierig zu bedienen ist, da es seinen Vorstellungen nicht entspricht, da seine Anforderungen und Erwartungen nicht hundertprozentig getroffen wurden usw. Aus diesem Grund muss man früh mit dem Testen beginnen und so früh wie möglich auch den Kunden einbinden.