Test Process Improvement (TPI) med PDCA-modell

⚡ Smart sammanfattning

Testprocessförbättring tillämpar PDCA-cykeln på testning så att varje projekt lämnar efter sig mätbara lärdomar. Den här sidan förklarar de fyra PDCA-stegen, mognadsmodellerna bakom dem och de mätvärden som bevisar att förbättringar faktiskt har skett.

  • 🔁 PDCA-slinga: Planera, gör, kontrollera och agera förvandlar ett projekts misstag till en repeterbar standard.
  • 🎯 Börja med problemen: Lista verkliga defekter, förseningar och kostnadsöverskridanden innan du väljer några förbättringsåtgärder.
  • 📊 Mät allt: Track-produktivitet, defektläckage och kostnad per testfall före och efter varje ändring.
  • ⚠️ Titta på biverkningar: Automatisering ökade genomströmningen här, men kvaliteten sjönk tills verktygsvalet korrigerades.
  • 🪜 Förbättra gradvis: Små sekvenserade åtgärder lyckas mycket oftare än en fullständig processomskrivning.
  • 🏛️ Välj en modell: TPI NEXT använder fyra mognadsnivåer; TMMi och CMMI definierar vardera fem.
  • 📝 Standardisera vinsten: Uppdatera testpolicyn och mallarna så att nästa projekt ärver vinsten.

Testprocessförbättring (TPI) med hjälp av PDCA-modellen

Vad är förbättring av testprocesser?

Testprocessförbättring är praxisen att mäta hur en testprocess presterar, identifiera dess svaga punkter och tillämpa kontrollerade förändringar så att nästa projekt levererar högre kvalitet till en lägre kostnad och på kortare tid. Den behandlar testning som en process som kan mätas och finjusteras, istället för en aktivitet som upprepas på samma sätt i varje release.

Resor som ger Guru99 Bank-projektet har just slutförts. Ledningen uppskattar ditt arbete och kunden är nöjd. Trots det har din chef fortfarande frågor till dig.

Testa processförbättring med PDCA-modell

Chefer beskriver ofta mjukvarutestning som en besvärlig och okontrollerbar process. Om man ser tillbaka på Guru99 Bank-projektet, har du stött på något av följande problem?

Vanliga problem som förbättring av testprocesser löser

Det här är vanliga problem i nästan alla testprojekt. Många organisationer inser att det enda hållbara sättet att lösa dem är att förbättra testprocessen, eftersom det är att lära sig av tidigare misstag som förhindrar att samma misstag upprepas i nästa releasecykel.

Varför testa processförbättring?

Följande scenario visar varför förbättring av testprocesser är viktigt. Guru99 Bank-projektet är slutfört, testkvaliteten var utmärkt och ni fick bra feedback från kunden.

Varför förbättring av testprocesser behövs - jämförelsescenario för konkurrenter

Vad är lärdomen från detta scenario? Det är helt enkelt "försök alltid att göra bättre"Även när du tror att du har gjort ett bra jobb finns det alltid andra som gör det bättre, eftersom de har hittat bättre idéer och bättre lösningar än dina.

Varje företag vill att projektet ska vara klart med högsta kvalitet, vid lägst kostnad, och i kortast leveranstid. Förbättring av testprocessen är det som hjälper ett testteam att arbeta mot alla tre målen samtidigt.

Mål för förbättring av testprocessen - kvalitet, kostnad och tid

Hur implementerar man förbättringar av testprocesser?

Att implementera förbättring av testprocesser på Guru99 Bank-projektet, testchefen kan följa PDCA modell. PDCA (Plan-Do-Check-Act) är en fyrstegsmetod som används inom affärsvärlden för att styra och kontinuerligt förbättra en process. Varje steg genom loopen är en enda förbättringscykel, och resultatet av Act blir indata för nästa Plan.

PDCA-modell som används för att implementera testprocessförbättring

💡 Tips: Kör PDCA-loopen mot ett smalt problem i taget. En cykel som riktar sig mot en enda mätbar smärtpunkt, såsom regressionskörningstid, avslutas tillräckligt snabbt för att visa ett resultat inom en version.

Steg 1) Planera

Planeringsfasen är där förbättringen utformas. Den är uppdelad i tre mindre steg.

Tre steg i planeringsfasen i testprocessförbättring

Steg 1.1) Identifiera problemet

