Hast Du Dich eigentlich schon mal gefragt, was Software Testing überhaupt ist?

Wenn mich das jemand fragt, der nicht aus dem Software Engineering kommt, versuche ich es meistens ungefähr so zu erklären:

Alles, was auf einem Computer, Smartphone oder einem anderen digitalen Gerät läuft, ist Software oder wird von Software gesteuert. Dein Betriebssystem ist Software. Dein Browser ist Software. Jede App auf Deinem Smartphone ist Software.

Diese Software wird entwickelt. Und irgendwann müssen wir herausfinden, ob sie tatsächlich das tut, was sie tun soll – und wie gut sie das tut.

Genau darum geht es beim Software Testing.

Dabei wird Software geprüft, hinterfragt und ausprobiert. Ziel ist es herauszufinden, wo Probleme liegen, welche Risiken bestehen und ob das Produkt für seinen vorgesehenen Zweck gut genug funktioniert.

Das klingt erst einmal simpel. Professionelles Testing ist aber mehr als nur eine fertige Anwendung zu öffnen und ein bisschen herumzuklicken.

Was ist Software Testing?

Kurz gesagt:

Software Testing hilft uns herauszufinden, wie gut eine Software funktioniert, wo Probleme liegen und welche Risiken noch bestehen.

Dabei geht es nicht nur darum, offensichtliche Fehler zu finden.

Tester:innen stellen zum Beispiel Fragen wie:

  • Funktioniert eine Funktion so, wie sie gedacht ist?
  • Was passiert bei ungewöhnlichen Eingaben?
  • Ist eine Anforderung überhaupt eindeutig?
  • Wie verhält sich die Software, wenn etwas schiefläuft?
  • Funktioniert sie auch unter realistischen Bedingungen?
  • Welche Probleme wären für Nutzer:innen besonders kritisch?

Ein guter Softwaretest beginnt deshalb oft nicht mit einem Klick, sondern mit einer Frage.

Tester:innen machen Qualität nicht automatisch besser

Ein weit verbreiteter Irrtum ist: Allein durch das Testen wird Software automatisch besser. 

Wenn ein Tester im Online-Shop einen Fehler beim Bezahlen findet, ist der Fehler damit noch nicht behoben. Aber: Testinglliefert Informationen über Qualität und Qualitätsrisiken.

Auf Basis der gewonnenen Informationen können Entwickler:innen und Produktverantwortliche Entscheidungen treffen, um Fehler zu beheben und so die Qualität gezielt zu steigern.

Und genau dadurch kann Testing letztlich sehr wohl zu besseren Produkten beitragen.

Warum sind Softwaretests wichtig?

Softwaretests sind wichtig, weil sie Qualitätsrisiken frühzeitig aufdeckenund eine verlässliche Entscheidungsgrundlage für den Release einer Software liefern.

Software kann auf sehr viele Arten anders reagieren als erwartet.

Ein einfaches Beispiel:

Ein Online-Shop bietet kostenlosen Versand ab 50 Euro.

Das klingt zunächst nach einer simplen Regel.

Aber was passiert bei:

  • 49,99 Euro?
  • genau 50 Euro?
  • einem Rabatt, durch den der Warenkorb wieder unter 50 Euro fällt?
  • einem Gutschein?
  • einer Stornierung?
  • einer anderen Währung?

Schon aus einer einzigen kleinen Funktion entstehen viele mögliche Situationen.

Die Aufgabe von Tester:innen besteht nicht darin, wahllos möglichst viele Varianten auszuprobieren.

Es geht darum, die interessanten und riskanten Fälle zu erkennen.

Das ist ein wesentlicher Unterschied zwischen „ein bisschen testen“ und professionellem Software Testing.

Testing beginnt nicht erst mit fertiger Software

Ein weiteres verbreitetes Bild ist:

Die Entwicklung programmiert die Software, danach bekommt sie ein:e Tester:in und sucht nach Fehlern.

In der Praxis kann Testing deutlich früher anfangen.

Stell Dir vor, in einer Anforderung steht:

„Die Suchfunktion soll schnell Ergebnisse liefern.“

Was bedeutet „schnell“?

Eine Sekunde? Drei Sekunden? Zehn?

Und wie viele Produkte durchsucht die Suche? Hundert? Eine Million?

Schon beim Lesen fällt auf, dass die Anforderung unklar ist.

Dafür brauchen wir noch nicht einmal fertige Software.

Tester:innen können deshalb bereits dabei helfen, Anforderungen zu hinterfragen, Missverständnisse aufzudecken und mögliche Probleme zu erkennen, bevor sie später im Produkt landen.

Wenn Dich dieser Aspekt interessiert, findest Du dazu auch mehr in unserem Beitrag „Fünf Gründe, warum Requirements Engineering für Tester:innen wichtig ist“.

Kann man Software vollständig testen?

In den meisten Fällen: nein.

Nehmen wir eine Anwendung, die auf verschiedenen Browsern, Smartphones und Betriebssystemen läuft. Dazu kommen unterschiedliche Nutzer:innen, Eingaben, Einstellungen und Daten. Stell Dir ein Formular mit nur 10 Häkchen-Feldern vor: Das sind bereits 2^10 = 1.024 mögliche Kombinationen. Bei einer komplexen App ist ein lückenloser Test schlicht unmöglich.

Deshalb müssen Tester:innen auswählen.

Welche Bereiche sind besonders wichtig?

Wo kann besonders viel schiefgehen?

Welche Fehler wären für Nutzer:innen oder das Unternehmen besonders problematisch?

Professionelles Testing bedeutet deshalb auch immer, Prioritäten unter Einbezug von potenziellen Risiken zu setzen.

Was macht ein:e Software Tester:in eigentlich?

Je nach Projekt kann die Arbeit sehr unterschiedlich aussehen.

Wichtig vorab: Testing ist keine reine Einzellaufbahn, sondern Teamwork. Auch Entwickler:innen, Product Owner oder Fachexpert:innen testen täglich – zum Beispiel durch Unit-Tests, Abnahmetests oder gemeinsame Reviews. Dennoch bringen spezialisierte Tester:innen einen ganz eigenen Blickwinkel, Methodenwissen und die nötige Unabhängigkeit mit ein.

Tester:innen (und alle, die in der Rolle testen) können zum Beispiel:

Tester:innen können zum Beispiel:

  • Anforderungen hinterfragen,
  • Risiken erkennen,
  • sinnvolle Tests überlegen,
  • Software gezielt ausprobieren,
  • Testdaten vorbereiten,
  • automatisierte Tests einsetzen,
  • gefundene Probleme nachvollziehbar beschreiben,
  • Ergebnisse mit dem Team besprechen.

Dabei geht es nicht darum, Entwickler:innen Fehler „nachzuweisen“.

Gutes Testing funktioniert am besten als Teamarbeit.

Alle arbeiten letztlich auf dasselbe Ziel hin: ein Produkt zu entwickeln, das möglichst gut funktioniert und seinen Zweck erfüllt.

Manuell testen oder automatisieren?

Auch das ist keine Entweder-oder-Frage.

Automatisierte Tests sind sehr hilfreich, wenn bestimmte Prüfungen regelmäßig wiederholt werden sollen. Ein Computer kann solche Tests schnell und reproduzierbar  ausführen.

Aber Automatisierung entscheidet nicht von selbst, was sinnvoll getestet werden sollte.

Jemand muss vorher verstehen:

Was könnte schiefgehen?

Was ist wichtig?

Welche Fälle sind besonders interessant?

Wo lohnt sich Automatisierung überhaupt?

Deshalb bleibt Software Testing auch mit immer besseren Werkzeugen eine Tätigkeit, bei der Nachdenken, Erfahrung und Neugier eine große Rolle spielen.

Software Testing bedeutet, gute Fragen zu stellen

Wenn Du aus diesem Artikel nur einen Gedanken mitnimmst, dann diesen:

Software Testing bedeutet nicht einfach, fertige Software durchzuklicken und nach Fehlern zu suchen.

Tester:innen versuchen herauszufinden, wie sich ein Produkt tatsächlich verhält.

Sie stellen Fragen.

Sie suchen nach Risiken.

Sie probieren Dinge aus, die andere vielleicht nicht bedacht haben.

Und sie liefern Informationen darüber, wo ein Produkt gut funktioniert und wo noch Probleme bestehen.

