Testprozessverbesserung (TPI) mithilfe des PDCA-Modells

โšก Intelligente Zusammenfassung

Die Testprozessverbesserung wendet den PDCA-Zyklus auf das Testen an, sodass jedes Projekt messbare Erkenntnisse liefert. Diese Seite erlรคutert die vier PDCA-Schritte, die zugrunde liegenden Reifegradmodelle und die Kennzahlen, die den erzielten Verbesserungsprozess belegen.

  • ๐Ÿ” PDCA-Schleife: Planen, Durchfรผhren, รœberprรผfen und Handeln verwandelt die Fehler eines Projekts in einen wiederholbaren Standard.
  • ๐ŸŽฏ Beginnen wir mit den Problemen: Bevor Sie sich fรผr eine VerbesserungsmaรŸnahme entscheiden, listen Sie die tatsรคchlichen Mรคngel, Verzรถgerungen und Kostenรผberschreitungen auf.
  • ๐Ÿ“Š Alles messen: Track-Produktivitรคt, Fehlerhรคufigkeit und Kosten pro Testfall vor und nach jeder ร„nderung.
  • โš ๏ธ Nebenwirkungen beachten: Durch die Automatisierung konnte der Durchsatz gesteigert werden, die Qualitรคt sank jedoch, bis die Werkzeugauswahl korrigiert wurde.
  • ๐Ÿชœ Sich schrittweise verbessern: Kleine, aufeinander aufbauende Aktionen sind weitaus hรคufiger erfolgreich als eine vollstรคndige Prozessneugestaltung.
  • ๏ธ Wรคhlen Sie ein Modell: TPI NEXT verwendet vier Reifegrade; TMMi und CMMI definieren jeweils fรผnf.
  • ๐Ÿ“ Den Sieg standardisieren: Aktualisieren Sie die Testrichtlinien und Vorlagen, damit das nรคchste Projekt von den Verbesserungen profitiert.

Testprozessverbesserung (TPI) mithilfe des PDCA-Modells

Was ist Testprozessverbesserung?

Verbesserung des Testprozesses Die Methode besteht darin, die Leistung eines Testprozesses zu messen, Schwachstellen zu identifizieren und gezielte ร„nderungen vorzunehmen, um im nรคchsten Projekt hรถhere Qualitรคt zu geringeren Kosten und in kรผrzerer Zeit zu erzielen. Testen wird dabei als messbarer und optimierbarer Prozess betrachtet, nicht als eine Aktivitรคt, die bei jeder Version gleich wiederholt wird.

Stell dir das vor GuruDas Projekt der 99 Bank ist soeben abgeschlossen worden. Die Geschรคftsleitung lobt Ihre Arbeit, und der Kunde ist zufrieden. Trotzdem hat Ihr Chef noch einige Fragen an Sie.

Verbesserung des Testprozesses mithilfe des PDCA-Modells

Manager beschreiben oft Softwaretest als ein problematischer und unkontrollierbarer Prozess. Rรผckblickend auf GuruGab es beim Projekt โ€ž99 Bankโ€œ eines der folgenden Probleme?

Hรคufige Probleme, die durch Testprozessverbesserung gelรถst werden

Dies sind hรคufige Probleme in nahezu jedem Testprojekt. Viele Organisationen erkennen, dass die Verbesserung des Testprozesses der einzig nachhaltige Weg ist, diese Probleme zu lรถsen, denn nur wer aus Fehlern der Vergangenheit lernt, kann verhindern, dass dieselben Fehler im nรคchsten Release-Zyklus wiederholt werden.

Warum Prozessverbesserung testen?

Das folgende Szenario verdeutlicht, warum die Verbesserung von Testprozessen wichtig ist. GuruDas Projekt โ€ž99 Bankโ€œ ist abgeschlossen, die Testqualitรคt war hervorragend, und Sie haben positives Feedback vom Kunden erhalten.

Warum eine Verbesserung des Testprozesses notwendig ist โ€“ Vergleich mit Wettbewerbern

Welche Lehre lรคsst sich aus diesem Szenario ziehen? Ganz einfach: โ€žVersuche immer, dich zu verbessernโ€œSelbst wenn man glaubt, gute Arbeit geleistet zu haben, gibt es immer andere, die es besser machen, weil sie bessere Ideen und bessere Lรถsungen gefunden haben als die eigenen.

Jedes Unternehmen wรผnscht sich, dass das Projekt fristgerecht abgeschlossen wird. hรถchste Qualitรคt, bei der niedrigste Kosten und in der kรผrzeste Lieferzeit. Die Verbesserung des Testprozesses hilft einem Testteam dabei, alle drei Ziele gleichzeitig zu erreichen.

Ziele der Testprozessverbesserung โ€“ Qualitรคt, Kosten und Zeit

Wie lรคsst sich eine Verbesserung des Testprozesses implementieren?

Um die Testprozessverbesserung umzusetzen GuruIm Projekt โ€ž99 Bankโ€œ kann der Testmanager dem folgenden Ablauf folgen: PDCA Das PDCA-Modell (Planen-Durchfรผhren-รœberprรผfen-Anpassen) ist eine vierstufige Managementmethode, die in Unternehmen zur Steuerung und kontinuierlichen Verbesserung von Prozessen eingesetzt wird. Jeder Durchlauf des Zyklus stellt einen einzelnen Verbesserungszyklus dar, und das Ergebnis der Handlungsphase dient als Grundlage fรผr die nรคchste Planungsphase.

Das PDCA-Modell wird zur Implementierung von Testprozessverbesserungen verwendet

๐Ÿ’ก Tipp: Wenden Sie den PDCA-Zyklus jeweils auf ein eng umrissenes Problem an. Ein Zyklus, der sich auf einen einzelnen messbaren Schwachpunkt konzentriert, wie beispielsweise die Ausfรผhrungszeit von Regressionstests, ist schnell genug abgeschlossen, um innerhalb einer einzigen Version ein Ergebnis zu liefern.

Schritt 1) โ€‹โ€‹Planen

In der Planungsphase wird die Verbesserung entworfen. Sie ist in drei kleinere Schritte unterteilt.

Drei Schritte der Planungsphase bei der Verbesserung von Testprozessen

Schritt 1.1) โ€‹โ€‹Identifizieren Sie das Problem

Die erste Aktivitรคt eines Testverbesserungsprozesses ist Identifizierungโ€ฏ die im aktuellen Projekt aufgetretenen Probleme. Die Probleme in diesem Projekt kรถnnen in anderen Projekten erneut auftreten. Das Hauptziel der Testverbesserung besteht darin, Probleme zu lรถsen und Lรถsungen zu finden, um sie in Zukunft zu vermeiden.

Nun zurรผck zum Projekt GuruWebsite der 99 Bank: Gibt es Probleme oder Verbesserungsvorschlรคge? Bitte unten auswรคhlen.

Sr Nr Aufgabenstellung: Beschreibung Auswรคhlen
1 Qualitรคt Der Kunde hat noch welche gefunden Defekt nach der Freigabe
2 Lieferung Das Projekt verzรถgerte sich
3 Team Einige Mitarbeiter arbeiteten nicht mit anderen Teammitgliedern zusammen
4 Besondere Qualifikationen Dem Teammitglied fehlten die erforderlichen Fรคhigkeiten, um seine Aufgaben zu erledigen
5 Verwaltung Der Testmanager รผberwachte den Fortschritt nicht gut, was zu Verzรถgerungen bei einigen Projekten fรผhrte
6 Kommunikation Kein stรคndiger Kontakt mit dem Kunden; Missverstรคndnis der Anforderungen des Kunden
7 Kosten Die Projektkosten wurden รผber das festgelegte Budget hinaus รผberschritten

Du hast ein Problem damit Qualitรคt Lieferung Team ,Fรคhigkeiten ,Management , Kommunikation ,Kosten

Schritt 1.2) Bestimmen Sie das Ziel

Verstehen Sie das Problem und die im Projekt aufgetretenen Schwierigkeiten. So ermitteln Sie die Verbesserungspunkte und die Testphasen, die vorrangig Aufmerksamkeit verdienen.

Angenommen, Sie haben festgestellt, dass auch die Testausfรผhrungsphase in Anspruch genommen wurde viel Zeitaufwand und Kosten fรผr die Durchfรผhrung. Kรถnnten die Tests schneller und kostengรผnstiger gestaltet werden? Diese Frage wird zum Ziel des Testzyklus. Ein sinnvolles Ziel wird als Zahl und Frist formuliert, zum Beispiel โ€žReduzierung des Aufwands fรผr Regressionstests um 30 Prozent bis zum nรคchsten Releaseโ€œ.

Schritt 1.3) Definieren Sie die VerbesserungsmaรŸnahmen

Auf Grundlage des vereinbarten Ziels werden die VerbesserungsmaรŸnahmen festgelegt. Diese MaรŸnahmen sollten schrittweise und nach und nach eingefรผhrt werden, da es unrealistisch ist, alles sofort zu รคndern.

Um beispielsweise die Tests schneller und kostengรผnstiger zu gestalten, kommen folgende MaรŸnahmen in Frage.

VerbesserungsmaรŸnahmen fรผr schnellere und kostengรผnstigere Tests definieren

Im obigen Beispiel fรผhren die Optionen A und B beide zu schnelleren und kostengรผnstigeren Tests. Option C wรผrde die Tests zwar beschleunigen, wรคre aber teurer, da erfahrenere Tester ein hรถheres Gehalt verlangen. Genau aus diesem Grund muss jede Vorgehensweise eines Kandidaten anhand des Ziels und nicht nach Intuition beurteilt werden.

Schritt 2) Tun Sie es

Sie haben die Verbesserungspunkte bereits definiert. Nun ist es an der Zeit, einen Plan zu erstellen, der diese umsetzt. Dieser Plan muss die folgenden Fragen beantworten.

  • Welche Verbesserungspunkte mรผssen umgesetzt werden und in welcher Reihenfolge?
  • Wann muss der Plan fertiggestellt sein?
  • Welche Schritte mรผssen abgeschlossen werden, um den Plan zu verwirklichen?
  • Wem ist jeder einzelne Schritt zuzuordnen und wie wird die Fertigstellung bestรคtigt?

Fรผhren Sie VerbesserungsmaรŸnahmen durch

Sobald der Plan steht, muss er umgesetzt werden. VerbesserungsmaรŸnahmen kรถnnen die laufenden Testarbeiten stรถren, daher muss ein Testmanager dafรผr sorgen, dass die Testarbeit reibungslos verlรคuft. Aufmerksamkeit um ihnen zu Unerwรผnschte Dinge vermeiden Folgen.

Betrachten Sie folgendes Szenario. GuruUm das Testen schneller und kostengรผnstiger zu gestalten, haben Sie sich fรผr das 99 Bank-Projekt entschieden. Automatisierungstests Anstelle eines groรŸen Blocks manueller Regressionstests. Nach der Umsetzung der MaรŸnahme stieg die Produktivitรคt deutlich an.

Schritt 3) รœberprรผfen

Im Schritt โ€žPrรผfenโ€œ fรผhren Sie drei Schritte aus.

  • Bewerten Effizienz der TestverbesserungsmaรŸnahmen
  • Messen Sie wie wirksam Die Lรถsung war
  • Analysieren Sie, ob es mรถglich sein kรถnnte verbessert weiter

Ziel dieser Phase ist es, zu bestรคtigen, dass die VerbesserungsmaรŸnahmen erfolgreich umgesetzt wurden, und zu bewerten, ob das im Plan festgelegte Ziel tatsรคchlich erreicht wurde.

Die beste Methode, diese Auswertung durchzufรผhren, ist mit MetrikenKennzahlen sind fรผr ein erfolgreiches Organisationsmanagement unerlรคsslich. Der Testmanager sammelt Daten und nutzt sie, um Parameter wie Produktivitรคt, Qualitรคt und Kosten zu messen.

Bevor beispielsweise die Automatisierung im Projekt eingefรผhrt wurde, war die Testproduktivitรคt 10 Testfรคlle pro MannstundeNach der Einfรผhrung der Automatisierung wurde die Produktivitรคt gemessen bei 20 Testfรคlle pro Mannstunde.

รœberprรผfung der Produktivitรคt vor und nach der VerbesserungsmaรŸnahme

Doch neben diesem Gewinn tauchte ein unerwรผnschtes Problem auf.

Nebenwirkung einer VerbesserungsmaรŸnahme โ€“ die Qualitรคt sinkt mit steigender Produktivitรคt.

In diesem Fall wird Automatisierung angewendet hat die Produktivitรคt des Testens, aber die Qualitรคt des Testens verringertEine VerbesserungsmaรŸnahme kann daher schwerwiegende Folgen haben. Konsequenzen andernorts. In einem solchen Szenario muss das Testwerkzeug wesentlich sorgfรคltiger ausgewรคhlt und die automatisierte Testsuite mit der gleichen Strenge wie der Produktionscode geprรผft werden. Eine strukturierte Evaluierung von Kandidatenwerkzeugen, wie sie beispielsweise im Abschnitt [Referenz einfรผgen] beschrieben wird, ist daher unerlรคsslich. Selenium Lernprogrammverhindert, dass ein Werkzeug nur deshalb รผbernommen wird, weil es populรคr ist.

โš ๏ธ Warnung: Beurteilen Sie VerbesserungsmaรŸnahmen niemals anhand einer einzigen Kennzahl. Eine ร„nderung, die den Durchsatz verdoppelt, gleichzeitig aber die Fehlererkennung verringert, hat den Prozess zwar beschleunigt, aber gleichzeitig verschlechtert. Kombinieren Sie daher immer eine Geschwindigkeitskennzahl mit einer Qualitรคtskennzahl.

Betrachten wir dasselbe Szenario noch einmal. Guru99 Projektkosten hatten รผberlaufen weil die Teammitglieder zu viel nahmen viel Zeit um die Testfรคlle auszufรผhren. Durch die Verwendung des automatisierten Testtools haben Sie gespart 30 Prozent der Projektkosten. Das ist eine gute Verbesserung, aber Ihr Chef erwartet mehr.

Das Management erwartet nach dem ersten Verbesserungszyklus weitere Kostensenkungen.

Daher mรผssen Sie stets nach neueren Lรถsungen suchen, die den Testprozess weiter verbessern. In diesem Fall kรถnnen alternative Optionen zusรคtzliche Projektkosten einsparen.

  • Setzen Sie Ihre Personalressourcen effektiv ein, damit qualifizierte Tester dort eingesetzt werden, wo sie den grรถรŸten Mehrwert schaffen.
  • Verhandeln Sie bessere Geschรคftsbedingungen mit Ihren Werkzeug- und Personallieferanten.
  • Doppelte oder wenig wertvolle Testfรคlle sollten ausgemustert werden, anstatt sie zu automatisieren.

Schritt 4) Handeln

Wenn die VerbesserungsmaรŸnahmen erfolgreich umgesetzt wurden und das Ziel erreicht wurde, sollte der Testmanager den Kreislauf mit den folgenden Aktivitรคten abschlieรŸen.

Aktivitรคten der Handlungsphase im PDCA-Testprozessverbesserungszyklus

  • Bewertung die VerbesserungsmaรŸnahmen und die gewonnenen Erkenntnisse umsetzen
  • Standardisieren der Verbesserungspunkt innerhalb des Testmanagementprozesses
  • Update die Richtliniendokumente, die Testplanvorlagen und die Standardprozessdokumente
  • Bestimmen wann und wo diese ร„nderungen im nรคchsten Projekt angewendet werden

Wurde das Ziel nicht erreicht, wird der Zyklus nicht unterbrochen. Das nicht erreichte Ziel wird zusammen mit allen Erkenntnissen aus der Prรผfphase, die die Grรผnde fรผr die unzureichende Leistung der MaรŸnahme aufzeigen, in eine neue Planungsphase รผbernommen.

Vergleich von TPI NEXT, TMMi und CMMI

Der PDCA-Zyklus ist der Motor fรผr Verbesserungen, aber ein Referenzmodell zeigt, wie โ€žbesserโ€œ aussieht. Drei Modelle sind gebrรคuchlich und werden hรคufig miteinander verwechselt.