Den första aktiviteten i en testförbättringsprocess är identifiera de problem som uppstod i det aktuella projektet. Problemen i detta projekt kan hända igen i andra projekt. Att lösa problem och ta reda på lösningarna för att undvika dem i framtiden är det primära målet med Test Improvement.

Nu tillbaka till projektet Guru99 Banks webbplats, hittar du några problem eller förbättringspunkter? Välj nedan.

Sr nr Problem BESKRIVNING Välja
1 Kvalitativa Kunden hittade fortfarande några defekt efter frigivningen
2 Leverans Projektet blev försenat
3 Team Vissa anställda samarbetade inte med andra teammedlemmar
4 färdigheter Teammedlemmen saknade önskade färdigheter för att utföra sina uppgifter
5 Verksamhetsledningen Test Manager övervakade inte framstegen på ett bra sätt, vilket gjorde att vissa projekt blev försenade
6 Kommunikation Ingen konstant kontakt med kunden; missförstå kundens krav
7 Pris Projektkostnaden överskred den fastställda budgeten

Du har problem med Kvalitativa Leverans Team ,Kompetens ,Förvaltning , Kommunikation ,Kosta

Steg 1.2) Bestäm målet

Förstå problemet och de problem som uppstod i projektet. Så här identifierar du förbättringspunkterna och de testfaser som förtjänar uppmärksamhet först.

Anta att du har identifierat att testkörningsfasen också tog mycket tid och kostnad att slutföra. Kan testningen göras snabbare och billigare? Den frågan blir målet för cykeln. Ett användbart mål anges som ett nummer och en deadline, till exempel "minska ansträngningen för regressionsexekvering med 30 procent före nästa release".

Steg 1.3) Definiera förbättringsåtgärderna

Baserat på det överenskomna målet fastställs förbättringsåtgärderna. Dessa åtgärder bör vara gradvisa och införas bit för bit, eftersom det inte är realistiskt att ändra allt omedelbart.

För att till exempel göra testningen snabbare och billigare är följande åtgärder möjliga.

Definiera förbättringsåtgärder för snabbare och billigare testning

I exemplet ovan gör både alternativ A och B testningen snabbare och billigare. Alternativ C skulle göra testningen snabbare, men det kostar mer eftersom en mer erfaren testare har en högre lön. Den avvägningen är just anledningen till att varje kandidats handling måste bedömas utifrån målet, inte utifrån intuition.

Steg 2) Gör

Du har redan definierat förbättringspunkterna. Det är nu dags att skapa en plan som implementerar dem. Denna plan måste besvara följande frågor.

  • Vilka förbättringspunkter behöver implementeras, och i vilken ordning?
  • När måste planen vara klar?
  • Vilka steg måste genomföras för att uppnå planen?
  • Vem äger varje steg, och hur bekräftas slutförandet?

Utför förbättringsåtgärder

När planen är fastställd måste den implementeras. Förbättringsaktiviteter kan störa testarbetet som redan är igång, så en testchef måste betala uppmärksamhet till dem för att undvika oönskade konsekvenser.

Tänk dig följande scenario. På Guru99 Bank-projektet, för att göra testning snabbare och billigare, bestämde du dig för att använda automatiseringstestning istället för ett stort antal manuella regressionstester. Efter att åtgärden hade tillämpats ökade produktiviteten avsevärt.

Steg 3) Kontrollera

I kontrollsteget gör du tre saker.

  • Utvärdera effektivitet av testförbättringsåtgärderna
  • Mät hur effektiv lösningen var
  • Analysera om det kan vara förbättras ytterligare

Målet med denna fas är att bekräfta att förbättringsåtgärderna har genomförts framgångsrikt och att utvärdera om målet som sattes i planen faktiskt har uppnåtts.

Det bästa sättet att utföra den utvärderingen är med metrikMätvärden är avgörande för framgångsrik organisationsledning. Testledaren samlar in data och använder den för att mäta parametrar som produktivitet, kvalitet och kostnad.

Till exempel, innan automatisering tillämpades på projektet, testades produktiviteten 10 testfall per arbetstimmeEfter att automatisering hade tillämpats mättes produktiviteten till 20 testfall per arbetstimme.

Kontroll av produktivitet före och efter förbättringsåtgärden

Men ett oönskat problem dök upp vid sidan av den vinsten.

Bieffekt av en förbättringsåtgärd - kvaliteten sjunker när produktiviteten ökar

I det här fallet tillämpas automatisering ökat testningens produktivitet, men testningens kvalitet minskadeEn förbättringsåtgärd kan därför orsaka allvarliga Konsekvenserna någon annanstans. I ett sådant scenario måste testverktyget väljas mycket mer noggrant, och den automatiserade sviten måste granskas med samma noggrannhet som produktionskoden. En strukturerad utvärdering av kandidatverktyg, såsom den som beskrivs i Selenium handledning, förhindrar att ett verktyg antas enbart för att det är populärt.

⚠️ Varning: Bedöm aldrig en förbättringsåtgärd utifrån ett enda mått. En förändring som fördubblar exekveringshastigheten samtidigt som den minskar feldetekteringen har gjort processen snabbare och samtidigt sämre. Kombinera alltid ett hastighetsmått med ett kvalitetsmått.

Tänk dig samma scenario igen. Guru99 projektkostnader hade överskridande eftersom gruppmedlemmarna tog för mycket mycket tid att utföra testfallen. Genom att använda det automatiserade testverktyget sparade du 30 procent av projektkostnaden. Det är en bra förbättring, men din chef förväntar sig mer.

Ledningen förväntar sig ytterligare kostnadsminskningar efter den första förbättringscykeln

Därför måste man alltid leta efter nyare lösningar som ytterligare förbättrar testprocessen. I det här scenariot kan andra alternativ spara ytterligare projektkostnader.

  • Hantera dina mänskliga resurser effektivt, så att skickliga testare används där de tillför mest värde
  • Förhandla fram bättre kommersiella villkor med era verktygs- och bemanningsleverantörer
  • Ta bort dubbletter eller testfall med lågt värde istället för att automatisera dem

Steg 4) Agera

När förbättringsåtgärderna har implementerats framgångsrikt och målet har uppnåtts, bör testledaren slutföra loopen med följande aktiviteter.

Aktiviteter i åtgärdsfasen i PDCA-testprocessens förbättringscykel

  • Review förbättringsaktiviteterna och agera utifrån de lärdomar som dragits
  • Standardisera förbättringspunkten inom testhanteringsprocessen
  • Uppdatering policydokumenten, testplanmallarna och standardprocessdokumenten
  • Bestämma när och var dessa ändringar kommer att tillämpas på nästa projekt

Om målet inte uppnåddes, stannar inte cykeln. Det ouppnådda målet tas med in i en ny planfas tillsammans med allt som kontrollfasen avslöjade om varför åtgärden underpresterade.

TPI NEXT, TMMi och CMMI jämförda

PDCA är motorn för förbättring, men en referensmodell visar hur "bättre" ser ut. Tre modeller används ofta, och de förväxlas ofta med varandra.

TPI NÄSTA är en testspecifik referensmodell publicerad av Sogeti. Den utvärderar 16 nyckelområden, organiserade i tre grupper, mot fyra mognadsnivåer: Initial, Kontrollerad, Effektiv och Optimerande. Eftersom bedömning sker nyckelområde för nyckelområde kan ett team vara Effektivt inom ett område samtidigt som det fortfarande är Kontrollerat inom ett annat.

TMMi, underhålls av TMMi Foundation, är en stegvis testmognadsmodell med fem nivåer: Initial, Hanterad, Definierad, Mätt och Optimering. En organisation når en nivå först efter att ha uppfyllt processområdena för den nivån.

CMMI är inte alls en testmodell. Den täcker hela utvecklingsorganisationen, och dess etappvisa representation har också fem mognadsnivåer: Initial, Hanterad, Definierad, Kvantitativt Hanterad och Optimerande. TMMi utformades för att komplettera CMMI snarare än att ersätta det.

Modell Omfattning Structure Mognadsnivåer
TPI NÄSTA Endast testprocessen 16 nyckelområden i 3 grupper, med kontrollpunkter och kluster 4 — Initial, Kontrollerad, Effektiv, Optimerande
TMMi Endast testprocessen Stegvis, med processområden tilldelade till varje nivå 5 — Initial, Hanterad, Definierad, Mätt, Optimering
CMMI Hela utvecklingsorganisationen Stegvis eller kontinuerlig representation 5 (stegvis) — Initial, Hanterad, Definierad, Kvantitativt Hanterad, Optimerande

