Umstellung auf remote-basierte QA und Dev: die 3 Grundpfeiler der Testabdeckung und Effizienz
Das Tagesgeschäft vieler Unternehmen wurde durch die Corona-Krise stark eingeschränkt. Trotzdem können sich Teams den Herausforderungen stellen, die sich in den vergangenen Wochen entwickelt haben. Im ersten Teil der Serie sprach ich darüber, welche Herausforderungen die schlagartige Umstellung auf Remote-Arbeit für QA-, Engineering- und Produktteams birgt. Im zweiten Artikel konzentriere ich mich auf die Auswirkungen, welche die Umstellung auf Remote auf die erreichbare Qualität des Test-Mixes hat. Außerdem stelle ich wertvolle Erkenntnisse zur Verfügung, wie man diese neue Situation optimal für sich nutzen kann.
Wie wirkt sich Remote-Testing auf den Test-Mix aus?
Teams müssen für optimale Qualität den richtigen Test-Mix finden. Je nach Reifegrad arbeiten Teams häufig mit einer Kombination aus exploratorischem, manuellem und automatisiertem Testing. Angesichts der aktuellen globalen Krise werden Organisationen, die Testautomatisierung nutzen, bald deutlich davon profitieren.
Der Grund dafür ist die Testautomatisierung selbst. Tests müssen nicht vor Ort gescriptet und durchgeführt werden. Sie sind also von der Situation nicht betroffen, was ein sehr hohes Volumen und einen extrem hohen Teststandard gewährleistet.
In der Grafik unten kannst du sehen, wie sich die verschiedenen Testmethoden innerhalb des Test-Mixes im Zeitverlauf entwickeln. Dabei muss jedoch nochmals betont werden, dass der Reifegrad deines Produktes und deine QA-Praktiken eine große Rolle dabei spielen, ob dein Unternehmen die Testautomatisierung wirklich nutzbringend einsetzen kann oder nicht.
Zudem beeinflusst die durch COVID-19 hervorgerufene Krise auch die Testfälle selbst. Das Schreiben von Testfällen sollte noch immer Priorität bei dir haben, damit die Funktionalität mit der Absicht des Teams übereinstimmt. Wie im vorherigen Artikel erwähnt ist der Input – in Form von User Stories und Akzeptanzkriterien – meist weniger strukturiert, als wir das gewohnt sind. Daher muss das QA-Team mehr Zeit mit der Verifizierung der Builds verbringen und gründlicher arbeiten.
Die Testfälle, die nicht automatisiert wurden, müssen nicht nur geschrieben und verifiziert werden, sondern auch manuell ausgeführt werden. Wie in meinem ersten Artikel bereits erwähnt, müssen aufgrund der schnellen Veränderungen in diesen unsicheren Zeiten mehr App-Komponenten und Code-Bereiche bearbeitet werden. Das führt zu größeren Regression-Suiten, was wiederum zeitaufwendig wird. Durch die zusätzliche Arbeit, die das manuelle Schreiben und Ausführen dieser Testfälle mit sich bringt, stellen die Tester jedoch eine ausreichende Codeabdeckung sicher.
Gleichzeitig benötigen diese Bemühungen zur Durchführung strukturierter Tests einen Großteil der Ressourcen, sodass kaum noch Zeit für explorative Tests bleibt. Weiterhin werden strukturierte Tests auf den gängigsten Geräten oder auf virtuellen Maschinen durchgeführt. Das führt zu einer geringeren Testabdeckung bei möglichen Flüssen und Geräten.
Schlage jetzt zurück
Hier findest du drei Arten, wie du diese Herausforderungen bewältigst und wie dein Team remote arbeiten kann.
„Wenn du gestern gefallen bist, stehst du heute wieder auf.“
– H. G. Wells
1. Abdeckung mit geprüften Testern, die bereits remote arbeiten, wiederherstellen
Wer gefallen ist, muss zuerst wieder aufstehen. Deine Priorität ist es, wieder einsatzfähig zu sein. Wie bereits erklärt, haben die QA-Teams weder Zeit noch Geräte für ihre Tests. Welche Möglichkeiten hast du also?
Traditionelles Offshoring funktioniert möglicherweise aus einem ganz einfachen Grund nicht: Meistens arbeiten die Verkäufer bereits in geteilten Geräte-Labors mit fest installierter Technik (Desktop-Computern usw.). Das bedeutet, dass die Arbeitskräfte von den Ausgangssperren stark betroffen sind und nicht einfach ins Home Office wechseln können.
Da zahlt sich eine etablierte Infrastruktur mit crowdbasiertem Testing in der Cloud aus. Sowohl explorative als auch testfall-basierte Tests können an QA-Experten auf der ganzen Welt übergeben werden, die mit eigenen Geräten arbeiten, und so die Skalierung deines Teams ermöglichen. Finde heraus, wie dein Unternehmen profitieren könnte, wenn du die globale Community geprüfter QA-Experten nutzt, die bereits seit Jahren von zu Hause arbeiten.
2. Mehr Zeit durch bessere Kommunikation
Als Nächstes musst du laufen – und besser darin werden. Das erreichst du, wenn du die Kommunikationsfähigkeiten deines Teams verbesserst. Bedenke dabei folgende Tipps:
Für Kommunikation gilt: besser zu viel als zu wenig. Auch wenn du es für übertrieben hältst, kann ausführliche Kommunikation die Arbeitslast deutlich senken. Das gilt besonders für User Storys, Sprint Goals und sogar Produktvision/-strategie.
Remote arbeiten bedeutet häufig auch asynchron arbeiten. Stelle also ruhig Fragen, wenn sie sich auftun. Erwarte aber nicht umgehend eine Antwort.
Lege bestimmte Zeiten fest, zu denen du für Fragen verfügbar bist, und definiere maximale Bearbeitungszeiten, die deine Kollegen erwarten können.
Informiere deine Kollegen häufiger über den Stand der Dinge oder vereinbare feste Zeiten dafür. So vermeidest du häufige Unterbrechungen.
Dokumentiere Bugs umfassender, damit der Entwickler sie allein einfacher reproduzieren kann. Bedenke, dass die Arbeit weniger synchron abläuft. Bei Applause fügen wir allen Funktionsproblemen meist Bildschirmaufzeichnungen und markierte Screenshots sowie, sofern erforderlich, Anwendungsprotokolle hinzu.
3. Poliere jetzt deine Prozesse auf
Du läufst bereits wieder. Wenn du deine Prozesse aber wirklich verbessern und beschleunigen möchtest, dann ändere einfach das Setup: Steige in ein Auto und ab gehts!
Die Unterbrechung des Tagesgeschäfts durch die weltweite Corona-Krise erweist sich vielleicht als Chance, um in der freien Zeit das eigene Setup zu verbessern.
Wir hier bei Applause führen Testläufe beispielsweise häufig am Wochenende durch, um „Leerlaufzeit“ besser zu nutzen. So wird der Regelbetrieb nicht gestört. Vielleicht kannst du ja auch jetzt, wo der Betrieb stillsteht und viele Projekte auf Eis gelegt sind, endlich darüber nachdenken, ob du agiler werden, dein Engineering-System durch die Implementierung ausgewählter CI-/CD-Prozesse und -Tools verbessern oder vollständig auf DevOps umsteigen möchtest. Du hast die Wahl, die Situation lässt es zu!