Crowdtesting -Bugtracking via Crowd

Veröffentlicht von Thomas Hochfeld / 17. Januar 2013 / , , / 0 Kommentare

„Wir testen mobile Apps und Webseiten. Wir nennen das Crowdtesting“. So ist es in großen Lettern auf der Plattform Testbirds.de zu lesen. Crowdtesting nutzt die Intelligenz der Crowd aus erfahrenen Testpersonen, um Webseiten, mobile Apps oder auch maßgeschneiderte Enterprise Software zu testen und diese schnell von Bugs (Fehler) zu befreien. Gleichzeitig kann die Usability getestet werden, indem aus der Crowd der Testpersonen genau die gewünschte Zielgruppe selektiert wird. Welche Vor- und Nachteile Crowdtesting Unternehmen bietet, wie und warum solche Plattformen funktionieren und was beachtet werden sollte, zeigt dieser Beitrag.

 In 100 Sekunden gibt der folgende Clip von Testcloud.de einen anschaulichen ersten Überblick.

Neben den am Ende des Clips genannten Vorteilen eines effizienten, günstigen und besseren Softwaretestings gibt es noch zahlreiche weitere Vorteile:

  •  Die Crowd besteht aus echten Nutzern, die die Software unvoreingenommen und flexibel testen und die Realität besser abbilden, als künstlich kreierte Testfälle.
  • Der Feedback Prozess ist schnell und hält dadurch die Weiterentwicklung im Fluss.
  • In der Crowd sind vielfältige Kombinationen von Geräten, Betriebssystemen und Browsern vorhanden. Diese Vielfältigkeit könnte unmöglich in einem einzelnen Unternehmen abgebildet werden.
  • Die Kosten sind vergleichsweise gering, da die Testpersonen nur im Bedarfsfall in Anspruch genommen werden können.
  • Ein diversifizierter Pool von Testpersonen ermöglicht die Selektion von spezifischen Zielgruppen.
  • Die meisten Mängel können vor dem Release identifiziert werden, was zu erheblichen Reduzierungen der Entwicklungskosten führt.
  • Durch all diese Vorteile erhöht sich die Produktivität und es verbleiben mehr Ressourcen für die Weiter- und Neuentwicklung eines Produkts.

Als mögliche Nachteile können genannt werden:

  • Wird eine Anwendung einer breiten Basis zum testen freigegeben, müssen Sicherheit und Diskretion für die Auftraggeber gewährleistet sein, was gleichzeitig aber nicht das Endecken von Bugs erschweren darf.
  • Das Projektmanagement steht vor der Herausforderung, die Crowd der Testpersonen mit ihren verschiedenen Vorkenntnissen, unterschiedlichen Sprachen und Erfahrungen zu koordinieren.
  • Qualitätsversprechen an die Auftraggeber erfordern vom Projektmanagement ein Überprüfen und gegebenenfalls Verbessern der von den Testpersonen erstellten Bugberichte.
  • Ein Entlohnungssystem gewährleistet zwar, dass Bugberichte ein bestimmtes Qualitätsminimum erfüllen, kann aber auch als ungerecht empfunden werden.

Die meisten Crowdtesting Anbieter nutzen ihre Plattform, um die Testpersonen und die zu testenden Projekte zu managen. Kunden geben hier ihre Testwünsche an und nennen die Geräte, Betriebssysteme und Browser, unter denen die Software getestet werden soll. Die Testpersonen geben ihrerseits neben einigen wenigen persönlichen Daten, die für eine spätere Zielgruppenselektion notwendig sind, ihre Kenntnisse und Fähigkeiten sowie die Geräte, auf die sie Zugriff haben, an.

Auf ui-check.com wird der Ablauf eines Testings in fünf Abschnitten beschrieben. Begonnen wird mit der Definition des Projektumfangs. Der Kunde entscheidet, ob funktional (explorativ und/oder Test-Cases) getestet werden soll oder ob die Usability beurteilt werden soll. Es besteht auch die Möglichkeit, einfach nach Rechtschreibfehlern suchen zu lassen oder die Anwendung auf Sicherheitslücken zu prüfen. In Abstimmung mit dem Projektmanager werden die Anzahl der Tester, die Testumgebung, die Laufzeiten, etc. festgelegt. Im zweiten Schritt wählt der Projektmanager die Testpersonen aus dem Pool von mehr als 5.000 Testern aus. Dabei spielen die Qualifikation, die gewünschte Zielgruppe und die Vertraulichkeitsvereinbarung eine Rolle. Der dritte Schritt ist das Briefing der Testpersonen auf Basis der Projektanforderungen. Im vierten Schritt erfolgen die eigentlichen Tests und die Dokumentation der gefundenen Bugs durch die Tester. Für eine maximale Performance erfolgt die Vergütung pro gefundenem Bug. Im Rahmen der internen Qualitätssicherung werden die gefundenen Bugs permanent von den Projektmanagern überprüft und kategorisiert. Im letzten Schritt erhalten die Auftraggeber Zugriff auf die Plattform und die erstellten Bugberichte. Sie können diese in ihre eigenen Plattformen exportieren und Rücksprache mit den Testpersonen halten.

Entscheidend für den Erfolg eines Crowdtestings ist die zur Verfügung stehende Crowd der Testpersonen, die vorgegebene Anwendungen testet. Die Crowd umfasst Menschen mit unterschiedlichsten Erfahrungen, aus verschiedenen Kulturen, Ländern und mit verschiedenen Sprachen, die alle auf unterschiedliche Art und Weise an die Nutzung einer Anwendung herangehen. Aus diesen unterschiedlichen Vorgehensweisen ergeben sich Verwendungsmuster, die wertvolle Impulse für die Weiterentwicklung liefern. Besonders gut einsetzbar ist Crowdtesting, wenn eine Software sehr anwenderorientiert ist oder wenn deren Erfolg und Annahme stark von einem Anwenderfeedback abhängig ist. Crowdtesting ist bereits häufig im Entwicklungsprozess bei Spielen oder mobilen Applikationen implementiert.

Ein wesentlicher Grund, warum Crowdtesting in der Praxis funktioniert, ist darin zu sehen, dass die Testpersonen nicht an der Entwicklung der Anwendung mitgewirkt haben und somit einen neutralen Blick, ohne jegliche Vorkenntnisse, auf die Anwendung haben. Denn sobald wir Kenntnisse über eine bestimmte Sache erlangt haben, unterstellen wir unbewusst bei Anderen zumindest Teile dieses Wissens. Erstellen nun Personen, die eine Anwendung entwickelt haben, Testszenarios, so kann stets nur ein geringer Teil der beim Endanwender möglichen Nutzungsarten abgebildet werden. So kommt es, dass Teile der Anwendung unter bestimmten Bedingungen ungetestet bleiben und die Anwendung noch Fehlfunktionen beinhaltet. Kann somit zukünftig auf das klassische Testen verzichtet werden? Dr. Frank Simon von der SQS-Gruppe (nach eigenen Angaben weltweit führender Spezialist für Software-Qualität) macht in seinem Blog deutlich, dass echtes Testen unbedingt notwendig ist und dem Crowdtesting voran gehen muss. Denn „wenn die Crowd beim Testen zum Ergebnis kommt, die Applikation sei schlecht, ist sie fast nicht mehr zu retten, hat quasi keine Chance mehr.“ Seiner Meinung nach „ist es eben das klassische Testen vor dem Roll-out eines Produktes (angefangen beim Testen der Anforderungen selbst), das entscheidet, welche Ergebnisse das Crowdtesting liefert. Denn für gute Applikationen gilt das Gegenteil: Crowdtesting kann Applikationen auch krönen! Wenn erst einmal 100 User eine Applikation mit 5 Sternen bewertet haben, ist der Hype nicht mehr weit.“

Die Sicherheit spielt beim Crowdtesting eine entscheidende Rolle, da die Testpersonen während des Testings Einblicke in vertrauliche Informationen erlangen. Testdatenbanken sind dabei ein sinnvolles Hilfsmittel, die preisgegebenen Informationen selbst einzugrenzen. In den meisten Fällen sind die Testpersonen jedoch verpflichtet eine Vertraulichkeitserklärung zu unterschreiben. Diese verbietet ihnen, Informationen über Auftraggeber, deren Produkte oder festgestellte Fehler in der Anwendung offline oder online außerhalb der Plattform zu kommunizieren.

Interessant wird auch sein, in wie weit sich die Crowdtesting Gemeinschaft in verschiedenen Bereichen spezialisieren wird. Außerdem bleibt es sicherlich spannend, weiter zu verfolgen, wie sich die Zusammenarbeit zwischen Auftraggebern, Plattformbetreibern und Crowd Testpersonen und vielleicht sogar zwischen den Crowd Testpersonen untereinander entwickeln wird.

Kommentare

Keine Kommentare

Nachricht hinterlassen

Sie müssen eingeloggt sein, um einen Kommentar zu hinterlassen.