Willkommen zu der zweiteiligen Serie “Holistisches Softwaretesting”. Wir zeigen mit dieser Serie die Wichtigkeit des Softwaretestings auf und stellen im zweiten Teil das Konzept eines holistische Ansatzes vor.
Auf Kundenanfrage hat die twim ein Konzept eines holistischen Ansatzes entworfen, mit dem Softwaretesting effizienter und kostengünstiger durchgeführt werden kann, ohne dabei an Qualität einzubüssen.
Nach eingehender Studie der bisherigen Testingsituation im Unternehmen und der Analyse von umfassendem Expertenwissen wurde ein Ansatz entwickelt, mit dem eine erhebliche Zunahme des Testingbedarfs innert dreier Jahre ohne erweiterte Personalressourcen, dafür qualitativ wesentlich optimiert, abgedeckt werden kann und der ein Sparpotenzial von über 30 % Kostenreduktion birgt.
Was ist Softwaretesting und inwiefern profitiert ein Unternehmen davon?
Indem sich ein Unternehmen für ein digitales Geschäftsmodell entscheidet, gerät es automatisch in eine Abhängigkeit von Software. Denn sein Erfolg steht und fällt unter anderem mit der Qualität der genutzten Software; je nach Branche ist diese mitverantwortlich für die Kundenzufriedenheit, für die Kontinuität der Produktion oder auch für das reibungslose Funktionieren der Administration. Der Gedanke, dass die Softwarequalität unbedingt sichergestellt werden muss, liegt deshalb nahe.
Softwaretesting ist Qualitätssicherung bei Software. Wird strukturiert und systematisch auf sämtliche Qualitätsmerkmale getestet, können Softwarefehler (sog. Bugs) identifiziert und behoben werden. Historisch betrachtet dauerte es einige Zeit, bis die Notwendigkeit von Softwaretests erkannt wurde. So wurde Softwaretesting zunächst gar nicht oder lediglich durch die Softwareentwickler selbst betrieben, später in Form von Beta-Testing zwar durch Spezialisten, aber losgelöst vom Softwareentwicklungsprozess und erst am Ende des Produktionszyklus.
In jüngerer Zeit wurde deutlich, dass Softwaretester direkt in den Softwareentwicklungsprozess einbezogen werden müssen, damit Fehler vermieden oder frühzeitig entdeckt werden können.
Ist Softwaretesting verzichtbar?
Dennoch ist Softwaretesting auch heute noch oft derjenige Stream, der in Softwareprojekten als erster unternehmerischen Sparmassnahmen zum Opfer fällt. Beispielsweise beschränkt man sich auf gewisse Teststufen oder es werden schlechter qualifizierte Tester beschäftigt, im Extremfall wird ganz auf Softwaretesting verzichtet.
Gründe dafür gibt es verschiedene: Manuelles Testen ist aufwendig und damit ressourcenintensiv, ausserdem wird bei der Entwicklung von Software ein gewisses Quantum an Fehlern als tolerabel erachtet, und darüber hinaus wird niemand gern mit Unzulänglichkeiten der eigenen Arbeitsergebnisse konfrontiert, was auch für Entwickler und Requirements Engineers gilt.
Ein wesentlicher Faktor, warum sich Softwaretesting schwer rechtfertigen kann, liegt schliesslich darin, dass es keinen erkennbaren Ertrag liefert. Es scheint ihm nicht nur an Konstruktivität zu fehlen, dem Testing kommt nach dieser Auffassung sogar ein destruktiver Charakter zu. Diesem Irrglauben gilt es entgegenzuhalten, dass Softwaretesting als wichtiger Teil der Softwareentwicklung anerkannt werden muss, der sehr wohl Konstruktives leistet:
Martina Schelling, Senior Softwaretester
Wichtigkeit von Softwaretesting nimmt zu
Ohne systematisches Testen über den gesamten Entwicklungsprozess hinweg nimmt ein Unternehmen also das Risiko fehlerhafter Software in Kauf – alle denkbaren Konsequenzen wie unzufriedene Kunden, aber auch Haftungsfragen eingeschlossen. Gerade deshalb ist der Verzicht auf Softwaretesting oder die Limitierung davon keine valide Lösung. Dies gilt mit fortschreitender Digitalisierung umso mehr.
Denn ein höherer Digitalisierungsgrad bringt mehr Software und mehr Schnittstellen mit sich. Je ausgereifter Software überdies ist, desto komplexer und schneller wird sie einerseits, desto instabiler andererseits. Eine Zunahme von Schnittstellen zwischen Software-Tools bedingt ein besseres End-to-End-Verständnis und auch Sicherheitsanforderungen werden immer höher.
Diese Faktoren machen eine höhere Anzahl Testcases notwendig und sorgen dafür, dass Softwaretesting komplexer wird. Ersteres beschlägt den Aspekt der Quantität des Testens, letzteres die Qualität. Im Zuge dieser Entwicklung wird also mehr Testpersonal nötig, das gleichsam höher qualifiziert sein muss, um zahlreichere und anspruchsvollere Testcases zu bewältigen.
«Software wird mit jeder Version komplexer und schneller, aber auch instabiler. – Damit wird Softwaretesting ebenfalls aufwendiger und schwieriger.»
Softwaretesting fehlt es also an Akzeptanz und es ist kostenintensiv. Dennoch ist es wichtig und zunehmend sogar unverzichtbar. – Mit dieser Ausgangslage sah sich unsere Kundin konfrontiert.
Als Lösungsansätze schienen zunächst nur die Reduktion von Testressourcen und/oder die Beschäftigung von weniger qualifiziertem Testpersonal denkbar. Dass diese Möglichkeiten zumindest langfristig wenig erfolgversprechend wären, lag auf der Hand, denn erstens bieten sie nur limitiertes Sparpotenzial, zweitens ist eine Qualitätseinbusse damit unvermeidlich.
Aus diesem Grund beauftragte das Unternehmen die twim damit, eine langfristige Strategie zu entwickeln, mit der es dem wachsenden Bedürfnis nach Softwaretesting und den damit verbundenen höheren Qualitätsansprüchen gerecht werden können sollte, ohne dabei Mehrkosten in Kauf nehmen zu müssen.
Zusammenfassend sollte die neue Testinglösung folgende Ziele verfolgen: Abdecken des zunehmenden Testingvolumens ohne zusätzliches Testpersonal, Erhöhen der Qualität des Softwaretestings, Kosteneinsparung auf lange Sicht, Verbessern der Akzeptanz und der Zusammenarbeit mit dem Softwaretesting-Stream.
twim erarbeitete auf diesen Wunsch ein Konzept, das alle diese Bedürfnisse abdeckt und sogar darüber hinaus einen erheblichen Mehrwert bietet. Das Konzept wurde auf Basis verschiedener Business-Cases entwickelt und von den Testmanagern der Kundin für valide und umsetzbar befunden. Dank dem ganzheitlichen, effizienten und langfristig angelegten Ansatz stiess die twim damit auf Begeisterung.