Softwaretesting

Softwaretesting findet Fehler in der Software

Softwaretestings gehören zu den grundlegenden Prinzipien in der Softwaretechnik. Softwaretester sind Experten darin, Software zu testen und Fehler zu finden, die der Entwickler des zu testenden Codes nicht vorausgesehen hat. Der Hintergrund: Immer wieder kommt es im Wirtschaftsleben zu Softwarepannen. Spektakuläre Pannen in den vergangenen Jahren beispielsweise sind eine Flughafeneröffnung, die verschoben werden musste, weil das Gepäcksystem versagte – so geschehen in London Heathrow – oder Kundenkonten, die tagelang bei einer Bank nicht abrufbar waren, weil die neue Software nicht funktionierte. Weniger spektakuläre Pannen kommen im IT-Bereich immer wieder mal vor: Softwaretestings sollen sie im Vorfeld verhindern und die Nutzerzufriedenheit erhöhen.

Softwaretestings finden auf allen Ebenen der Softwareentwicklung statt – die kleinsten Einheiten des Codes werden genauso Softwaretestings unterzogen wie die fertige Software als Ganzes. Oft fehlen Motivation oder Verständnis dafür, Tests für eine Routine, die auf den ersten Blick korrekt aussieht und erwartete Ausgaben produziert, zu entwickeln. Softwaretestings aber sollen das Vertrauen in die Software erhöhen und Fehler aufdecken. Nicht nur Fehler die beispielsweise im Code dafür verantwortlich sind, dass falsche Ausgaben produziert werden, sondern auch Fehler in Spezifikationen, die dadurch entstehen, dass Nutzer und Entwickler sich falsch verstanden haben – oder Fehler, die aufgrund nicht kompatibler Elemente unterschiedlicher Software entstehen. Außerdem muss durch ein Softwaretesting verifiziert werden, dass die Software alle Anforderungen, die in der Softwarespezifikation formuliert sind, erfüllt werden.

Softwaretesting verhindert Softwarepannen, die viel Geld kosten

Fest steht: Die Programme sind komplexer geworden und mittlerweile müssen Softwareunternehmen deshalb mehr Aufwand im Bereich des Softwaretestings betreiben als früher. Im Bereich des Softwaretestings unterscheidet man zwischen Validierung und Verifizierung. Auf allen Ebenen der Softwareentwicklung findet man den gleichen Prozess – es existieren Anforderungen, aus denen Spezifikationen abgeleitetet werden und anhand dieser Spezifikation findet eine Implementation statt. Wann immer etwas gegen eine Spezifikation getestet wird, spricht man von einer Verifizierung, während Tests gegen die Anforderungen Validierungen sind. Auch in welchem Maße Softwaretesting stattfinden sollte, ist eine Frage, die sich immer wieder stellt. Testabdeckung bezeichnet das Verhältnis zwischen den tatsächliche gemachten Tests und den insgesamt möglichen Tests.

Weitere Informationen zum Thema Softwaretesting gibt es auf der Website der Wikipedia Enzyklopädie https://de.wikipedia.org/wiki/Softwaretest

Und auf der Website der Enzyklopädie der Wirtschaftsinformatik http://www.enzyklopaedie-der-wirtschaftsinformatik.de/lexikon/is-management/Systementwicklung/Hauptaktivitaten-der-Systementwicklung/Software-Implementierung/Testen-von-Software/