Diese Informationen helfen einem Team dabei, bessere Entscheidungen zu treffen – und dadurch bessere Software zu entwickeln.

Wie kann ich tiefer ins Software Testing einsteigen?

Wenn Du professionell ins Software Testing einsteigen oder Dein vorhandenes Wissen strukturieren möchtest, gibt es viele Themen, die sich von hier aus vertiefen lassen: Testmethoden, Testautomatisierung, risikoorientiertes Testing oder die Zusammenarbeit im Entwicklungsteam.

Eine Möglichkeit für einen systematischen Einstieg ist der ISTQB® Certified Tester Foundation Level (CTFL). Dort werden die Grundlagen professionellen Testens strukturiert vermittelt.

Du möchtest Software Testing von Grund auf lernen oder Dein Team fit für die Praxis machen? Ob ISTQB® CTFL-Zertifizierung oder maßgeschneidertes Training – sprich uns einfach an. Wir finden gemeinsam das passende Format.


FAQ

 

Was ist Software Testing einfach erklärt?

Software Testing umfasst Aktivitäten, mit denen die Qualität von Software und anderen Arbeitsergebnissen untersucht und bewertet wird. Dabei sollen unter anderem Fehlerzustände entdeckt, Qualitätsrisiken sichtbar gemacht und Informationen für Entscheidungen gewonnen werden. Testing besteht deshalb nicht nur aus dem Ausführen einer Software.

Warum sind Softwaretests wichtig?

Softwaretests helfen dabei, Fehlerzustände und Qualitätsrisiken zu erkennen, bevor oder während Software eingesetzt wird. Die gewonnenen Informationen helfen Teams beispielsweise dabei, Fehler zu beheben, Risiken einzuschätzen und fundiertere Release-Entscheidungen zu treffen.

Was macht ein Software Tester?

Software Tester:innen analysieren unter anderem Anforderungen und Risiken, planen Tests, entwerfen Testfälle, bereiten Tests vor, führen sie durch und bewerten sowie kommunizieren die Ergebnisse. Die genaue Tätigkeit hängt stark vom jeweiligen Projekt und Team ab.

Findet Software Testing erst statt, wenn die Software fertig ist?

Nein. Testing kann bereits bei Anforderungen, User Stories, Entwürfen oder anderen Arbeitsergebnissen beginnen. Reviews und statische Analysen benötigen beispielsweise keine ausführbare Software. Frühes Testen kann dazu beitragen, Probleme zu erkennen, bevor sie sich in späteren Arbeitsergebnissen fortsetzen.

Kann Software durch Testing fehlerfrei gemacht werden?

Testing kann zeigen, dass Fehlerzustände vorhanden sind, aber nicht beweisen, dass überhaupt keine mehr existieren. Bei realen Softwaresystemen ist vollständiges Testen in der Regel nicht möglich. Deshalb werden Tests anhand von Zielen, Risiken und Kontext ausgewählt.

Ist Software Testing dasselbe wie Qualitätssicherung?

Nein. Im ISTQB®-Verständnis ist Testing produktorientiert und eine Form der Qualitätskontrolle. Quality Assurance beziehungsweise Qualitätssicherung ist stärker prozessorientiert und präventiv: Sie beschäftigt sich damit, Prozesse so zu gestalten und zu verbessern, dass gute Qualität wahrscheinlicher entsteht.

Brauche ich Programmierkenntnisse, um Software Tester:in zu werden?

Nicht für jede Testing-Tätigkeit sind Programmierkenntnisse zwingend erforderlich. Analytisches Denken, Kommunikationsfähigkeit, Neugier, Fachwissen und ein systematischer Blick auf Risiken sind ebenfalls wichtig. Technisches Wissen und Programmierkenntnisse werden jedoch insbesondere bei technischeren Rollen und in der Testautomatisierung wertvoll.

Was ist der ISTQB® Certified Tester Foundation Level?

Der ISTQB® Certified Tester Foundation Level, kurz CTFL, vermittelt grundlegendes Wissen und eine gemeinsame Terminologie für professionelles Software Testing. Er behandelt unter anderem Grundlagen des Testens, Testing im Softwareentwicklungslebenszyklus, statisches Testen, Testanalyse und -entwurf, Testmanagement und Testwerkzeuge.