Softwaretests sind ein Handwerk. Ein Softwaretester sollte wie ein Handwerker ein fundiertes Verständnis der ihm zur Verfügung stehenden Softwaretesttools haben. Wir haben eine Liste mit 9 verschiedenen Arten von Softwaretests und den von den jeweiligen Arten verwendeten Tools zusammengestellt, damit QA-Analysten und alle anderen, die im Bereich Softwaretests arbeiten, ihr Handwerk besser verstehen.
Warum brauchen wir Softwaretests?
Manchmal ist es wichtig, sich daran zu erinnern, warum das, was man tut, von Bedeutung ist. Tatsache ist, dass jede bisher entwickelte Software, die erfolgreich war, dies mit der Hilfe von Softwaretestern geschafft hat, die unermüdlich dafür gearbeitet haben, das Produkt auf einen möglichst hohen Qualitätsstandard zu bringen. Hier sind drei Gründe, warum Softwaretests wichtig sind.
- Kundenzufriedenheit: Bei der Entwicklung eines Projekts kann man sich leicht im Dickicht des Codes verlieren und vergessen, dass der Nutzer auch mit der Funktionsweise der Software zufrieden sein muss. QA-Analysten und andere QA-Mitglieder übernehmen diese Aufgabe.
- Produktqualität: Jeder Beruf, in dem ein Team oder eine Einzelperson etwas von Grund auf erstellt, erfordert ein anderes Team, das Fehler erkennt. Autoren brauchen Lektoren. Filmregisseure brauchen ebenfalls Lektoren. Softwareentwickler brauchen zwar keine Lektoren, aber sie benötigen ein QA-Team, das eine objektive Sichtweise einbringt und Fehler erkennt.
- Sicherheit: Mit jedem Tag scheint dieser Punkt wichtiger zu werden. Kunden möchten die Gewissheit haben, dass die Informationen, die sie in die Software eingeben, und die Arbeit, die sie darin erledigen, privat bleiben. Ein Teil der QA besteht darin, sicherzustellen, dass Kunden dieses Vertrauen haben.
Methoden des Softwaretestens
Jede in diesem Artikel erwähnte Softwaretesttechnik gehört zu einer von zwei Hauptkategorien: statisches Testen und dynamisches Testen. Bevor wir die spezifischen Einzelheiten der neun verschiedenen Softwaretesttechniken untersuchen, erkläre ich den Unterschied zwischen diesen beiden Methoden und an welcher Stelle im Softwareentwicklungszyklus sie zum Einsatz kommen.
Statisches Testen
Statisches Testen ist eine Art von Softwaretest, die früh im Entwicklungszyklus durchgeführt wird. Es ist eine kostengünstige Möglichkeit, Fehler zu finden, bevor sie für das Entwicklungsteam zu großen Problemen werden. Statische Tests werden früh im Entwicklungszyklus ausgeführt, weil sie durchgeführt werden können, ohne dass eine vollständig funktionsfähige Software vorhanden ist. Richtig, die Software kann bereits auf Fehler untersucht werden, bevor sie auch nur annähernd fertiggestellt ist. Sie sehen, wie nützlich das sein kann?
Statische Tests werden auf zwei Arten durchgeführt:
- Manuelle Prüfungen: Der Code wird von einem QA-Analysten oder Tester analysiert.
- Automatische Analyse: Ein Testtool überprüft automatisch das Programmdokument und vermerkt etwaige Fehler.
Statisches Testen ist:
- Wird durchgeführt, ohne Code auszuführen.
- Kostengünstig.
- Hilfreich, um sicherzustellen, dass die Software die Verifikationsspezifikationen erfüllt.
- Eine Möglichkeit, die grundlegende Ursache von Fehlern zu bestimmen.
Die meisten statischen Tests werden in Form von Dokumentenprüfungen durchgeführt. In diesem Szenario handelt es sich bei einem Dokument entweder um eine schriftliche Beschreibung eines Produkts (bekannt als Softwareentwurfsdokument) oder um den Quellcode des Programms. Hier sind einige statische Testtechniken, die jeder QA-Analyst kennen sollte:
- Informelle Prüfung: Für die informelle Prüfung gibt es keine strengen Richtlinien. Das Team sieht sich die Testdokumente an und kommentiert, was es feststellt. Es gibt keine Dokumentation.
- Durchgang: Der Autor des Codes geht sein Dokument durch, und das QA-Team stellt Fragen und äußert Bedenken. Durchgänge sind normalerweise sehr informell und eine gute Möglichkeit, Themen mit Personen außerhalb des Softwarebereichs zu besprechen.
- Technische Prüfung: Technische Experten kommen zusammen und prüfen die technischen Spezifikationen des Codes. Wenn dies früh im Entwicklungsprozess erfolgt, wird sichergestellt, dass das Endprodukt die erforderlichen Spezifikationen erfüllt.
- Inspektionen: Die formalste aller Prüfungen. Ein Team geschulter Moderatoren inspiziert die Dokumente während des Meetings gründlich. Alle gefundenen Fehler werden formell dokumentiert und zur Überprüfung protokolliert. Es findet eine Nachkontrolle statt, um sicherzustellen, dass die dokumentierten Fehler behoben wurden.
In den meisten Fällen sind statische Testüberprüfungen sinnvoll, da das gesamte QA-Team das Produkt analysiert und auf Grundlage der erkannten und vorhersehbaren Probleme Änderungen vorschlägt. Neben dem Vorteil, eine große Vielfalt an Stimmen in das Gespräch einzubeziehen, besteht ein weiterer Vorteil darin, dass alle Teammitglieder über den Fortschritt und das Design des Projekts auf dem aktuellen Stand sind.
Verwenden Sie statisches Testen, wenn Ihr Team:
- sich in einer frühen Phase des Entwicklungsprozesses befindet.
- nach einer kostengünstigen Möglichkeit sucht, Fehler zu finden.
- Software hat, die noch nicht ausgeführt werden kann.
- Fehler frühzeitig in der Entwicklung erkennen möchte.
Have an account? Log In
Dynamisches Testen
Im Gegensatz zum statischen Testen ist dynamisches Testen eine Art des Softwaretests, bei der Code ausgeführt werden muss. Daher muss die Entwicklung im Produktionszyklus entsprechend weiter fortgeschritten sein. Der Vorteil des Testens ausführbaren Codes besteht darin, dass QA-Analysten untersuchen können, wie sich die Software während der Ausführung in einer realen Situation verhält. Dies ist eine gute Möglichkeit, das funktionale Verhalten der Software und andere Aspekte wie die CPU-Auslastung zu überprüfen. Beim dynamischen Testen wird geprüft, ob das erwartete Ergebnis mit dem Ergebnis im echten Leben übereinstimmt. Das Hauptziel des dynamischen Testens besteht darin, zu überprüfen, ob das Produkt die Design- und Funktionsanforderungen erfüllt, die vor Beginn des Projekts festgelegt wurden.
Beim dynamischen Testen von Systemsoftware gibt es normalerweise vier Schritte, die QA-Analysten kennen sollten:
- Komponententest: Beim Komponententest wird die Software in die kleinstmöglichen Komponenten aufgeteilt und einzeln getestet. Durch dieses Vorgehen können QA-Analysten sicher sein, dass jeder einzelne Teil der Software wie vorgesehen funktioniert. Wird ein Fehler gefunden, lässt er sich in dieser Entwicklungsphase leichter beheben, da der problematische Code schnell isoliert werden kann. Wenn das QA-Team mit dem dynamischen Testen beginnt (obwohl diese Testphase manchmal vom Entwicklungsteam übernommen wird), startet es normalerweise mit Komponententests.
- Integrationstest: Nachdem die Software im Rahmen des Komponententests gründlich in ihre Bestandteile zerlegt und getestet wurde, werden die Bestandteile zu Gruppen zusammengefügt und erneut getestet. Während beim Komponententest sichergestellt wird, dass jeder einzelne Teil ordnungsgemäß funktioniert, wird beim Integrationstest geprüft, ob diese einzelnen Teile wie vorgesehen miteinander kommunizieren. Stellen Sie sich dies wie den Zusammenbau eines Autos vor. In jeder Montagephase werden die Autoteile (der Motor, die Pedale, das Lenkrad) einzeln getestet. Anschließend wird das Auto als Ganzes zusammengebaut und getestet, um sicherzustellen, dass das Gaspedal ordnungsgemäß mit dem Motor kommuniziert (und dass dies auch für die Bremsen gilt!). Möchten Sie eine nahtlose Integration zwischen Modulen sicherstellen? Unsere empfohlenen Softwaretest-Tools können Ihnen genau dabei helfen.
- Systemtest: Der Systemtest ist die dritte Ebene des Softwaretests. In dieser Phase wird eine vollständige und vollständig integrierte Software getestet. Zweck des Systemtests ist es sicherzustellen, dass die Software die Anforderungen erfüllt, also das tut, wofür sie entwickelt wurde.
- Abnahmetest: Die letzte Phase des dynamischen Testens. Beim Abnahmetest wird erneut gegen die Anforderungen getestet und sichergestellt, dass die Software einen akzeptablen Qualitätsstandard erreicht. Damit soll sichergestellt werden, dass keine Fehler durch die anderen Testphasen gelangt sind. Im Wesentlichen handelt es sich um eine zusätzliche Überprüfung aus Sicherheitsgründen.
Phasen des dynamischen Testens
- Komponententest
- Integrationstest
- Systemtest
- Abnahmetest
Kurzer Tipp: Verifikation vs. Validierung beim Testen
Verifikationstests weisen alle wesentlichen Merkmale des statischen Testens auf. Zweck eines Verifikationstests ist es, alle Dokumente und den Code zu überprüfen. Dies wird mit denselben Methoden erreicht, die beim statischen Testen verwendet werden.
Ebenso weisen Validierungstests alle wesentlichen Merkmale des dynamischen Testens auf. Bei einem Verifikationstest geht es darum zu bestätigen, dass die Software eine hohe Qualität aufweist – genau darum geht es auch bei System- und Abnahmetests.
Nachdem wir nun einige wichtige Konzepte im Zusammenhang mit Softwaretests behandelt haben, sehen wir uns die 9 Arten von Softwaretests an, die jeder QA-Analyst kennen sollte.
9 Arten von Softwaretests, die jeder QA-Analyst kennen sollte:
- Blackbox
- Whitebox
- Graue Box
- Automatisiert
- Komponentenbezogen
- Regression
- Explorativ
- Funktionstest
- Gebrauchstauglichkeitstest
1. Blackbox-Tests
Blackbox-Tests sind eine Softwareteststrategie, bei der dem Tester der Aufbau des zu testenden Softwaresystems unbekannt ist.
Erinnern Sie sich an die Szene am Ende von Pulp Fiction, in der Samuel Jackson den Aktenkoffer öffnet und sein Gesicht aufleuchtet? Als Zuschauer wissen wir, was der Aktenkoffer im Kontext des Films bedeutet und darstellt, erfahren aber nie, was sich darin befindet. Ein Blackbox-Tester ist der Zuschauer: Er weiß, was das betreffende Objekt – ob Aktenkoffer oder Systemsoftware – tun soll, aber nicht, woraus es besteht.

