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.

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.
Manager beschreiben oft Softwaretest als ein problematischer und unkontrollierbarer Prozess. Rรผckblickend auf GuruGab es beim Projekt โ99 Bankโ eines der folgenden Probleme?
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.
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.
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.
๐ก 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.
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 |
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.
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.
Doch neben diesem Gewinn tauchte ein unerwรผnschtes Problem auf.
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.
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.
- 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.