Mätvärden som bevisar förbättring av testprocesser

Kontrollfasen kollapsar utan siffror. En liten, stabil mätvärdesuppsättning som samlas in före och efter varje cykel räcker, och samma definitioner måste användas på båda sidor av jämförelsen.

  • Produktivitet för testkörning — testfall utförda per arbetstimme
  • Defektdetekteringsprocent (DDP) — fel som upptäckts vid testning som andel av alla upptäckta fel, inklusive de som rapporterats efter utgivning
  • Kostnad per utfört testfall — total kostnad för testinsats dividerad med utförda testfall
  • Kravtäckning — krav med minst en länkad testfall
  • Handläggningstid för felåtgärder — genomsnittlig ålder för en defekt över hela defektens livscykel

Använda Guru99 Banksiffror, där 180 fel hittades vid testning och 20 rapporterades av kunden efter frigivning, är beräkningen enkel.

# 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))

Produktion:

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

En DDP på ​​90 procent innebär att ett av tio fel ändå nådde kunden, så kvalitetsmålet uppnåddes inte helt trots att produktiviteten fördubblades och kostnaden minskade med 30 procent. Det är just den synen som hindrar ett team från att utropa seger för tidigt.

Vanliga misstag vid förbättring av testprocesser

De flesta förbättringsprogram misslyckas av organisatoriska skäl snarare än tekniska. Följande misstag står för majoriteten av övergivna initiativ.

  • Förbättra utan en baslinje. Om ingen mätte processen före förändringen, kan ingen bevisa att förändringen hjälpte. Registrera baslinjen under planeringen, inte efteråt.
  • Jagar en mognadsnivå istället för en affärsmässig drivkraft. Ett certifikat som inte minskar kostnader, defekter eller ledtider är en kostnad, inte en förbättring.
  • Ändrar för mycket på en gång. När fem åtgärder landar i samma utgåva kan en regression inte utföras tractill någon av dem.
  • Automatisera en trasig process. Automatisering mångfaldigar vilken process den tillämpas på, inklusive svag testdesign och otydliga inträdeskriterier.
  • Hoppaping Aktfasen. En förbättring som aldrig skrivs in i testpolicyn och livscykel för mjukvarutestning dokument dör med projektgruppen som uppfann det.
  • Exklusive testarna. Människor som inte konsulterats om en förändring hittar pålitligt sätt att kringgå den.

För att ta dessa idéer vidare, granska faserna i livscykel för mjukvarutestning, dra åt testfall designa, formalisera process för felhantering, utvärdera var automatiseringstestning ger en genuin avkastning, och se hur ett verktyg som t.ex. HP ALM kan innehålla de mätvärden som din kontrollfas är beroende av.

Vanliga frågor

Omedelbart efter en release, medan retrospektiva data fortfarande är färska och ingen är under leveranspress. Att börja mitt i en sprint konkurrerar med själva releasen, och att börja månader senare innebär att siffrorna för ansträngning, fel och kostnader inte längre är tillförlitliga.

Testledaren äger cykeln och mätvärdena, men varje åtgärd behöver en namngiven ägare från teamet som utför arbetet. Förbättringar som tilldelats en grupp snarare än en person är de som tyst stannar av.

Retrospektiven täcker lokala korrigeringar väl men åtgärdar sällan organisationsomfattande svagheter som tillhandahållande av testdata eller miljötillgänglighet. En referensmodell ger agila team ett gemensamt ordförråd för dessa problem som rör flera team utan att ersätta retrospektiven.

Exekveringsmått som produktivitet eller cykeltid flyttas vanligtvis inom en release. Kvalitetsmått som defektläckage behöver två eller tre releaser, eftersom överkomna defekter bara räknas efter att kunderna har använt programvaran i produktion.

Ja, för mönsterdetektering. Modeller som tränas på defekthistorik, byggloggar och exekveringsregister kan avslöja ojämna tester, redundanta fall och moduler med upprepade escapes. Att avgöra vilket fynd som är värt att agera på är fortfarande en mänsklig bedömning av affärsrisk.

Volym kan misstas för täckning. AI kan producera tusentals fall som blåser upp antalet exekveringar samtidigt som samma sökvägar testas upprepade gånger. Track-detektering tillsammans med ärendeantal och granska genererade ärenden innan de går in i regressionssviten.

Sammanfatta detta inlägg med: