Nicht funktionierende Buttons, falsche Verlinkungen & Co – Fehlfunktionen in Anwendungen, kleine wie große, haben Auswirkungen auf den ersten Eindruck, den Nutzer von dieser gewinnen und lenken die Aufmerksamkeit leider in die falsche Richtung – weg von der Anwendung hin zu den Fehlern, unabhängig davon wie groß die Einschränkungen der Funktionalität sind. Um diese Fehler zu vermeiden und eine hohe Qualität der Anwendung sicherzustellen ist das Software-Testing ein notwendiger und wichtiger Schritt.
Das Software-Testing ist meist ein umfangreicher Prozess, der aus mehreren Prozessschritten besteht und an welchem Personen unterschiedlicher Fachbereiche beteiligt sind. Damit dieser Prozess reibungslos ablaufen und eine erfolgreiche, kontinuierliche Qualitätssicherung sichergestellt werden kann, ist ein gut funktionierendes Testmanagement nötig. Die Erfahrung hat gezeigt, dass im Testverlauf regelmäßig ähnliche Herausforderungen auftreten – vier davon haben wir herausgegriffen und nachfolgend kurz zusammengefasst.
Vier häufige Herausforderungen im Software Testing
01
Testzeit und -ressourcen
Fehlende Testzeit und -ressourcen sind häufige Gründe, weshalb sich unausgereifter Code auf Integrations- oder Testumgebungen wiederfindet und versteckte Fehler damit erst spät im Entwicklungsprozess im Rahmen des Testings entdeckt werden. Der Mangel an Testzeit wird durch immer komplexer werdende Systeme und schnellere Releasezyklen verstärkt, in welchen die steigenden Anforderungen an den Test oft nicht ausreichend Berücksichtigung finden.
Zur Bereitstellung qualitativ hochwertiger Software sollten daher bereits während der Entwicklungsphase Entwicklertests oder einfache, die Codequalität überwachende statische Testverfahren durchgeführt werden. So lassen sich zu einem frühen Zeitpunkt im Entwicklungsprozess Abweichungen identifizieren, mit dem Vorteil, dass der Aufwand für die Fehlerbehebung und ein Retesting geringer gehalten werden kann, je frühzeitiger die Testaktivitäten begonnen werden. Wichtig ist, eine gute Balance zu finden – ein zu viel an Test in dieser Phase kann die Softwareentwicklung verlangsamen. Das ist in Hinblick auf kurze Releasezyklen und schnelle Entwicklungsgeschwindigkeiten nicht zielführend. Ein System auf alle Eventualitäten hin zu prüfen kann ein Test in einem komplexen System nicht leisten und sollte auch nicht das Ziel sein. Durch ausreichendes und gut geplantes Testing kann jedoch eine gute Softwarequalität sichergestellt werden.
02
Testfälle und -szenarien
Aufgrund der Komplexität von Softwaresystemen und der Menge möglicher Anwendungsfälle sind zur Qualitätssicherung häufig eine Vielzahl an Testfällen oder -szenarien notwendig. Diese lassen sich durch eine durchdachte Testplanung und -konzeption verringern. So kann mittels eines risikobasierten Vorgehens die Anzahl der notwendigen Testfälle eingeschränkt werden. Hierfür kann beispielsweise die Anzahl der von Kunden in Produktion durchgeführten vergleichbaren Transaktionen herangezogen werden, um zu entscheiden, welche der möglichen Pfade als Schlüsselszenarien durch den Softwarecode mit größerer Sorgfalt getestet werden müssen.
Ähnlich verhält es sich auch mit der Bildung von Äquivalenzklassen: Das Verhalten des Systems muss in bestimmten Bereichen gleich sein. So bietet es sich hier an, nur die Randbereiche zu testen und – je nach Risikobewertung – noch ein oder zwei Tests mit häufig vorkommenden Kombinationen durchzuführen.
Eine Kombination beider Vorgehensweisen bringt zwei Vorteile mit sich: zum einen bewirkt diese einen intensiveren Test risikoreicherer Bereiche, zum anderen wird der Testaufwand auf eine durchführbare Menge an Testszenarien reduziert.
03
Testdaten
Eine weitere Herausforderung im Test kann die Erzeugung geeigneter Testdaten darstellen. Hier müssen oft aufwändig Produktionsdaten abgezogen werden, um diese für den Test anzupassen bzw. zu anonymisieren, damit keine Rückschlüsse mehr auf die ursprünglichen Daten möglich sind.
Diese zusätzliche Bearbeitung der Daten kann in einigen Fällen unverhältnismäßig aufwändig sein. Eine gute Testkonzeption muss daher auch immer die für einen Test notwendigen Testdaten und deren Erzeugung mit berücksichtigen, um nicht während der Testzeit in Engpässe zu geraten.
Um geeignete Testdaten zu erzeugen, bietet es sich, abhängig vom Anwendungsfall an, Produktionsdaten zu anonymisieren, synthetische Testdaten zu nutzen oder auf die Verwendung von historisierten Produktionsdaten zurückzugreifen.
04
Kommunikation und Dokumentation
Am Testing-Prozess sind meist viele unterschiedliche Stakeholder – direkt oder indirekt – beteiligt. Für einen reibungslosen Testablauf ist es daher wichtig, alle am Prozess Beteiligten rechtzeitig mit einzubinden und das nötige Know-how im Hinblick auf Testing und Testtools zu vermitteln. Der Einsatz von Testtools zur Dokumentation von Testaufgaben, Testabweichungen oder Testfortschritten kann hier hilfreich sein.
Zusätzlich sollten vor allem unerfahrene Tester zu Beginn des Testzeitraums in der Anwendung selbst wie auch in der Anwendung der eingesetzten Testwerkzeuge geschult werden, sowie Verständnis bei allen Beteiligten (Entwicklung, Fachabteilung und Projektleitung) für die Situation geschaffen werden.
Beim Software-Testing können vielfältige Herausforderungen auftreten, und auch die Vorgehensweisen, die sich aus Testmanagementsicht anbieten, können je nach zu testendem System unterschiedlich sein.
acterience empfiehlt eine möglichst frühe Beachtung von Testthemen im Projektverlauf, um bereits zu Beginn Anforderungen an das zu entwickelnde System aus Testsicht stellen und frühzeitig mit der Aufplanung des Tests beginnen zu können. So lassen sich von vornherein die Anforderungen des Fachbereichs im Test berücksichtigen und die Qualität der zu entwickelnden Anwendung sicherstellen.
Wir unterstützen Sie gerne mit unserer langjährigen Expertise im gesamten Testmanagementprozess und bringen diese gewinnbringend für Sie ein. Kontaktieren Sie uns gerne für weitere Informationen. Wir freuen uns auf den Austausch mit Ihnen.
Ihr Ansprechpartner
Hier erfahren Sie mehr zu unseren Beratungsleistungen im Testmanagement:
© Photo: Pixels Hunter/stock.adobe.com