Crowdtesting – eine Ergänzung des traditionellen Softwaretestings

Artikel von Anna-Lena Müller und Markus Steinhauser

Die gesamte IT-Branche und in der Folge auch das Software-Qualitätsmanagement sowie -Testing ist permanenten Änderungen ausgesetzt: Neue Technologien (z. B. Mobilität), neue Anforderungen etwa im Bereich Methoden und Prozesse (z. B. Agilität), Änderungen an Regulatorien und Standards (z. B. SEPA) sowie zahlreiche andere Herausforderungen wie beispielsweise die Anwendersicht auf IT Systeme (z. B. Benutzungskonzepte und Usability) machen Softwaretesting komplexer und anspruchsvoller. Außerdem nimmt die H eterogenität von Endgeräten, Betriebssystemen, Bildschirmauflösungen und Konfigurationsmöglichkeiten stetig zu. Software muss auf allen Systemen richtig ausgeführt, Daten richtig verarbeitet und reproduzierbare Ergebnisse geliefert werden. In der Summe erfordert dieser Wandel neue Wege. Dabei muss das Rad des Softwaretestings jedoch nicht neu erfunden, sondern lediglich um Komponenten ergänzt werden – besonders an diese neuen Entwicklungen angepasst ist eine recht junge Methode namens Crowdtesting.

Crowdtesting – Softwaretesting mithilfe von Internetnutzern

Crowdtesting kombiniert Testing mit dem Prinzip des Crowdsourcings. Crowdtesting ist folglich eine Form des Outsourcings von Testingaufgaben an eine Masse an Internetnutzern (die Crowd). Die Crowd arbeitet an einer definierten Problemstellung und unterstützt das Unternehmen mit seinen Lösungsvorschlägen. Crowdtesting nutzt also die Schwarmintelligenz der weltweiten Internetgemeinde um Webseiten, mobile Apps, Games oder Enterprise Software zu testen, von Bugs zu befreien sowie die Usability zu optimieren. So kann Software von einer gewünschten Zielgruppe endkundenbasiert unter realen Bedingungen auf einer Vielzahl an Endgeräten getestet werden – auch vor dem Release. Wie crowdbasiertes Softwaretesting im Detail funktionieren kann und welche Vor- aber auch Nachteile Crowdtesting mit sich bringt, soll im Folgenden skizziert werden.

Grundprinzip Crowdsourcing

Das Grundprinzip des Crowdsourcings sieht vor, eine bestimmte Problemstellung an eine bestimmte Personengruppe zu verteilen, die die Aufgabe hat, diese ohne größere Vorkenntnisse zu lösen. Die beteiligten Personen sind zum einen motiviert mit ihrem Feedback zur Problemlösung beizutragen und werden zum anderen für ihr Engagement vergütet.

Im deutschsprachigen Raum gibt es derzeit einige wenige Crowdtestinganbieter, die Plattformen aufgebaut haben, um crowdbasierte Testprojekte abzuwickeln. Das Münchner Unternehmen Testbirds beoispielsweise bietet seit Ende 2011 seine Crowdtesting-Dienstleistung an und hat sich auf das Testen von mobilen Apps, Webseiten, Games sowie Enterprise Software spezialisiert. Das Portfolio umfasst Bugtesting, Usabilitytesting und kombiniertes Testing.

Prozesse des Crowdtesting

Der Prozess eines crowdbasierten Tests beginnt mit einem Briefinggespräch, in dem Projektmanager und Kunde die Rahmenbedingungen des Tests definieren. Hier geht es u. a. um den Fokus des Projekts (Bugtesting und/oder Usabilitytesting bzw. kombiniertes Testing), die gewünschte Zielgruppe sowie deren Endgeräte. Wurden diese Parameter festgelegt, wählt der Anbieter geeignete Tester aus und spielt die entsprechende Software über die hauseigene Plattform an die Crowd aus bzw. stellt diese online zur Verfügung. Die Personen testen dann in ihrer gewohnten Umgebung, auf ihren eigenen Geräten und im Gegensatz zu Entwicklern unvoreingenommen die Anwendung. Die Crowd gibt Feedback in Form von Vorgangsbeschreibungen, Screenshots oder Screencasts, welches anschließend von einem Projektmanager ausgewertet und als Abschlussberichts mit Handlungsempfehlungen sowie als Exportdatei zur Verfügung gestellt wird.

Vorteile des crowdbasierten Softwaretestings

Die Vorteile des Crowdtestings liegen demnach vor allem darin, dass die Crowd aus echten Nutzern besteht, die Software flexibel testen und die Realität besser abbilden kann als herkömmliche inhouse Tests. Außerdem verfügt die Crowd über vielfältige Kombinationen von Geräten, Betriebssystemen und Browsern. Der große Pool an unterschiedlichen Testern ermöglicht die Wahl spezifischer Zielgruppen sowie von Freizeittestern, über Spezialisten bis hin zu zertifizierten Testern. Da der Testprozess an sich schnell und flexibel ist, kann er optimal in bestehende Releasezyklen integriert und identifizierte Mängel können sofort behoben werden. Beide Aspekte führen zu einer erheblichen Reduzierung der Entwicklungskosten. Durch diese Vorteile wird die Qualität der Software gesteigert und dem Kunden bleiben mehr Ressourcen zur Weiter- oder Neuentwicklung von Produkten.