Ein Tester, der für den Blackbox-Test einer Zeiterfassungssoftware zuständig ist, öffnet das Programm, ohne Kenntnisse über den internen Aufbau der Software zu haben, und probiert die verschiedenen Funktionen und Menüs aus, um sicherzustellen, dass sie wie erwartet funktionieren. Der Grund für Blackbox-Tests ist, dass der Tester ohne detaillierte Kenntnisse des Softwaredesigns mit ähnlichen Erwartungen an die Software herangeht wie der Endbenutzer.
Einige Vorteile von Blackbox-Tests sind:
- Tester benötigen keine umfassenden Kenntnisse von Programmiersprachen, da sie die Software aus der Perspektive eines Benutzers verwenden.
- Sie ermöglichen eine unvoreingenommene Bewertung der Software, da der Softwaretest vom QA-Team und nicht von den Softwareentwicklern durchgeführt wird.
- Die Tester müssen nicht mit der Entwicklung der Softwaresysteme vertraut sein, sodass nur sehr wenig Vorlaufzeit erforderlich ist, bevor die Tests durchgeführt werden können.
Weiterführende Lektüre: Die 10 besten Werkzeuge für Blackbox-Tests
2. Whitebox-Tests
Bei Whitebox-Tests versteht das QA-Mitglied den internen Aufbau und das Design der getesteten Software vollständig. Es nähert sich dem Test wie ein Inspektor und stellt sicher, dass jeder Teil des Programms ordnungsgemäß funktioniert. Whitebox-Tests werden manchmal als Tests der transparenten Box bezeichnet, da der Tester die Interaktionen zwischen den Einheiten beobachtet, während er die Software testet. Im Gegensatz zu Blackbox-Tests ist ein Whitebox-Tester nicht annähernd so stark auf die Benutzererfahrung fokussiert.
Einige Vorteile von Whitebox-Tests sind:
- Tests können bereits in frühen Entwicklungsphasen durchgeführt werden. Die grafische Benutzeroberfläche (GUI) muss noch nicht vollständig funktionsfähig sein.
- Die Tests sind gründlicher und gezielter als Blackbox-Tests.
Im Beispiel von Pulp Fiction ist der Whitebox-Tester die von Tim Roth gespielte Figur, die direkt auf das starrt, was sich im Aktenkoffer befindet.

3. Greybox-Tests
Bei Greybox-Tests verfügt der Tester über gewisse Kenntnisse des internen Aufbaus und Designs der Software (Whitebox), testet aber weiterhin aus der Perspektive eines Endbenutzers (Blackbox). So entstanden die Greybox-Tests. Beim Greybox-Test wird der Testentwurf unter Berücksichtigung des internen Aufbaus der Software entwickelt, während der eigentliche Test über die Benutzeroberfläche durchgeführt wird.
Wenn es sich wieder um jene berühmte Szene aus Pulp Fiction handeln würde, wäre der Greybox-Tester weder das Publikum noch Tim Roth. Diesmal ist der Tester Quentin Tarantino selbst.
4. Automatisierte Tests
Automatisierte Tests verwenden Software, um Aufgaben ohne manuelle Anweisungen eines Testers auszuführen.
Bei manuellen Tests schreibt der Tester den auszuführenden Code oder plant den Softwarepfad, dessen ordnungsgemäße Funktion er überprüfen möchte. Automatisierte Tests übernehmen solche Aufgaben anstelle der Tester. Hier ist eine kurze Liste automatisierter Software- und QA-Werkzeuge, die QA-Analysten kennen sollten:
Eine ausführlichere Bewertung von Werkzeugen für automatisierte Tests finden Sie in der Liste der besten Werkzeuge für automatisierte Tests, die Sie verwenden sollten.
5. Modultests
Tools für Unit-Tests stellen sicher, dass jeder einzelne Teil der Software ordnungsgemäß funktioniert. Es ist äußerst wichtig, sicherzustellen, dass Unit-Tests ordnungsgemäß durchgeführt werden, da das Entwicklungsteam andernfalls einen erheblichen Rückschlag erleiden wird, wenn es später feststellt, dass ein wichtiger Teil seiner Software nicht funktioniert.
6. Regressionstests
Tools für Regressionstests führen alte Tests auf neuen Builds aus, um sicherzustellen, dass die Software weiterhin wie vorgesehen funktioniert. Regressionstests schützen Entwickler vor verzögerten Auswirkungen, indem sie sicherstellen, dass eine Änderung an der Software an Punkt A nicht versehentlich etwas an Punkt D beeinträchtigt.
Für einen QA-Analysten sollten zwei Schritte nach vorn und ein Schritt zurück nicht als etwas Negatives betrachtet werden. Wenn Sie gelegentlich einen Schritt zurückgehen, stellen Sie sicher, dass Sie später nicht Gefahr laufen, fünfzig Schritte zurückzugehen.
7. Exploratives Testen
Exploratives Testen ist Testen für Menschen, die keine Planung mögen. In den meisten anderen Situationen wird der Testfall vor seiner Ausführung gründlich geplant. Hier nicht. Wenn ein Tester einen explorativen Test durchführt, untersucht er die Software ohne vordefinierten Plan und verwendet dafür spezialisierte Tools für exploratives Testen.
Der Vorteil des explorativen Testens besteht darin, dass der Tester seine Erkenntnisse unmittelbar berücksichtigen kann, ohne einen weiteren Testfall schreiben zu müssen. Exploratives Testen ermöglicht außerdem Zusammenarbeit, das Entwickeln von Theorien und den Austausch in Echtzeit.
Da die agile Entwicklungstheorie an Bedeutung gewonnen hat, gilt dies auch für exploratives Testen. Indem QA-Tester ihre Intuition einsetzen können, werden viele interessante Fehler entdeckt, nach denen eine herkömmliche Testausführung möglicherweise nicht gesucht hätte.
Seien Sie gewarnt: Exploratives Testen kann ein hohes Maß an Kreativität erfordern.

More Articles
8. Funktionstests
Funktionstests werden durchgeführt, um sicherzustellen, dass die Systemsoftware den Anforderungen des Projekts entspricht, die vor Beginn der Entwicklung festgelegt wurden.
Der Softwaretester prüft, ob seine Eingaben mit der erwarteten Ausgabe übereinstimmen. Dieser Test wird in einer der letzten Testphasen durchgeführt, entweder beim Systemtest oder beim Abnahmetest, und ist ausschließlich eine Form des Black-Box-Tests, da es nicht darauf ankommt, wie die Software funktioniert, solange sie funktioniert.
9. Gebrauchstauglichkeitstests
Tester der Gebrauchstauglichkeit stellen sicher, dass die Designentscheidungen funktional und zugleich intuitiv sind.
Wenn Sie vorhersagen, dass viele Nutzer Ihrer Software ihre Dokumente jede halbe Stunde sichern möchten, sollte die Sicherungsfunktion an einer leicht zugänglichen Stelle platziert werden, anstatt hinter vier Untermenüs verborgen zu sein.
In vielen Fällen wurde eine Software entwickelt, die einwandfrei funktioniert und einen wichtigen Bedarf auf dem Markt erfüllt, aus der Perspektive der Nutzer jedoch überhaupt nicht navigierbar ist. Dies lässt sich durch einen Mangel an Gebrauchstauglichkeitstests während der Softwaretestphase erklären.
Letztendlich wird es unabhängig davon, wie gut eine Software technisch ist, schwierig sein, einen Markt zu finden, wenn die Nutzer sie nicht gerne verwenden.
Möchten Sie mehr?
Die Softwaretestbranche verändert sich ständig, und QA-Analysten müssen über aktuelle Trends auf dem Laufenden bleiben. Es gibt unzählige Ressourcen zum Softwaretesten, darunter Podcasts, Bücher, Newsletter und vieles mehr.
Abonnieren Sie den Newsletter von The CTO Club für Produktneuigkeiten, Tool-Bewertungen und weitere Zusammenstellungen nützlicher Ressourcen.




