Gib Software-Bugs keine Chance

Als Bugs bezeichnet man Fehler in einem Computer-Programm. Jede Software, die entwickelt wird, sollte so wenige Bugs wie möglich enthalten. Bei komplexen Programmen ist es jedoch sehr schwierig, alle Fehler zu vermeiden. In vielen Fällen läuft ein Programm problemlos, doch wenn der Benutzer eine Eingabe macht, die der Programmierer in dieser Weise nicht erwartet hat, kann dies zu Problemen führen. Aus diesem Grunde ist es wichtig, ein sogenanntes Bug Fixing durchzuführen – dies ist die Beseitigung dieser Fehler. Das Software Testing ist jedoch eine Aufgabe, die viel Zeit in Anspruch nehmen kann. Spezialisierte Software-Tester entwickeln eigene Programme, die das Ziel haben, die Software mit allen erdenklichen Variationen bei der Eingabe zu füttern, um so die Bugs zu entdecken. Da diese Aufgabe sehr hohe Kosten verursachen kann, ist es ein wichtiger Punkt bei der Entwicklung einer Software, sich zu überlegen, wie umfangreich die Tests sein sollen. Selbstverständlich muss dabei ein Programm, das in kritischen Situationen verwendet wird – wie beispielsweise die Software für ein medizinisches Gerät oder der Bordcomputer eines Flugzeugs – deutlich intensiver getestet werden, als Programme, die lediglich der Freizeitgestaltung dienen, da hier ein Fehler fatale Folgen haben kann. Aber dennoch ist das Bug Fixing beispielsweise auch bei einem Computer-Spiel sehr wichtig. Zwar geht es hier nicht um Menschenleben, doch kann auch hier ein Fehler dazu führen, dass die Kunden zukünftig keine Produkte des Anbieters mehr erwerben, was den wirtschaftlichen Erfolg des Entwicklers stark beeinträchtigen kann.

Ein umfangreiches Software Testing ist daher vor der Veröffentlichung eines Produkts sehr wichtig, um das Image des Unternehmens, das die Software hergestellt hat, nicht zu gefährden.

Eine sehr gute Möglichkeit, um ein Programm schnell, günstig und zuverlässig zu testen, ist das Crowd Testing. Dabei führt nicht ein einzelner Tester oder eine kleine Gruppe das Software Testing durch, sondern eine große Tester-Gemeinschaft – die sogenannte Crowd. Die Auslagerung der Tests an die Crowd hat viele Vorteile. Durch die große Zahl der Tester wird sichergestellt, dass die Software auf einer breiten Auswahl an Plattformen und Geräten getestet wird. Dies kann in einem Testlabor in diesem Umfang und dieser Tiefe nur schwer nachgestellt werden. Die verschiedenen Ansätze der einzelnen Tester erhöhen ebenfalls die Wahrscheinlichkeit, die Fehler zu finden.

Die Möglichkeiten für das Crowd Testing

Je nach Art und Umfang der Software, die überprüft werden soll, gibt es verschiedene Einsatz-Szenarien für das Crowd Testing. Daher wird diese Dienstleistung auch in verschiedenen Formen angeboten.

Explorative Fehlersuche:

Hierbei durchforsten die Prüfer die Software, als ob sie gewöhnliche Nutzer wären. Sie nutzen das Programm und halten dabei alle Fehler fest, die sie finden können – von einem einfachen Rechtschreibfehler bis hin zu einem schwerwiegenden logische Fehler können so viele Bugs gefunden werden.

Usability-Test:

Bei diesem Test wird ein Programm auf seine Benutzerfreundlichkeit überprüft. Wenn bei einem Webshop beispielsweise der Bezahlvorgang sehr kompliziert ist, kann das Programm zwar dennoch genutzt werden, aber es schreckt viele Kunden ab. Solche Probleme werden mit dieser Testreihe aufgespürt.

Funktionaler Test / Test Case:

In diesem Fall kann der Auftragsgeber ein festes Test-Szenario entwerfen. Dabei gibt er die einzelnen Schritte vor, die die Tester beim Software Testing durchführen sollen.

 

Veröffentlicht in Crowd Testing, Software Testing Getagged mit: