Schwarmintelligenz beim Test von Apps und Webseiten

Qualitätssicherung 2.0 mit Crowdtesting

Georg Hansbauer, Anna-Lena Müller
©Shutterstock.com/aquapix

Die IT-Branche sieht sich ständig mit neuen Technologien konfrontiert. Das hat weitreichende Auswirkungen. Änderungen an Regulatorien und Standards sowie zahlreiche andere Herausforderungen, wie beispielsweise die Anwendersicht auf IT-Systeme, machen u. a. Softwaretesting immer komplexer und anspruchsvoller, zumal die Heterogenität von Geräten, Betriebssystemen, Bildschirmauflösungen und Konfigurationsmöglichkeiten stetig steigt. Software soll jedoch auf allen Systemen korrekt ausgeführt, Daten richtig verarbeitet und reproduzierbare Ergebnisse geliefert werden. Diese Entwicklungen beeinflussen das Softwaretesting und erfordern neue Wege. Das Rad muss dabei indes nicht neu erfunden, sondern lediglich um neue Methoden ergänzt werden. Eine recht junge Disziplin namens Crowdtesting übernimmt diesen Part. Mithilfe der Schwarmintelligenz des Internets können Anwendungen crowdbasiert von Nutzern auf einer Vielzahl unterschiedlicher Geräte ressourcenschonend getestet werden.

Crowdsourcing setzt sich aus den Begriffen Crowd und Outsourcing zusammen. Das heißt, definierte Problemstellungen werden an eine bestimmte Gruppe, die Crowd, outgesourct. Das Konzept funktioniert in unterschiedlichen Bereichen und Branchen – so auch in der IT, wo es sich u. a. beim Crowdtesting bewährt. Crowdtesting kombiniert das Testen von Software mit dem Prinzip des Crowdsourcings. Dabei werden Testingaufgaben an eine Masse an (Internet-)Nutzern ausgelagert. Diese Crowd arbeitet an der ihr gestellten Problemstellung und unterstützt ein Unternehmen mit Lösungsvorschlägen und Feedback zur Anwendung. Konkret nutzt Crowdtesting auf diese Art die Schwarmintelligenz des weltweiten Internets, um Webseiten, mobile Apps, Spiele oder Enterprise-Software zu testen, Bugs zu identifizieren sowie Usability zu optimieren. Auf diesem Weg kann Software von einer spezifischen Zielgruppe unter verschiedenen Bedingungen auf einer Vielzahl an unterschiedlichen Endgeräten und Softwareversionen getestet werden – auch vor dem Release. Wie crowdbasiertes Softwaretesting im Detail funktioniert und welche Vorteile es mit sich bringt, zeigt dieser Artikel.

Crowdtestinganbieter und Anwendungsgebiete

Im DACH-Raum gibt es derzeit einige wenige Crowdtestinganbieter, die crowdbasiert Testprojekte abwickeln. Das Münchner Unternehmen Testbirds beispielsweise bietet seit Ende 2011 seine Crowdtestingdienstleistung an und hat sich auf das Testen von mobilen Apps, Webseiten, Games sowie Enterprise-Software spezialisiert. Das Portfolio umfasst reines Bugtesting, Usabilitytesting und kombiniertes Testing, so genanntes Bugabilitytesting.

Formen und Prozesse des Crowdtestings

Beim Crowdtesting der Testbirds GmbH kann der Kunde zwischen Self Service und Managed Service wählen sowie einzelne Projekte oder aber eine Testflatrate buchen – dazu unten ausführlicher (vgl. Abb. 1).
Bevor ein Test – egal, in welcher Form – starten kann, müssen dessen Rahmenbedingungen definiert werden. Konkret geht es u. a. darum, den Fokus festzulegen, sprich: sich für Bugtesting, Usabilitytesting oder der Kombination aus beiden (Bugabilitytesting) zu entscheiden, sowie die Zielgruppe und ihre Endgeräte zu bestimmen. Wurden diese Parameter festgelegt, werden geeignete Tester ausgewählt und die entsprechende Software über die Plattform des Anbieters an die Crowd ausgespielt bzw. online zur Verfügung gestellt. Die Zielgruppe testet dann in ihrer gewohnten Umgebung, auf den eigenen Geräten und – im Gegensatz zu Entwicklern – unvoreingenommen die Anwendung. In Form von Vorgangsbeschreibungen, Screenshots oder Screencasts gibt die Crowd Feedback zur Qualität der Software.
Beim Managed Service steht dem Kunden von Anfang an ein Projektmanager beratend zur Seite. Dieser übernimmt ab dem ersten Briefing alle anfallenden Aufgaben: von der Auswahl der geeigneten Tester, dem Aufsetzen einer Testbeschreibung bis hin zur Kontrolle der fristgerechten Einreichung der Testberichte. Im Anschluss daran wertet der Projektmanager das Feedback der Crowd aus, leitet konkrete Handlungsempfehlungen ab, zeigt Optimierungspotenziale auf und hält den kompletten Test in einer schriftlichem Management-Summary fest. Ein De-Briefing schließt jedes Managed-Service-Projekt ab.
Beim Self-Service-Angebot hingegen ist der Kunde für den kompletten Ablauf des Tests von der Eingabe der Parameter bis hin zur Auswertung der Ergebnisse selbst verantwortlich. Der Anbieter stellt hier zur Durchführung lediglich seine Plattform und seine Crowd zur Verfügung. Dieses Modell ist vor allem für Unternehmen mit geringerem Budget oder bei reinen Bugtests attraktiv – setzt aber auch Know-how in Sachen Crowdmanagement und Auswertung der Rohdaten voraus.
Beide Angebote können projektbasiert oder in einer Flatrate gebucht werden – je nach Testumfang. Abbildung 1 verdeutlicht die Ausführungen und zeigt mögliche Modelle des Crowdtestings auf.

Abb. 1: Formen des Crowdtestings bei Testbirds

Aufmacherbild: Shoal of small fish close to coral reef of the red sea von Shutterstock / Urheberrecht: aquapix

[ header = Seite 2: Aspekte des crowdbasierten Softwaretestings ]

Aspekte des crowdbasierten Softwaretestings

Die Vorteile von Crowdtesting – unabhängig von Managed und Self Service – liegen vor allem darin, dass die Crowd aus echten Nutzern besteht, die Software flexibel testen und die Realität besser abbilden kann als herkömmliche Tests. Außerdem verfügen die Tester über vielfältige Kombinationsmöglichkeiten an Geräten, Betriebssystemen und Browsern. Der große Pool an unterschiedlichen Personen ermöglicht die Wahl spezifischer Zielgruppen – 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 können die Entwicklungskosten erheblich reduzieren. Durch diese Vorteile wird die Qualität der Software gesteigert, und dem Kunden bleiben mehr Ressourcen zur Weiter- oder Neuentwicklung von Produkten.

Projekt- und Prozessmanagement

Der Erfolg von Crowdtesting ist an ein professionelles und qualitativ hochwertiges Projekt- und Prozessmanagement gekoppelt. Egal, für welche Variante des Tests sich der Auftraggeber entscheidet, er muss stets die Gewissheit haben, dass zu jedem Zeitpunkt der Testphase die übermittelten Daten vertraulich behandelt werden. Dies gilt vor allem bei bisher unveröffentlichter Software. Der Dienstleister bürgt dafür, dass sämtliche Informationen und Inhalte diskret behandelt werden. Beim Managed Service sind außerdem die Projektmanager gefordert, die Crowd gemäß den Test- und Kundenanforderungen zu selektieren und zu koordinieren. Damit einher geht die Brauchbarkeit der Testergebnisse. Der Anbieter trägt bei diesem Ansatz 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. Bevor man zum Beispiel als Tester bei Testbirds an Kundenprojekten teilnehmen kann, muss ein so genannter „Einstiegstest“ absolviert werden. Im Managed Service prüft das Projektmanagement sämtliche Berichte und Bugs auf Vollständigkeit, Nachvollziehbarkeit sowie Qualität und gibt sie danach erst für den Kunden frei. Dabei werden zum Beispiel doppelte Bugs oder unzureichendes Feedback herausgefiltert. Durch das vollständig einzureichende Testprotokoll inklusive Screenshots bzw. Screencast wird zudem sichergestellt, dass sämtliche Aufgaben tatsächlich durchgeführt wurden und die Testabdeckung gewährleistet ist.