TPI NEXT ist ein von Sogeti verรถffentlichtes, testspezifisches Referenzmodell. Es bewertet 16 Schlรผsselbereiche, die in drei Gruppen unterteilt sind, anhand von vier Reifegraden: Initial, Controlled, Effizient und Optimierend. Da die Bewertung Schlรผsselbereich fรผr Schlรผsselbereich erfolgt, kann ein Team in einem Bereich effizient, in einem anderen jedoch noch kontrolliert sein.

TMMi, verwaltet von der TMMi FoundationEs handelt sich um ein stufenweises Reifegradmodell mit fรผnf Stufen: Initial, Managed, Defined, Measured und Optimization. Eine Organisation erreicht eine Stufe erst, wenn sie die Prozessbereiche dieser Stufe erfรผllt.

CMMI TMMi ist kein Testmodell. Es umfasst die gesamte Entwicklungsorganisation und ist in fรผnf Reifegrade unterteilt: Initial, Managed, Defined, Quantitatively Managed und Optimizing. TMMi wurde als Ergรคnzung zu CMMI und nicht als Ersatz dafรผr entwickelt.

Modell Geltungsbereich Struktur Reifegrade
TPI NEXT Nur Testprozess 16 Schlรผsselbereiche in 3 Gruppen, mit Kontrollpunkten und Clustern 4 โ€” Initial, Controlled, Effizient, Optimierend
TMMi Nur Testprozess Stufenweise aufgebaut, wobei jedem Level Prozessbereiche zugeordnet sind. 5 โ€“ Initialisierung, Steuerung, Definition, Messung, Optimierung
CMMI Gesamtentwicklungsorganisation Inszenierte oder kontinuierliche Darstellung 5 (gestaffelt) โ€“ Initial, Managed, Defined, Quantitative Managed, Optimized

Kennzahlen, die die Verbesserung des Testprozesses belegen

Die Prรผfphase bricht ohne Zahlen zusammen. Ein kleiner, stabiler Satz von Kennzahlen, der vor und nach jedem Zyklus erfasst wird, genรผgt, und auf beiden Seiten des Vergleichs mรผssen dieselben Definitionen verwendet werden.

  • Produktivitรคt der Testausfรผhrung โ€” Anzahl der pro Mannstunde ausgefรผhrten Testfรคlle
  • Fehlererkennungsrate (DDP) โ€” Anteil der im Test festgestellten Fehler an allen gefundenen Fehlern, einschlieรŸlich der nach der Verรถffentlichung gemeldeten Fehler
  • Kosten pro ausgefรผhrtem Testfall โ€” Gesamtkosten des Testaufwands geteilt durch die Anzahl der ausgefรผhrten Testfรคlle
  • Anforderungsabdeckung โ€” Anforderungen mit mindestens einem verknรผpften Testfall
  • Bearbeitungszeit fรผr die Fehlerbehebung โ€” Durchschnittsalter eines Defekts รผber die Defektlebenszyklus

Verwendung der GuruBei den Zahlen der Bank 99, wo 180 Mรคngel bei Tests festgestellt und 20 weitere nach der Markteinfรผhrung vom Kunden gemeldet wurden, ist die Berechnung unkompliziert.

# Defect Detection Percentage and improvement deltas
def ddp(found_in_test, found_after_release):
    return found_in_test / (found_in_test + found_after_release) * 100

def delta(before, after):
    return (after - before) / before * 100

print("Defect Detection Percentage: %.1f%%" % ddp(180, 20))
print("Productivity gain: %.1f%%" % delta(10, 20))
print("Test cost change: %.1f%%" % delta(50000, 35000))

Ausgang:

Defect Detection Percentage: 90.0%
Productivity gain: 100.0%
Test cost change: -30.0%

Eine Fehlerquote von 90 Prozent bedeutet, dass immer noch jeder zehnte Fehler beim Kunden ankam. Das Qualitรคtsziel wurde also nicht vollstรคndig erreicht, obwohl sich die Produktivitรคt verdoppelte und die Kosten um 30 Prozent sanken. Diese Sichtweise bewahrt ein Team davor, zu frรผh den Erfolg zu verkรผnden.

Hรคufige Fehler bei der Verbesserung von Testprozessen

Die meisten Verbesserungsprogramme scheitern aus organisatorischen, nicht aus technischen Grรผnden. Folgende Fehler sind fรผr die Mehrzahl der abgebrochenen Initiativen verantwortlich.

  • Verbesserung ohne Ausgangslage. Wenn niemand den Prozess vor der ร„nderung gemessen hat, kann auch niemand beweisen, dass die ร„nderung geholfen hat. Erfassen Sie den Ausgangszustand wรคhrend der Planungsphase, nicht im Nachhinein.
  • Anstatt sich auf einen Geschรคftstreiber zu konzentrieren, strebt man nach einem Reifegrad. Ein Zertifikat, das weder Kosten, Mรคngel noch Lieferzeiten reduziert, ist eine Ausgabe, keine Verbesserung.
  • zu viel auf einmal รคndern. Wenn fรผnf Aktionen in derselben Version landen, kann keine Regression vorliegen. traczu einem von ihnen.
  • Automatisierung eines fehlerhaften Prozesses. Die Automatisierung vervielfacht jeden Prozess, auf den sie angewendet wird, einschlieรŸlich schwacher Testkonzepte und unklarer Eintrittskriterien.
  • รผberspringenping die Handlungsphase. Eine Verbesserung, die niemals in die Testrichtlinie aufgenommen wird und die Lebenszyklus von Softwaretests Dokumente sterben mit dem Projektteam, das sie entwickelt hat.
  • Ausgenommen die Tester. Menschen, die bei einer ร„nderung nicht befragt wurden, finden zuverlรคssig Wege, diese zu umgehen.

Um diese Ideen weiterzuentwickeln, sollten Sie die Phasen des Lebenszyklus von Softwaretests, zieh deine Testfall entwerfen, formalisieren Fehlermanagementprozess, beurteilen, wo Automatisierungstests bietet einen echten Mehrwert, und sehen Sie, wie ein Tool wie HP ALM kann die Metriken enthalten, von denen Ihre Prรผfphase abhรคngt.

Hรคufig gestellte Fragen

Unmittelbar nach einem Release, wenn die retrospektiven Daten noch aktuell sind und niemand unter Lieferdruck steht. Ein Start mitten im Sprint konkurriert mit dem Release selbst, und ein Start Monate spรคter bedeutet, dass die Zahlen zu Aufwand, Fehlern und Kosten nicht mehr verlรคsslich sind.

Der Testmanager ist fรผr den Testzyklus und die Kennzahlen verantwortlich, aber jede Aktion benรถtigt einen benannten Verantwortlichen aus dem ausfรผhrenden Team. Verbesserungen, die einer Gruppe statt einer Person zugewiesen werden, geraten oft ins Stocken.

Retrospektiven eignen sich gut zur Behebung lokaler Probleme, gehen aber selten auf unternehmensweite Schwรคchen wie die Bereitstellung von Testdaten oder die Verfรผgbarkeit der Testumgebung ein. Ein Referenzmodell bietet agilen Teams eine gemeinsame Sprache fรผr diese teamรผbergreifenden Probleme, ohne die Retrospektive zu ersetzen.

Leistungskennzahlen wie Produktivitรคt oder Zykluszeit verรคndern sich รผblicherweise innerhalb eines Releases. Qualitรคtskennzahlen wie die Fehlerquote benรถtigen zwei bis drei Releases, da unentdeckte Fehler erst gezรคhlt werden, nachdem Kunden die Software produktiv eingesetzt haben.

Ja, zur Mustererkennung. Modelle, die anhand von Fehlerhistorien, Build-Logs und Ausfรผhrungsprotokollen trainiert wurden, kรถnnen fehlerhafte Tests, redundante Fรคlle und Module mit wiederholten Escape-Sequenzen aufdecken. Die Entscheidung, welche Ergebnisse MaรŸnahmen erfordern, bleibt eine menschliche Beurteilung des Geschรคftsrisikos.

Volumen kann mit Abdeckung verwechselt werden. KI kann Tausende von Fรคllen erzeugen, die die Ausfรผhrungszahlen kรผnstlich erhรถhen, indem sie dieselben Pfade wiederholt testet. TracErkennung von k-Fehlern zusammen mit Fallzahlen und รœberprรผfung generierter Fรคlle, bevor sie in die Regressionssuite gelangen.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: