Warum braucht man bei der Softwareentwicklung eigentlich Testing?
Software zu entwickeln mag in Hollywoodfilmen immer sehr einfach und vor allem betont cool aussehen. Fakt ist, dass es sich dabei um eine sehr komplexe Aufgabe handelt und es verschiedene Herangehensweisen gibt. Darüber hinaus ist kein Mensch perfekt und demzufolge enthält auch Software Schwächen.
Natürlich liegt einigen Firmen daran, ein formidables Produkt auf den Markt zu bringen. Aber ebenso wie ein Autor schreibt und dann neu schreibt und korrigiert und neu schreibt und…. ebenso muss Software getestet werden. Egal ob Desktop (Windows, OS X, Linux, Unix etc.) oder Mobile (Android iOS, Sailfish OS, Firefox OS, Blackberry etc.), es gibt einige Betriebssysteme und insbesondere ein weit eingesetztes Programm soll nach Möglichkeit auf den verschiedensten Betriebssystemen gleich stabil laufen. Das ist ein komplexes Unterfangen, zumal die einzelnen Betriebssysteme oft noch eine Vielzahl von Updates haben. Wie können Unternehmen nun schauen, dass ihre Software auf so vielen Plattforen wie möglich läuft? Indem Sie Tester beschäftigen, welche aktiv nach Problemen und Bugs einer Software suchen.
Hierbei gibt es unterschiedliche Herangehensweisen. Auf der einen Seite kann man einfach mit einer Software rumspielen, verschiedene Szenarien testen oder versuchen Sie zum Absturz zu bringen. Ein solcher Stresstest ist sicherlich Bestandteil eines ausgiebigen Testverfahrens. Ebenso sollte eine intensive Kommunikation mit den Entwicklern erfolgen. Wo sehen diese potenzielle Schwächen? Wo könnten diese aber auch sorgfältiger arbeiten?
Ebenso sollten Tester ihre Arbeit und Ergebnisse genau protokollieren. Wie wurde ein Absturz herbeigeführt? Auf welchem Gerät und welches Betriebsystem war auf selbigem installiert? Wenn manch einer denkt, Testing heißt ein paar Knöpfe zu drücken und dann dem Entwickler eine E-Mail zu schreiben, so unterschätzt er die Komplexität der Materie.
Besonders sensibel wird das Testing bei Software welche in Banken eingesetzt werden. Hier können schon kleinste Rundungsfehler zu extrem großen Problemen führen. Deswegen ist es beispielsweise für Entwickler, welche Software für Banken entwickeln sehr wichtig, dass sie sich der delikaten Natur Ihrer Arbeit bewusst sind und auch ein wenig Einblick in die Bankenwelt haben.
Selbiges gilt natürlich auch für Tester. Gute Tester machen sich Gedanken über Bugs und Probleme, welche eine beispielhafte Bank bedrücken könnten und testen die Software ausgiebig, um diese Probleme vorab schon zu vermeiden.