Erfolgsfaktoren und -bedingungen beim Crowdtesting

Ausschlaggebend für den Erfolg von Crowdtesting sind demnach zum einen die Testpersonen und deren Geräte sowie ein reibungsfreier Prozessablauf, der von den zugrunde liegenden Managementprozessen abhängt. Sind diese Parameter garantiert, kann Crowdtesting das traditionelle Softwaretesting sinnvoll ergänzen, da die Crowd, die nicht in die Entwicklung der Anwendung involviert ist, wertvolle Impulse geben kann. Die Testpersonen haben einen neutralen, unvoreingenommenen Blick für die Stärken und Schwächen einer Anwendung – das ist besonders wichtig, wenn diese anwenderorientiert ist bzw. deren Erfolg von der Annahme durch den Nutzer abhängt. Kurzum: Die User Acceptance kann bereits vor dem Release abgefragt werden. 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 so genannte „Bug Approval“ erlauben es außerdem, sämtliche gefundenen Bugs durch alle teilnehmenden Tester ü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 beispielsweise ein wachsendes Überangebot an Apps 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, sondern eine weitere Stufe der Qualitätssicherung, die viele aktuelle Probleme adressiert, wie den Zugriff auf sämtliche, auf dem Markt verfügbare Geräte. Im Smartphonebereich bieten verschiedene Anbieter Remote-Zugriff auf physikalische Geräte, die mittels einer Software angesteuert werden. Vor allem durch Touchdisplays kommt dies allerdings der tatsächlichen Nutzung allenfalls nahe. Über das Budget und die Zeit, sich ständig mit den neuesten Geräten auszustatten, verfügen darüber hinaus nur wenige Unternehmen. Bei Web- oder Desktopanwendungen spielt die Browservielfalt in Kombination mit unterschiedlichen Betriebssystemen nicht erst seit Einführung so genannter „Silent Updates“ eine Rolle.
Frank Simon, Vorsitzender des German Testing Boards sowie des BITKOM-Arbeitskreises „Software-Engineering“, schrieb in einem Blogeintrag über Crowdtesting als „Verstärker des klassischen Tests“. 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.
Mittlerweile nutzen Unternehmen aus nahezu sämtlichen Branchen von Banken und Versicherungen über Food bis hin zu Medien- und Verlagshäusern crowdbasiertes Softwaretesting. Schließlich erwarten die Kunden all dieser Bereiche auch im Web oder als App einen professionellen Auftritt des jeweiligen Unternehmens.

Geschrieben von
Georg Hansbauer
Georg Hansbauer
Georg Hansbauer, Gründer und Geschäftsführer der Testbirds GmbH, hat den Elitenetzwerk-Studiengang „Finanz- und Informationsmanagement“ an der Universität Augsburg und der TU München studiert und sammelte umfassende Erfahrung in diversen Großkonzernen.
Anna-Lena Müller
Anna-Lena Müller
Anna-Lena Müller arbeitet bei der Testbirds GmbH im Bereich PR und Marketing. Sie studierte in Deutschland, Italien und Finnland Politik und Kommunikation und sammelte wertvolle Erfahrungen im Bereich Öffentlichkeitsarbeit in verschiedenen Konzernen und Institutionen.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: