Die sieben Grundsätze des Softwaretestens

Daniel Saffer

01/14/2021

Das Testen von Software ist unerlässlich und sollte als Prozess während des gesamten Softwarelebenszyklus aktiv sein. Wichtige Begriffe, die hier zu nennen sind, ist die Fehlhandlung, der Fehlerzustand und die Fehlerwirkung.

Die Fehlhandlung ist eine menschliche Handlung, die einen Fehler in der Software auslöst. Die Handlung kann versehentlich, unwissentlich oder absichtlich durchgeführt werden [1].

Eine Fehlhandlung führt zu einem Fehlerzustand in der Software. Dies ist ein Zustand, in der die Anforderung oder Spezifikation der Software nicht eingehalten wird [1].

Die Fehlerwirkung beschreibt, dass das System Funktionen nicht mehr im spezifizierten Rahmen ausführt. Nicht jeder Fehler in der Software muss zu einer Fehlerwirkung führen. Fehlerwirkungen sind nicht nur das Resultat von Softwarefehlern, sondern können auch durch Umgebungsbedingungen hervorgerufen werden [1].

Die Folgen von Softwarefehlern können gravierend sein. Mögliche Folgen sind:

  • Personenschäden / Tod
  • Sachschäden
  • Imageverlust
  • Geldverlust

Natürlich haben nicht alle Softwarefehler solch drastische Folgen. Die genannten Beispiele sollen jedoch verdeutlichen, wie wichtig es ist, Software zu testen.

Nun stellt sich die Frage, wie man am besten die Testaktivitäten plant. Hier kann man die sieben Grundsätze des Softwaretestens als Leitlinie betrachten [2].

1. Grundsatz – „Testen zeigt die Anwesenheit von Fehlern“

Mit Softwaretests können Fehlerzustände ausfindig gemacht werden. Dadurch kann das System verbessert werden und die Wahrscheinlichkeit, dass unentdeckte Fehlerzustände auftreten, wird reduziert. Mit Softwaretests kann jedoch nicht bewiesen werden, dass das System fehlerfrei ist.

2. Grundsatz – „Vollständiges Testen ist nicht möglich“

Die heutigen Systeme wachsen stetig in ihrer Komplexität. Ein vollständiges Testen ist daher nicht möglich. Vollständiges Testen würde bedeuten alle möglichen Testfälle durchzuführen. Durch eine hohe Anzahl der Testfälle, steigt aber auch die benötigte Zeit und somit die Kosten, weshalb der Testaufwand immer unter Berücksichtigung des Risikos und der Priorität angepasst werden muss. Tests sind deshalb auch immer nur Stichproben.

3. Grundsatz – „Mit dem Testen sollte möglichst frühzeitig begonnen werden“

Je früher Fehlerzustände erkannt werden, desto günstiger ist deren Behebung. Deshalb sollten Testaktivitäten im Softwarelebenszyklus so früh wie möglich beginnen.

Die Kosten der Fehlerbehebung
10er-Regel der Fehlerkosten [3]

4. Grundsatz – „Häufung von Fehlern“

Ein Fehler kommt selten allein. Hat man bereits eine Fehlerwirkung nachgewiesen, kann es in diesem Modul zu weiteren Fehlern kommen. Die Anzahl der Testfälle sollte deshalb proportional an die zu erwartende Fehlerdichte der Module angepasst werden. Weicht die zu erwartende Fehlerdichte von der beobachteten Fehlerdichte ab, muss der Testaufwand flexibel angepasst werden können.

5. Grundsatz – „Wiederholungen haben keine Wirksamkeit“

Wiederholt man Testfälle, können keine neuen Erkenntnisse daraus gewonnen werden. Testfälle müssen deshalb regelmäßig überprüft und gepflegt werden. Auch neue Testfälle müssen, wenn nötig ergänzt werden.

6. Grundsatz – „Testen ist abhängig vom Umfeld“

Softwaretests sind abhängig von deren Umfeld. Das bedeutet, dass z. B. Medizingeräte anders getestet werden als Unterhaltungselektronik, da es sich meistens um sicherheitskritische Systeme handelt. Softwaretests sind also immer ans Umfeld und dessen Kontext anzupassen.

7. Grundsatz – „Trugschluss: Keine Fehler bedeuten ein brauchbares System“

Allein das Beheben aller Fehlerzustände führt noch lange nicht zu einem brauchbaren System. Die Benutzbarkeit und die Anforderungen des Kunden müssen zwingend berücksichtigt werden.

Fazit

Der Artikel soll zeigen, wie wichtig es ist, Software zu testen. Fangen Sie in einem Projekt so früh wie möglich an, die Testaktivitäten zu planen. Die 7 Grundsätze des Softwaretestens können Ihnen dabei helfen.

Falls Sie Fragen oder Anmerkungen haben oder Ihre Erfahrungen zum Thema teilen möchten, schreiben Sie gerne einen Kommentar oder melden Sie sich bei uns.

Quellen

[1] ISTQB®: ISTQB® Glossar-App multilingual https://glossary.istqb.org/de/search/ (Zugriff 07.01.2021)

[2] Spillner A., Linz A.: Basiswissen Softwaretest, dpunkt.verlag, 2010

[3] Steinhoff F., Pointner T.: FAQ Lean Management, Weka Media Gmbh & Co. Kg, 2018


Geschrieben von Daniel Saffer

Daniel Saffer ist Chief Technical Officer (CTO) der MEDtech Ingenieur GmbH. In dieser Rolle verantwortet er die technische Strategie des Unternehmens und unterstützt Kundenprojekte in der Medizintechnik. Sein Fokus liegt auf der Weiterentwicklung sicherheitskritischer Softwarelösungen, regulatorischen Anforderungen und innovativen Technologien für die Branche.


Weitere Beiträge

  • 12/11/2024
  • Allgemein, Software, Testen, Tools

In sicherheitskritischen Softwareprojekten steht die Qualität der Software an erster Stelle. Besonders bei Klasse-C-Software, die nach strengen Normen wie IEC 62304 (Medizintechnik) zertifiziert werden muss, ist es essenziell, dass ...

Weiterlesen
  • 08/08/2024
  • Allgemein, Elektrostimulation, Software, Testen

Heutzutage sind Apps im Gesundheitsbereich sehr wichtig. Besonders Apps, die Daten von medizinischen Sensoren lesen und verarbeiten können, sind nützlich. Flutter ist ein Open-Source-Framework von Google, das sich hervorragend ...

Weiterlesen
  • 30/06/2024
  • Allgemein, Hardware, Software, Technik, Tools, Usability

KI – Was ist das denn überhaupt? Künstliche Intelligenz ist zurzeit in aller Munde, doch die wenigsten Menschen beschäftigen sich mit der Funktionsweise von künstlicher Intelligenz oder damit, was ...

Weiterlesen
Cookie-Übersicht

Die Internetseiten der MEDtech Ingenieur GmbH verwenden Cookies. Cookies sind Textdateien, welche über einen Internetbrowser auf einem Computersystem abgelegt und gespeichert werden.

Zahlreiche Internetseiten und Server verwenden Cookies. Viele Cookies enthalten eine sogenannte Cookie-ID. Eine Cookie-ID ist eine eindeutige Kennung des Cookies. Sie besteht aus einer Zeichenfolge, durch welche Internetseiten und Server dem konkreten Internetbrowser zugeordnet werden können, in dem das Cookie gespeichert wurde. Dies ermöglicht es den besuchten Internetseiten und Servern, den individuellen Browser der betroffenen Person von anderen Internetbrowsern, die andere Cookies enthalten, zu unterscheiden. Ein bestimmter Internetbrowser kann über die eindeutige Cookie-ID wiedererkannt und identifiziert werden.

Durch den Einsatz von Cookies kann die MEDtech Ingenieur GmbH den Nutzern dieser Internetseite nutzerfreundlichere Services bereitstellen, die ohne die Cookie-Setzung nicht möglich wären.

Mittels eines Cookies können die Informationen und Angebote auf unserer Internetseite im Sinne des Benutzers optimiert werden. Cookies ermöglichen uns, wie bereits erwähnt, die Benutzer unserer Internetseite wiederzuerkennen. Zweck dieser Wiedererkennung ist es, den Nutzern die Verwendung unserer Internetseite zu erleichtern. Der Benutzer einer Internetseite, die Cookies verwendet, muss beispielsweise nicht bei jedem Besuch der Internetseite erneut seine Zugangsdaten eingeben, weil dies von der Internetseite und dem auf dem Computersystem des Benutzers abgelegten Cookie übernommen wird.

Die betroffene Person kann die Setzung von Cookies durch unsere Internetseite jederzeit mittels einer entsprechenden Einstellung des genutzten Internetbrowsers verhindern und damit der Setzung von Cookies dauerhaft widersprechen. Ferner können bereits gesetzte Cookies jederzeit über einen Internetbrowser oder andere Softwareprogramme gelöscht werden. Dies ist in allen gängigen Internetbrowsern möglich. Deaktiviert die betroffene Person die Setzung von Cookies in dem genutzten Internetbrowser, sind unter Umständen nicht alle Funktionen unserer Internetseite vollumfänglich nutzbar.

Weitere Informationen erhalten Sie in unserer Datenschutzerklärung.

Unbedingt notwendige Cookies

Dieses Cookie wird benötigt, um Ihre Cookie-Einstellungen zu merken und weitere Hauptfunktionen zur Verfügung zu stellen

Um Ihnen eine Auskunft über Ihre gespeicherten personenbezogenen Daten hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) geben zu können, benötigen wir einen Cookie, um Sie bei der Datenabfrage identifizieren zu können. Dieser Cookie muss aus Sicherheitsgründen deshalb aktiviert sein. Ein weiterer Cookie wird gesetzt, um diesen Banner nicht erneut anzeigen zu müssen.

Cookie-Name Beschreibung
PHPSESSID Name: PHP session
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wir benötigt, um Sie bei der Anfrage von personenbezogenen Daten identifizieren zu können. Das Cookie wird nur gesetzt, wenn Sie eine Anfrage hier (https://medtech-ingenieur.de/gespeicherte-daten-2/) stellen.
Laufzeit: Sitzungsende
Kategorie: Unbedingt notwendige Cookies
moove_gdpr_popup Name: Cookie-Box Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Wird benötigt, um Ihre Cookie-Einstellungen zu speichern, um den Cookie-Banner nicht erneut anzeigen zu müssen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
comment_author_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_email_9c90e388e3e1be4a6c594fa6ac8a3eec
comment_author_url_9c90e388e3e1be4a6c594fa6ac8a3eec
Name: Kommentar Einstellungen
Anbieter:
Eigentümer der Webseite (MEDtech Ingenieur)
Zweck:
Cookie wird angelegt, wenn Sie ein Kommentar auf MEDtech Ingenieur veröffentlichen wollen, um Sie als Autor identifizieren und den aktuellen Status Ihres Kommentars anzeigen zu können. Das Cookie enthält den angegebenen Namen. Das Cookie wird erst gesetzt, wenn Sie der Speicherung Ihrer personenbezogenen Daten zustimmen.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
rmp-rate Name: RMP Rate
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie eine Bewertung eines Blogbeitrags mithilfe des Sternebewertungssystems abgeben. Ihnen wird eine anonymisierte ID zugewiesen, um zu erkennen, ob Sie einen Artikel bereits bewertet haben oder nicht. Das Cookie wird nur verwendet, um zu verhindern, dass mehrfache Bewertung abgegeben werden und erst gesetzt, wenn Sie auf einen Stern klicken.
Laufzeit: 1 Jahr
Kategorie: Unbedingt notwendige Cookies
medtech-download-page Name: Download Page
Anbieter: Eigentümer der Webseite (MEDtech Ingenieur)
Zweck: Cookie wird angelegt, wenn Sie den Landing-Page Prozess erfolgreich durchlaufen haben. Dies geschieht nur, wenn Sie einen Content-Download von unserer Website anstreben.
Laufzeit: 1/2 Jahr
Kategorie: Unbedingt notwendige Cookies