Eine Auslagerung des Testings impliziert eine Reduktion der Projektblindheit von App-Entwicklern.
Jedes halbe Jahr ein neues Betriebssystem, jeden Monat eine Vielzahl an neuen Geräten mit noch höherer Auflösung und noch mehr Funktionen: Entwickler müssen in der Lage sein, sofort auf die veränderten Bedingungen reagieren zu können, um zu garantieren, dass die Software-Anwendungen auf den neuen Geräten noch immer einwandfrei funktionieren. Darüber hinaus verändert sich auch die Erwartungshaltung der User stetig – ein weiterer Punkt, der berücksichtigt werden muss.
Diese Gegebenheiten mündeten in der agilen Software-Entwicklung, bei der zwar das Ziel der Entwicklung definiert ist, der Weg dorthin jedoch komplett dynamisch gestaltet werden kann, ganz wie es die Situation erfordert. Während frühere Entwicklungsprozesse sich durch statische Prozesse mit Lasten- und Pflichtheften auszeichneten, an deren Ende nach ein paar Monaten ein Produkt stand, das die Weiterentwicklungen der vergangenen Zeit nicht berücksichtigen konnte, ist die moderne Software-Entwicklung gekennzeichnet durch maximale Dynamik.
Um Entwicklern in diesem Prozess den Rücken freizuhalten und beim Testing auch Dinge zu überprüfen, an die bei der Testerstellung selbst nicht gedacht wurde, empfiehlt sich das sogenannte Crowd Testing. Diese Form der Software-Überprüfung ist durch ein paar grundlegende Dinge gekennzeichnet. Die Software wird von echten Menschen getestet. Diese können sowohl Profitester sein, die hauptberuflich als Softwaretester bzw. Qualitätsbeauftragte arbeiten, aber auch durchschnittliche Internetnutzer sowie gezielt Nutzer der potentiellen Zielgruppe. Die Vielzahl an registrierten Testern bei Crowd-Testing-Anbietern garantiert eine nahezu hundertprozentige Geräteabdeckung. Gerade an diesem Punkt stößt Inhouse-Testing schnell an seine Grenzen.
Da die Tests unter realen Bedingungen stattfinden, wird die Software-Anwendung optimal auf den Markt vorbereitet. Durch die Internationalität der Tester werden verschiedenste Sprachen und Kulturkreise abgedeckt – so steht im Fall der Fälle auch einem internationalen Erfolg nichts mehr im Wege. Die Auslagerung des Testings führt nicht nur zu einer Entlastung der Entwickler, darüber hinaus impliziert sie eine Reduktion der Projektblindheit, indem die Software auf unvoreingenommene Tester trifft.
Am Ende des Testing-Prozesses steht eine ausführlich überprüfte Software-Anwendung, die bereit für den kritischen Blick zukünftiger Verbraucher ist. Noch fortschrittlicher gestaltet sich ein Testing-Ansatz, wenn er nicht nur aus einem einzigen Abnahmetest kurz vor dem Release besteht. Effektiver ist eine kontinuierliche Überprüfung im gesamten Entwicklungsprozess, sprich Continuous Testing, wie es etwa das Unternehmen Testcloud anbietet. Diese Variante hilft, frühzeitig Defizite im System aufzuspüren und Potentiale zu erkennen. Der Ansatz des Continuous Testings beschränkt sich dabei nicht allein auf Crowd-Testing-Angebote. Vielmehr steht es für ein optimales Zusammenspiel zwischen vollautomatisierten Tests und einer Überprüfung durch echte Menschen. Während vollautomatisierte Tests den Vorteil haben, dass sie schnell und einfach zu reproduzieren sind, stoßen sie ebenso rasch an ihre Grenzen, da sie nicht alle Eventualitäten berücksichtigen können – ein klarer Punkt für die menschliche Kreativität und Urteilskraft des Crowd Testings mit echten Menschen.
Bildquelle: Shutterstock