Für den Erfolg von Crowdtestingprojekten ist die zur Verfügung stehende Crowd, die die Anwendung testet, ebenso entscheidend wie ein professionelles und qualitativ hochwertiges Projekt- und Prozessmanagement. Der Auftraggeber muss die Gewissheit haben, dass zu jedem Zeitpunkt der Testphase die übermittelten Daten vertraulich behandelt werden – vor allem bei bisher unveröffentlichter Software. Es ist die Pflicht des Dienstleisters sicherzustellen, dass sämtliche Informationen und Inhalte diskret behandelt werden. Außerdem sind Projektmanager gefordert, die Crowd gemäß den Test- und Kundenanforderungen zu selektieren und zu koordinieren. Damit einhergeht die Qualität der Testergebnisse: Der Anbieter trägt Sorge dafür, dass die Qualität der eingereichten Testberichte den Dienstleistungsstandards und Kundenanforderungen entspricht.

Bei Software Testing im Allgemeinen und Crowdtesting im Speziellen spielt das Thema Qualität eine enorm wichtige Rolle. Bei Testbirds etwa müssen alle Tester den sogenannten „Einstiegstest“ absolvieren, um an bezahlten Projekten teilnehmen zu können. Ein Projektmanager prüft außerdem sämtliche Berichte und Bugs auf Vollständigkeit, Nachvollziehbarkeit sowie Qualität und gibt sie dann erst für den Kunden frei. Durch ein Testprotokoll inklusive Screenshots wird zudem sichergestellt, dass sämtliche Aufgaben tatsächlich durchgeführt wurden um so die Testabdeckung zu gewährleisten.

Ausschlaggebend für den Erfolg von Crowdtesting sind demnach zum einen die Crowd der Testpersonen sowie ein reibungsfreier Prozessablauf, der von den zugrundeliegenden Managementprozessen abhängt. Sind diese beiden Parameter garantiert kann Crowdtesting das traditionelle Softwaretesting sinnvoll ergänzen, da die Crowd, die nicht in die Entwicklung der Anwendung involviert ist, wertvolle Impulse gegeben kann. Die Crowd hat im Gegensatz zu den sehr involvierten Entwicklern einen neutralen, unvoreingenommenen Blick für die Stärken und Schwächen der Software – das ist besonders wichtig, wenn diese anwenderorientiert ist bzw. deren Erfolg von der Annahme durch den Nutzer abhängt, kurzum die User Acceptance als kritischer Faktor entscheidet. Durch die vielfältige Abdeckung unterschiedlicher Gerätekombinationen können ferner Bugs auf nahezu allen Endgeräten identifiziert werden. In einer klassischen Testingumgebung wäre dies um ein vielfaches aufwändiger und teurer. Angebote wie das sogenannte Bug Approvel erlauben es außerdem, sämtliche gefundenen Bugs durch alle teilnehmenden Tester auf dem jeweiligen Gerät überprüfen zu lassen. So können systemübergreifende Probleme von Einzelfällen differenziert und dementsprechend höher priorisiert werden.

Automatisierte Tests sind ein wichtiger Bestandteil des Entwicklungs- und Qualitätsprozesses. Allerdings führen ein wachsendes Überangebot sowie die enorm hohen Ansprüche der Nutzer dazu, dass Kleinigkeiten über Erfolg und Misserfolg am Markt entscheiden. Unter den richtigen Bedingungen kann Crowdtesting den entscheidenden Wettbewerbsvorteil sichern.

Insofern ist Crowdtesting keine Alternative zu automatisierten Tests oder interner QA. Vielmehr handelt es sich um eine weitere Stufe der Qualitätssicherung, die viele aktuelle Probleme adressiert wie den Zugriff auf sämtliche verfügbaren Geräte. Im Smartphone-Bereich bieten verschiedene Anbieter remote-Zugriff auf physikalische Geräte, die mittels einer Software angesteuert werden. Vor allem durch Touch Displays kommt dies der tatsächlichen Nutzung jedoch allenfalls nahe. Über das Budget und die Zeit, sich ständig mit den neusten Geräten auszustatten, verfügen hingegen nur wenige Unternehmen. Bei Web- oder Desktopanwendungen spielt die Browservielfalt in Kombination mit unterschiedlichen Betriebssystemen nicht erst seit Einführung sogenannter „Silent Updates“ eine Rolle.

Frank Simon schreibt in einem Blogeintrag über Crowdtesting als „Verstärker des klassischen Tests“ (Simon 2012). Crowdtesting kann demnach als eine wichtige, zusätzliche Prüfung im qualitativen Softwaretesting verstanden werden. Simon kommt in seinem Beitrag zu dem Schluss, dass Crowdtesting eine Applikation krönen kann (vgl. Simon 2012).

Neben Onlineshops nutzen bereits Unternehmen aus nahezu sämtlichen Branchen von Banken und Versicherungen über Food bis hin zu Medien- und Verlagshäusern das Angebot des crowdbasierten Softwaretestings, denn letztlich erwarten die Kunden all dieser Bereiche auch im Web oder als App einen professionellen Auftritt des jeweiligen Unternehmens.

 

Weitere Artikel vom testing experience Magazin

Automatisierung oder nicht – Lösen wir das richtige Problem? von Markus Gärtner

TMMi: Warum Reifebestimmung wichtig ist von Michiel van der Voort

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kategorien

Recent Posts