Kleiner BUG – großer GAU

Software-Fehler vermeiden durch Crowdtesting
Kommentare

Erfüllt meine Software die definierten Anforderungen? Laufen alle Funktionen fehlerfrei? Kann meine App nicht nur auf dem Samsung Galaxy III genutzt werden, sondern auch auf dem neusten Huawei? Umfassende funktionale Tests sind die Grundvoraussetzung für hohe Qualität. Bei der Durchführung helfen externe Dienstleister und ergänzende Methoden wie das sogenannte Crowdtesting.

Sie führen zu Stromausfällen, Bahn-Chaos oder sogar Raketenabstürzen. Die Rede ist von Software-Fehlern, sogenannten Bugs. Natürlich müssen die Konsequenzen nicht direkt so dramatisch sein wie beispielsweise bei der Explosion der Raumsonde Mariner I im Juli 1962, die aufgrund eines falschen Symbols im Steuercode der Rakete außer Kontrolle geriet und in der Folge aus Sicherheitsgründen zerstört werden musste, oder dem Black Monday in den 80er Jahren, bei dem der Dow Jones infolge eines Crashs über 20 Prozent verlor. Aber auch mit weniger weitereichenden Folgen können Software-Fehler das Geschäft jeder Firma empfindlich ins Stolpern bringen und zu großen wirtschaftlichen Schäden führen. Ihre Vermeidung spielt in der Programmentwicklung daher eine essentielle Rolle.

Funktionales Testing für mehr Qualität

Egal ob Webseite, App oder Businessanwendung – Software muss stets höchsten Anforderungen genügen, denn die Nutzer erwarten von Anfang Perfektion. Nur wer seine Anwendungen richtig testet kann das Risiko von Fehlern minimieren. In der Praxis zeigt sich jedoch, dass diesem Entwicklungsbestandteil oft zu wenig Aufmerksamkeit geschenkt wird. Viele Unternehmen räumen dem Testing weder ausreichend Zeit ein, noch gibt es ein dezidiertes Test-Management, das sich um die entsprechende Umsetzung bzw. das systematische Aufsetzen der Testfälle kümmert. Zeitdruck und Personalmangel tragen ihr Übriges dazu bei, dass am Ende des Entwicklungsprojektes oft nur stichprobenartig, unsystematisch und ad hoc überprüft wird, ob die Software funktioniert. Im schlimmsten Fall steht der Launch dann schon so kurz bevor, dass schlichtweg keine Zeit mehr bleibt, um die gefundenen Fehler noch zu korrigieren und erneut zu testen.

Frühzeitiges Testing gegen langfristiges Nachsehen

Um dies zu vermeiden ist es wichtig, so früh wie möglich mit der systematischen Fehlersuche zu beginnen und projektbegleitend die einzelnen Entwicklungsstufen zu überprüfen. Darüber hinaus ist es entscheidend, nicht nur die Entwickler selbst als Tester einzusetzen, sondern außenstehende Dritte mit einzubeziehen. Zwar sind die Entwickler selbst natürlich die Experten der jeweiligen Software, gleichzeitig fehlt ihnen aber auch die Objektivität, um ihre eigenen Produkte kritisch zu hinterfragen oder sie sehen den sprichwörtlichen Wald vor lauter Bäumen nicht – Stichwort „Betriebsblindheit“. Hier können professionelle Software-Tester mit einer entsprechenden Ausbildung oder unvoreingenommene Endverbraucher einen großen Mehrwert bieten. Sie haben nicht nur einen anderen Blick auf die zu testende Software, sondern gleichzeitig werden durch ihren Einsatz auch die unternehmenseigenen Ressourcen geschont und das Projekt kommt so insgesamt deutlich schneller voran. 

Crowdtesting – jederzeit verfügbar und äußerst flexibel

Seit einigen Jahren existiert mit dem sogenannten Crowdtesting eine weitere Methode, um Software auf Herz und Nieren zu prüfen. Mithilfe der Schwarmintelligenz der weltweiten Internetgemeinde können sowohl funktionale Tests als auch Usability-Tests unter realen Bedingungen durchgeführt werden. Der Tester-Pool der Crowdtesting-Anbieter spiegelt dabei einen Querschnitt der Bevölkerung wider. Neben Studenten, Hausfrauen oder Ärzten befinden sich darunter auch zertifizierte Profitester, die je nach Bedarf zu einer Testgruppe zusammengestellt werden können. Über das Internet sind die Crowdtester jederzeit abrufbar und einsatzbereit, so dass sie selbst bei kurzfristigen personellen Engpässen schnell und unkompliziert zu Hilfe eilen können.

Besondere Herausforderung: mobile Apps und Webseiten

Aber nicht nur die unterschiedlichen Erfahrungshintergründe der Tester und die Flexibilität sind ein Vorteil der Methode. Die Stärken zeigen sich insbesondere beim Thema Mobile. Die Vielfalt an Geräten und Betriebssystem nimmt kontinuierlich zu und damit erhöht sich auch der Aufwand für das Testing. Denn natürlich muss eine App oder mobile Webseite auf möglichsten allen Devices und Systemen fehlerfrei laufen. Besonders im Android-Bereich ist die Fragmentierung enorm hoch.

Diese Vielfalt mit einer internen Testabteilung abzubilden ist für Unternehmen kaum möglich. Die Vielzahl der registrierten Tester bei den Crowdtesting-Anbietern deckt hingegen nahezu alle Geräte ab.

Crowdtesting – Ergänzung und nicht Ersatz der hauseigenen QA

Dennoch ist Crowdtesting kein Ersatz für die hauseigene Qualitätssicherung. Vielmehr ergänzt sie diese durch einen stärker nutzerzentrierten Ansatz und trägt so dazu bei, die Qualität der Software im Ganzen zu optimieren und ein Produkt auf den Markt zu bringen, das bereits den kritischen Blick der Verbraucher bestanden hat. Insbesondere bei Anwendungen mit sehr sensiblen Unternehmensinternas muss jedoch abgewogen werden, in welchem Entwicklungsstadium der Einsatz von externen Dritten am vielversprechendsten ist. Bei Software die spezielles Fach- oder Hintergrundwissen erfordert – wie etwa bei Enterprise Apps – kann es zudem sinnvoll sein, die eigenen Mitarbeiter in den Testingprozess einzubeziehen. Wichtig ist auch in diesem Fall, dass die Abwicklung der Tests nicht ziel- und planlos erfolgt, sondern vielmehr strukturiert und methodisch-systematisch. Hier wiederum können die Plattform bzw. die bereits vorhandene Infrastruktur und die Erfahrung der Crowdtesting-Anbieter wertvolle Dienste erweisen.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -