Reinventing Quality

ERROR: Content Element with uid "6808" and type "dce_dceuid16" has no rendering definition!

Crowdtesting - Bessere Software durch Schwarmintelligenz?

Die Komplexität der Softwareentwicklung und damit auch im Software Testing hat sich in den vergangenen Jahren aufgrund der fortschreitenden Digitalisierung massiv erhöht. Einerseits müssen Applikationen heute für eine Vielzahl von Plattformen und Endgeräten entwickelt und getestet werden. Andererseits steigen die Ansprüche von immer technologieaffineren Nutzern hinsichtlich Bedienbarkeit und Funktionalität. Unter diesen Gesichtspunkten stoßen „traditionelle“ Testverfahren innerhalb von Testabteilungen zusehends an ihre kapazitären Grenzen. Eine Lösung dieser Probleme setzt einen Paradigmenwechsel voraus, der mit grundsätzlich mehr Dezentralität und Flexibilität einhergeht.

Das Prinzip des Crowdtesting:

Crowdtesting ist eine Form von Crowdsourcing und basiert auf der verteilten Arbeitskraft einer großen Menge von Internetnutzern. Beim Crowdsourcing präsentiert ein Unternehmen dieser unabhängigen Menge von potenziell Mitwirkenden („Crowd“) eine Aufgabe mittels eines offenen Aufrufes über das Internet. Die Testaktivitäten werden im Gegensatz zum klassischen Outsourcing nicht an ein bestimmtes Drittunternehmen ausgelagert, sondern an eine diverse Masse von potentiellen Testern. Der Vorteil besteht in der Vielfalt und der Flexibilität dieses Kollektivs: Die Mitglieder einer Crowd testen die Software mit ihren eigenen Geräten – individuell und unter realen Bedingungen. Der Ansatz geht dabei über eine blosse Effizienzsteigerung hinaus, wie man sie beispielsweise von der Testautomatisierung kennt. Er bietet das Potenzial, Software wesentlich näher an der eigentlichen Zielgruppe – dem „echten“ Nutzer – zu testen. Der Prozess wird dabei meistens von einem Crowdtesting-Anbieter verwaltet. Dieser Crowdtesting-Anbieter stellt die Plattform für die Zusammenarbeit bereit und vermittelt gegen eine Gebühr zwischen dem Unternehmen sowie der Crowd.

Ergebnisse der Forschungsprojekte des Competence Center Crowdsourcing:

Crowdtesting hat sich in vielen Bereichen als Testverfahren bereits fest etabliert. Sie reichen von Performance-Tests für grosse Webseiten über Usability-Tests für das eigene Intranet bis hin zum funktionalen Testen von Smart-TVs. Das Competence Center Crowdsourcing des Instituts für Wirtschaftsinformatik an der Universität St. Gallen beschäftigt gemeinsam mit mehreren namhaften Praxispartnern seit mehreren Jahren mit Anwendungen von Crowdtesting in der Praxis und begleitet Unternehmen bei der Integration des Ansatzes.
Die Erfahrungen mit Partnern des Konsortialprojektes zeigen, das sich Crowdtesting in der Praxis grundsätzlich in drei verschiedene Szenarien unterteilen lässt: (1) Das Testen einer externen Applikation (z.B. Website, Apps, etc.) mittels eines Intermediärs mit einer externen und anonymen Crowd des Intermediärs. (2) Das Testen von internen Applikationen (z.B. Intranet oder Knowledge-Management System) durch die eigenen Mitarbeiter des Unternehmens sowie (3) das Testen mit eigenen Kunden des Unternehmens, um neben funktionalen Fehlern auch wertvolles Kundenfeedback zu erhalten.
Über alle durchgeführten Projekte zeigt sich, das Crowdtesting eine nahezu zeit- und ortsunabhängige Durchführung von Softwaretests erlaubt und Testen dadurch praktisch rund um die Uhr – auch an Wochenenden oder über Nacht – möglich ist. Dies lässt eine Verkürzung der Testzyklen zu. Die hohe Anzahl an Testern erlaubt ausserdem eine breite Abdeckung von vielen verschiedenen Geräte- und Softwarekombinationen. Da die Tests unter realen Bedingungen und von echten Nutzern der entsprechenden Produkte durchgeführt werden, eignet sich Crowdtesting vor allem wenn Nutzerfeedback zur Steigerung der Usability und Akzeptanz der Software erwünscht ist. Durch die Vielzahl der Tester liegen 80% der Testberichte in den meisten Fällen bereits innerhalb der ersten 36 Stunden vor. Die Testqualität ist dabei in etwa auf demselben Niveau wie bei traditionellen Testverfahren. Es stellte sich allerdings auch heraus, dass teilweise mit aufwändigen Vorkehrungen gerechnet werden muss, wenn Richtlinien zum Datenschutz oder der Datensicherheit einzuhalten sind (z.B. in der Finanzindustrie). Eher ungeeignet erscheint Crowdtesting ausserdem, wenn die zu testende Applikation sehr spezifisch ist (z.B. Backend-Systeme) oder nur sehr wenige, spezialisierte Nutzer hat.

Fallstudien:

Konkret lässt sich die Anwendung und Funktionsweise von Crowdtesting am besten anhand von Fallstudien veranschaulichen. Dazu werden exemplarisch zwei Projekte mit Unternehmen des Konsortialprojektes herangezogen. In der ersten Fallstudie wird der Test einer mobilen Applikation mit einer externen Crowd und der Unterstützung eines Intermediärs vorgestellt. Dabei konnten innerhalb kurzer Zeit teilweise schwerwiegende funktionale Fehler identifiziert werden, die ein internes Testing, welches parallel dazu durchgeführt wurde, nicht identifiziert hatte. Die zweite Fallstudie beschreibt den Test des Intranet einer Unternehmung mit Hilfe der eigenen Mitarbeiter. Neben funktionalen Aspekten sollte in diesem Test vor allem die Bedienbarkeit im täglichen Einsatz überprüft und Akzeptanz für die neue Lösung geschaffen werden. Die Beteiligung und Motivation der Mitarbeiter bei diesem Test war sehr hoch, zudem konnten einfach und schnell Schulungsbedarfe in der neuen Lösung identifiziert werden.

Fazit:

Crowdtesting ist ein innovativer Ansatz des Softwaretestens. Er ist – wenn richtig eingesetzt – schnell, flexibel und liefert Ergebnisse in hoher Qualität. Zudem deuten Erfahrungen aus der Praxis darauf hin, dass sich dadurch langfristig erheblich Kostensenkungspotenziale im Testing realisieren lassen.

Niklas Leicht, Universität St.Gallen

Niklas Leicht ist seit 2014 wissenschaftlicher Mitarbeiter am Institut für Wirtschaftsinformatik an der Universität St. Gallen (Schweiz). Seine Forschungsinteressen liegen im Bereich Crowdsourcing, insbesondere in der Software-Entwicklung. Niklas leitete und unterstützte mehrere Forschungs- und Praxisprojekte in diesem Bereich. Er studierte Management mit dem Schwerpunkt Entrepreneurship und Start-Up-Management an der Friedrich-Alexander-Universität Erlangen-Nürnberg (Deutschland) und graduierte dort als Master of Science. Vor seiner Tätigkeit am Lehrstuhl sammelte er praktische Erfahrung als Unternehmensberater bei KE Associates und betreute dort diverse IT-Transformationsprojekte in der Banking-Industrie.