Die Entwicklung von Software ist ohne umfassende Tests unvorstellbar. Die Erstellung eines
Programms ist ein komplexer Prozess, in dem vieles auf verschiedenen Stufen schiefgehen
kann. Sollte ein Fehler vorkommen, kann die Suche nach diesem Fehler einen großen
Aufwand der Ressourcen erfordern.

Je später man den Fehler findet, desto schwieriger ist es, diesen Fehler zu beheben. Aus diesem Grund versucht man, das Testen von Software auf verschiedenen Stufen der Entwicklung durchzuführen.

In der Praxis ist es nie möglich, das ganze Produkt vollständig zu testen oder mit einem Test die Wahrscheinlichkeit eines Fehlers auszuschließen. Jeder Test kann nur einen
bestimmten Bereich betreffen, und ein erfolgreiches Ergebnis kann nur besagen, dass in
diesem Test keine Fehler festgestellt wurden. Außerdem ist es aus den Effizienzgründen
wichtig, im Voraus zu formulieren, welchen Bereich und auf welche Art getestet werden soll.
Aus diesen Überlegungen ergibt sich ein Ansatz zum Testen oder eine Teststrategie.

Formulierung der Teststrategie

Die Festlegung der erfolgreichen und kosteneffektiven Teststrategie erfordert die
Rücksichtnahme auf die Ziele des Tests und die vorhandenen Ressourcen. Je nachdem,
wie die Prioritäten gesetzt werden, kann man die Strategien für Softwaretest in vier Typen
aufteilen:

  • Top-Down: Im Fokus liegen die wichtigsten Komponenten und Hauptfunktionen des
    Systems.
  • Bottom-Up: Der Schwerpunkt liegt auf den Detailfunktionen, wobei die
    Hauptfunktionen einem Testdriver überlassen werden.
  • Hardest First: Es werden die schwierigsten Bereiche der Software festgestellt und
    vorrangig getestet.
  • Big-Bang: In diesen Ansätzen test man die gesamte Software auf einmal
    Diese Ansätze lassen sehr grundsätzlich formulieren, wie man an Testaufgaben
    herankommen kann.

Spezifische und Zielgerichtete Teststrategien

Eine Teststrategie entsteht aus der Analyse der möglichen Auswirkungen der Fehler in
Software und der vorhandenen Ressourcen, die man in das Testverfahren investieren kann.
Daher gibt es spezifische Teststrategien, die für bestimmte Ziele umgesetzt werden.

Risikobasiertes Testen

Diese Strategie erfordert die Analyse der möglichen Risiken, die ein Fehler in der Software
auslösen kann. Das Testen ist in diesem Fall auf die Bereiche gerichtet, in denen ein Fehler
die schlimmsten Auswirkungen haben kann. Daher beginnt diese Strategie immer mit der
Auswertung der möglichen Risiken. Die wirksamsten Arten, ein Risiko vorherzusehen, sind
Change-Based Testing, in dem die eingeführten Neuheiten gezielt überprüft werden, und
Regression Testing, indem die Entstehung der neuen Fehler aufgrund der neuen Elementen
überprüft wird.

Datenbasiertes Testen

Bei dieser Strategie trennt man zuerst die Logik der Software von den variierenden Daten.
Diese Strategie lässt das Testen automatisieren. Der Schwerpunkt liegt auf der Logik der
Software, und die Eingabe der verschiedenen Daten erfolgt automatisch. Mit dieser
Strategie kann man die Software mit einer Mehrzahl der konkreten Fällen relativ schnell
testen. Diese Strategie ist für die Bearbeitung von großen Datenmengen sehr gut geeignet.

Testgetriebene Entwicklung

Das wichtigste Merkmal dieser Strategie ist, dass das Testen und die Komponenten dafür
vor der Entwicklung der Software erstellt werden. Wenn die Tests erst nach der Entwicklung der Software durchgeführt werden, kann es ein Zeichen der Zweitrangigkeit von Testen sein. Außerdem können sie wegen des Zeitdrucks oder mangelnder Aufmerksamkeit von Management nicht ordentlich genug erledigt werden. Um diesen Problemen entgegenzuwirken, kann man auf testgetriebene Entwicklung setzen und das Testprogramm schon vor der eigentlichen Software erstellen.

Keyword-Driven Testing

In diesem Fall geht es um einen weiteren wirksamen Ansatz fürs automatisierte Testen.
Unter Schlüsselwörtern versteht man die Abläufe, die sich regelmäßig wiederholen und die
in der Software einen Konstante bilden. Dieser Ansatz erfordert die Analyse der Inhalten von Software, um die notwendigen Schlüsselwörter festzustellen. Obwohl dieses Verfahren
zeitaufwendig erscheinen mag, kann man im Endeffekt durch das Automatisieren vom Test
mehr Zeit gewinnen. Dieser Ansatz wird auch für die Open-Source-Test-Software
verwendet, und auf die können auch die Nutzer ohne Programmierkenntnisse zugreifen.

SMART Testen

Dieses Konzept ist die englische Abkürzung (Specific Measurable Achievable Reasonable
Time-bound). Dieser Ansatz greift nicht die technische Aspekte vom Testen, sondern die
geschäftliche Perspektive. Die Umsetzung von diesem Prinzip ist für jeden Testansatz
wichtig. Es gibt keine perfekte Teststrategie, und jedes Unternehmen muss gut überlegen, welches Ausmaß vom effizienten Testen sie mit vorhandenen Ressourcen sich leisten
können.

Fazit

Für die Auswahl der richtigen Teststrategie müssen verschiedene Faktoren ausgewogen
werden. Jede Strategie lässt nur einen bestimmten Bereich der Software testen, und es ist
wichtig, die Ziele des Tests im Voraus zu setzen und mit Hinblick auf die vorhandenen
Ressourcen einen bestimmten Ansatz zu verwenden.

Share.

Ich bin Vangelis, der Inhaber und Administrator von windowspower.de Ich bin begeisterter Windows-Fan und habe die letzten Jahre zusammen mit meinem Team windowspower.de aufgebaut. Stetig arbeiten wir daran Lösungsvorschläge für alle möglichen Windows-Probleme zu bieten. Ich freue mich sehr, wenn Euch unsere Tipps und Tricks auf windowspower.de helfen.