Kampf den Bugs

Software Testing, Crowd Testing, Bug Fixing

Software Bug

„Ich bin ein Bug, schmeißt mich hier raus!“
Bildquelle: © julien tromeur – Fotolia.com

Softwaretests  zählen zum A und O von Software-Entwicklungs-Projekten. Es gibt grundsätzlich keine fehlerfreie Software, die Frage ist nur, bis zu welchem Grad man Fehler (sog. Bugs) entdeckt und beseitigt. Dies ist auch eine Frage des Aufwands, der in Softwaretests investiert wird, des Lebenszyklus der Software und der Risikofaktoren. Es liegt nahe, dass ein Programm für Luft- und Raumfahrt oder Herz-Lungen-Automaten gründlicher und länger getestet wird als ein Jump & Run Spiele-App fürs iPhone. Aber vom Grundsatz her sollte auch so eine kleine Spieleanwendung so fehlerfrei wie möglich an den zahlenden Kunden gebracht werden. Selbst wenn die App gratis angeboten wird, steht immer das Image und Marketing-Konzept eines Softwareherstellers dahinter, der durch die kostenlose Verbreitung eines Produkts des Absatz anderer Produkte und Services pushen möchte.

Es empfiehlt sich also, die eigenen Software-Produkte gründlich und ausgiebig zu testen, beovor man sie auf den Markt bringt.

Durch Crowd Testing kann dieses Testen von Software ideal an eine Community von Testern – die Crowd – in Form eines Testprojektes ausgelagert werden. Denn die Crowd verfügt – ebenso wie die späteren Kunden und User – über eine Vielfalt an Geräten und Plattformen, wie sie in einem herkömmlichen Testlabor kaum nachzustellen ist. Eine Liste von Anbietern im deutschsprachigen Raum und weltweit findet man hier.

Welche Testarten gibt es?

  • Explorative Fehlersuche: die Crowd-Tester durchforsten nach Belieben eine Anwendung oder Website und dokumentieren große und kleine Fehler, auch Rechtschreib- oder Übersetzungsfehler, sowie Usability-Probleme – eben alles, was der Crowd so auffällt.
  • Usability-Test: die Tester überprüfen und dokumentieren, inwieweit es bei der Bedienung von Apps, Online-Shops oder Portalanwendungen unnötige Hürden gibt, etwa bei der Suche nach Produkten, beim Bestellvorgang oder der Bezahlung.
  • Funktionaler Test / Testcase: hier wird den Testern ein konkretes Szenario vorgegeben, welches in definierten Schritten durchlaufen und getestet wird. Z.B. ein bestimmtes Produkt in einem Online-Shop zu suchen, zu bestellen und zu bezahlen. Natürlich wird hier nicht mit echten Daten und echtem Geld gearbeitet, sondern in einer eigens vorbereiteten Test-Sandbox.

Beim Crowd Testing sind unterschiedliche Einsatz-Szenarien möglich. Die Aufgaben der Test-Crowd reichen vom Auffinden kleiner Rechtschreibfehler auf Websites bis zu schweren funktionalen Softwarefehlern.

Sind die Bugs erstmal gefunden und dokumentiert, sind natürlich wieder die Entwickler und Programmierer gefragt, die im Rahmen des Bugfixing die gefundenen Softwarefehler bereinigen und ein neues, möglichst fehlerfreies Release, herausbringen.