Skip to main content

Mit Genehmigung erneut veröffentlicht von Kristins exzellentem Blog, thinkingtester.

In meinem letzten Beitrag habe ich das Konzept des Qualitätsreifegradmodells vorgestellt: eine Reihe von Verhaltensweisen, die mit Qualitätsmerkmalen verbunden sind und Teams dabei helfen, verschiedene Qualitätsattribute in ihrer Software zu erreichen.

Wichtig zu beachten ist, dass die Einführung eines Qualitätsreifegradmodells das Mitwirken des gesamten Teams an der Qualität erfordert.

Qualität ist nichts, das einfach „über den Zaun“ zu Testern geworfen wird; vielmehr ist es ein Ziel, das sowohl Entwickler als auch Tester gemeinsam verfolgen.

Aber wie kann man erreichen, dass das ganze Team Verantwortung für Qualität übernimmt?

Eine Möglichkeit ist die Erstellung einer Qualitätsstrategie. Dies ist ein Dokument, auf das sich das gesamte Team gemeinsam einigt. Betrachten Sie es als eine Vereinbarung, die beschreibt, wie durch das Team qualitativ hochwertige Software entwickelt, getestet und ausgeliefert wird. 

Hier bespreche ich einige Fragen, die Sie in Ihrer Team-Qualitätsstrategie beantworten möchten.

Erstellung und Pflege von User Stories

Frage: Wie entscheidet das Team, an welchen Stories gearbeitet wird? 

Dies könnte eine Entscheidung des gesamten Teams oder nur des Product Owners sein. Oder die Priorisierung wird von jemandem außerhalb des Teams vorgenommen.

Frage: Wer bereitet die Stories für die Entwicklung vor?

Dies kann das ganze Team oder ein Teil des Teams sein. Idealerweise sollten zumindest der Product Owner, ein Entwickler und ein Tester teilnehmen.

Entwicklungsprozess

Frage: Wie entscheidet das Team, wer an welcher Story arbeitet?

Es könnte sein, dass die Entwickler jede beliebige Story vom Board auswählen können, oder es könnte Bereiche geben, aus denen jeder Entwickler wählen kann. 

In manchen Teams übernehmen Softwaretester auch einfache Entwicklungsaufgaben, wie zum Beispiel das Ändern von Texten oder Farben auf einer Webseite oder das Hinzufügen von Automatisierungs-IDs zur Vereinfachung von Automatisierung.

Frage: Wie sieht „Fertig“ bei einer Story aus? Wird dies daran gemessen, ob alle Akzeptanzkriterien der Story erfüllt sind? Muss der Entwickler Unit-Tests hinzufügen, bevor eine Story als abgeschlossen gilt? Woran erkennt man, dass ein Feature bereit für das Testen ist? 

In vielen Teams wird erwartet, dass der Entwickler erste Tests durchführt, um zu überprüfen, dass der eigene Code für weitere Tests bereit ist.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

Upgrade your inbox with more tech leadership wisdom for delivering better software and systems.

This field is for validation purposes and should be left unchanged.
By submitting you agree to receive occasional emails and acknowledge our Privacy Policy. You can unsubscribe at anytime.

Feature-Übergabe

Frage: Wie wird eine Story zur Testung übergeben?

In manchen Teams geschieht dies einfach durch das Verschieben der Story in die Spalte „Testen“ auf dem Storyboard. In anderen Teams ist eine förmlichere Übergabezeremonie nötig, bei der der Entwickler die funktionierende Story vorführt und Hinweise für weitere Tests gibt.

Frage: Wer deployed den Code in die Testumgebung?

Das scheint eine banale Angelegenheit zu sein, kann aber tatsächlich Ursache für viele Missverständnisse und viel verschwendete Zeit werden. Wenn der Entwickler denkt, es sei Aufgabe des Testers, den Code in die Testumgebung zu bringen, und der Tester davon ausgeht, dass der Entwickler es erledigt hat, könnte der Tester mit dem Testen beginnen und erst nach erheblichem Aufwand merken, dass der neue Code fehlt.

Frage: Wer wird die Tests durchführen?

In manchen Teams übernehmen Entwickler einfache Testaufgaben, um die Produktgeschwindigkeit zu erhöhen, während die komplexeren Stories den Testexperten vorbehalten bleiben.

Erstellung von Testplänen

Frage: Wer erstellt die Testpläne? Wie werden sie erstellt? Wo werden die Testpläne gespeichert?

Einige Teams bevorzugen ad-hoc Exploratives Testen mit minimaler Dokumentation. Andere Teams nutzen umfangreiche Testfallmanagementsysteme zur Dokumentation aller Tests für das Produkt. Und es gibt viele Möglichkeiten dazwischen. 

Was auch immer Sie wählen, sollte zu Ihrem Team und Produkt passen.

Frage: Wer schreibt die Testautomatisierung?

In manchen Teams schreiben die Entwickler die Unit-Tests und die Tester die API- und UI-Tests. In anderen Teams schreiben Entwickler Unit- und API-Tests, und die Tester erstellen die UI-Tests. Noch besser ist es, wenn sowohl die Entwickler als auch die Tester die Verantwortung für die Erstellung und Pflege der API- und UI-Tests teilen. 

So können die Entwickler ihr Know-how im Code-Management einbringen, während die Tester ihr Wissen darüber beitragen, was getestet werden sollte.

Frage: Wer führt andere Testarten wie Security, Performance, Zugänglichkeit und User Experience Tests durch?

In manchen größeren Unternehmen gibt es spezialisierte Security- und Performance-Ingenieure, die diese Tests übernehmen. Kleine Start-ups haben vielleicht nur ein Entwicklerteam, das für alles zuständig ist.

Testwerkzeuge

Frage: Welche Werkzeuge werden für das manuelle und automatisierte Testen verwendet? 

Die Auswahl von Testwerkzeugen ist sehr wichtig, wenn das gesamte Team für das Testen verantwortlich sein soll. Entwickler möchten höchstwahrscheinlich Werkzeuge verwenden, die dieselbe Sprache nutzen, die sie auch für die Entwicklung verwenden, da dies den Kontextwechsel minimiert, den sie durchführen müssen.

Testwartung

Frage: Wer ist für die Wartung der Tests verantwortlich? 

Es ist erstaunlich, wie schnell Testautomatisierungen veralten können. Eine einzige Wortänderung auf einer Seite kann bereits einen fehlgeschlagenen Test bedeuten. Idealerweise sollte das Team nach dem Prinzip „Wer es kaputt macht, repariert es auch“ arbeiten: Tests werden von der Person repariert, die den fehlerbehafteten Code eingecheckt hat.

Falls das nicht möglich ist, sollte zumindest sichergestellt werden, dass jeder im Team versteht, wie die Tests funktionieren und wie man sie bei Bedarf schnell repariert.

Fehler und technische Schuld

Frage: Wie werden Fehler behandelt, die beim Testen gefunden werden? Werden sie vom Entwickler und Tester besprochen, vom gesamten Team priorisiert oder im Backlog eingetragen, um später betrachtet zu werden?

Oft ist es eine gute Idee, Fehler sofort zu beheben, sobald sie gefunden werden, da der Entwickler ohnehin gerade in diesem Codeabschnitt arbeitet.

Frage: Wie wird das Team mit technischer Schuld umgehen?

Hat das Team eine Vereinbarung, pro Sprint eine bestimmte Menge technischer Schuld anzugehen? Einige Teams verfolgen die Richtlinie, dass Entwickler, wenn ihnen die Stories ausgehen, Aufgaben zur technischen Schuld aus dem Backlog übernehmen.

Releases

Frage: Welche Tests werden vor dem Release durchgeführt? Wird es einen Regressionsplan geben, den das ganze Team gemeinsam umsetzt? Wie sieht es mit explorativem Testen aus?

Ein sehr leistungsstarkes Team, das ich kenne, trifft sich kurz vor dem Release zum explorativen Testen. Mit dieser Strategie haben sie schwierige Fehler entdeckt und behoben, bevor die Software in die Produktion ging.

Frage: Wie wird die Software veröffentlicht?

In einigen Unternehmen gibt es einen Release-Manager, der die Durchführung des Releases übernimmt. In anderen Unternehmen wechselt sich das Team bei der Veröffentlichung der Software ab. Eine sehr hilfreiche Technik ist das Continuous Deployment, bei dem die Software automatisch bereitgestellt und automatisch Tests ausgeführt werden, um die Bereitstellung in jeder Umgebung zu überprüfen. Das spart dem Team Zeit und Aufwand.

Verwandter Artikel: SO FÜHREN SIE API-SMOKE-TESTS IN IHRER CONTINUOUS-DEPLOYMENT-PIPELINE DURCH

Need expert help selecting the right Other Software?

We’ve joined up with Crozdesk.com to give all our readers (yes, you!) access to Crozdesk’s software advisors. Just use the form below to share your needs, and they will contact you at no cost or commitment. You will then be matched and connected to a shortlist of vendors that best fit your company, and you can access exclusive software discounts!

Wartung

Frage: Wie werden Sie den Erfolg des Releases messen? 

Sobald die Software veröffentlicht ist, geraten diese Projekte bei Entwicklungsteams leicht in Vergessenheit; aber genau dann beginnen die Anwender, damit zu arbeiten. Welche Kennzahlen könnten Sie verwenden, um festzustellen, wie gut Ihr Produkt funktioniert? Sie könnten die von den Kunden gemeldeten Fehler nachverfolgen oder in den Logs nach unerwarteten Fehlern suchen.

Frage: Wie werden Sie die Gesundheit Ihrer Anwendung überwachen?

Es wäre ratsam, Warnmeldungen einzurichten, damit Sie über Probleme mit Ihrer Anwendung erfahren, bevor es Ihre Nutzer tun. 

Frage: Nach welchen Verhaltensweisen sollten Sie Ausschau halten?

Qualitätsstrategien können so unterschiedlich sein wie Schneeflocken. Stellen Sie sich den Unterschied zwischen einem kleinen Startup mit zehn Leuten, das eine mobile Chat-App baut, und einem Unternehmen mit zwanzigtausend Mitarbeitern vor, die Software für Flugzeuge entwickeln. Diese beiden Unternehmen benötigen sehr unterschiedliche Strategien! 

Sie können eine Qualitätsstrategie entwerfen, die gut zu Ihrem Team passt, indem Sie diese Fragen gemeinsam diskutieren und eine Strategie entwerfen, auf die Sie sich alle einigen können.

Für Werkzeuge und Technologien, die Sie bei Ihren Prozessen unterstützen, schauen Sie sich diese Liste der 10 BESTEN TEST-DATEN-MANAGEMENT-TOOLS an.