Test Process Improvement (TPI) ved hjælp af PDCA Model

⚡ Smart opsummering

Testprocesforbedring anvender PDCA-cyklussen til testning, så hvert projekt efterlader målbare erfaringer. Denne side forklarer de fire PDCA-trin, modenhedsmodellerne bag dem og de målinger, der beviser, at forbedringer rent faktisk har fundet sted.

  • 🔁 PDCA-løkke: Planlæg, gør, tjek og handl forvandler ét projekts fejl til en gentagelig standard.
  • 🎯 Start med problemerne: Lav en liste over reelle mangler, forsinkelser og omkostningsoverskridelser, før du vælger nogen forbedringstiltag.
  • 📊 Mål alt: Track-produktivitet, defektlækage og omkostninger pr. testcase før og efter hver ændring.
  • ⚠️ Se bivirkninger: Automatisering øgede gennemløbshastigheden her, men kvaliteten faldt, indtil værktøjsvalget blev korrigeret.
  • 🪜 Forbedr gradvist: Små, sekventielle handlinger lykkes langt oftere end en fuldstændig omskrivning af en proces.
  • 🏛️ Vælg en model: TPI NEXT bruger fire modenhedsniveauer; TMMi og CMMI definerer hver fem.
  • 📝 Standardisér sejren: Opdater testpolitikken og skabelonerne, så det næste projekt arver gevinsten.

Testprocesforbedring (TPI) ved hjælp af PDCA-modellen

Hvad er forbedring af testprocesser?

Test procesforbedring er praksissen med at måle, hvordan en testproces præsterer, identificere dens svage punkter og anvende kontrollerede ændringer, så det næste projekt leverer højere kvalitet til en lavere pris og på kortere tid. Den behandler test som en proces, der kan måles og justeres, i stedet for en aktivitet, der gentages på samme måde i hver udgivelse.

Forestil dig Guru99 Bank-projektet er netop blevet afsluttet. Ledelsen sætter pris på dit arbejde, og kunden er tilfreds. Alligevel har din chef stadig spørgsmål til dig.

Test procesforbedring ved hjælp af PDCA-model

Ledere beskriver ofte software test som en besværlig og ukontrollerbar proces. Når man ser tilbage på Guru99 Bank-projekt, stødte du på nogen af ​​følgende problemer?

Almindelige problemer, som testprocesforbedring løser

Disse er almindelige problemer i næsten ethvert testprojekt. Mange organisationer er klar over, at forbedring af testprocessen er den eneste holdbare måde at løse dem på, fordi det at lære af tidligere fejl er det, der forhindrer de samme fejl i at gentage sig i den næste udgivelsescyklus.

Hvorfor teste procesforbedring?

Følgende scenarie viser, hvorfor forbedring af testprocesser er vigtig. Guru99 Bank-projektet er færdigt, kvaliteten af ​​testningen var fremragende, og I har modtaget god feedback fra kunden.

Hvorfor forbedring af testprocesser er nødvendig - et konkurrentsammenligningsscenarie

Hvad er lektien fra dette scenarie? Det er simpelthen "forsøg altid at gøre det bedre"Selv når du mener, at du har gjort et godt stykke arbejde, er der altid andre, der gør det bedre, fordi de har fundet bedre ideer og bedre løsninger end dine.

Enhver virksomhed ønsker projektet færdiggjort med højeste kvalitet, ved laveste omkostninger, og i korteste leveringstid. Forbedring af testprocesser er det, der hjælper et testteam med at bevæge sig mod alle tre mål på samme tid.

Mål for forbedring af testprocessen - kvalitet, omkostninger og tid

Hvordan implementerer man forbedring af testprocesser?

At implementere forbedring af testprocesser på Guru99 Bank-projektet, kan testlederen følge PDCA model. PDCA (Plan-Do-Check-Act) er en firetrins ledelsesmetode, der bruges i virksomheder til at kontrollere og løbende forbedre en proces. Hver passage gennem løkken er en enkelt forbedringscyklus, og outputtet fra Act bliver input til den næste Plan.

PDCA-model brugt til at implementere forbedring af testprocesser

💡 Tip: Kør PDCA-løkken mod ét smalt problem ad gangen. En cyklus, der er rettet mod et enkelt målbart smertepunkt, såsom regressionsudførelsestid, afsluttes hurtigt nok til at vise et resultat inden for én udgivelse.

Trin 1) Planlæg

Planfasen er der, hvor forbedringen designes. Den er opdelt i tre mindre trin.

Tre trin i planlægningsfasen i testprocesforbedring

Trin 1.1) Identificer problemet

Den første aktivitet i en testforbedringsproces er identificere de problemer, der opstod i det aktuelle projekt. Problemerne i dette projekt kan opstå igen i andre projekter. At løse problemer og finde ud af løsningerne for at undgå dem i fremtiden er det primære mål med Test Improvement.

Nu tilbage til projektet Guru99 Banks hjemmeside, finder du nogen problemer eller forbedringspunkter? Vælg nedenfor

Sr nr Problem Beskrivelse Type
1 Kvalitet Kunden fandt stadig nogle Defekt efter udgivelsen
2 Levering Projektet blev forsinket
3 Team Nogle medarbejdere samarbejdede ikke med andre teammedlemmer
4 Skills Teammedlem manglede ønskede færdigheder til at udføre deres opgaver
5 Management Test Manager overvågede ikke fremskridtene godt, hvilket medførte, at nogle projekter blev forsinket
6 Kommunikation Ingen konstant kontakt med kunden; misforståelse af kundens krav
7 Pris Projektomkostningerne blev overskredet ud over det fastsatte budget

Du har problemer med Kvalitet Levering Team , Færdigheder ,Ledelse , Kommunikation ,Koste

Trin 1.2) Bestem målet

Forstå problemet og de problemer, der opstod i projektet. Sådan bestemmer du forbedringspunkterne og de testfaser, der fortjener først opmærksomhed.

Antag, at du har identificeret, at testudførelsesfasen også tog Det er meget tid og omkostninger at gennemføre. Kunne testningen gøres hurtigere og billigere? Det spørgsmål bliver målet for cyklussen. Et nyttigt mål angives som et tal og en deadline, for eksempel "reducer indsatsen for regressionsudførelse med 30 procent inden næste udgivelse".

Trin 1.3) Definer forbedringshandlingerne

Baseret på det aftalte mål fastlægges forbedringstiltagene. Disse tiltag bør være gradvise og introduceres lidt efter lidt, da det ikke er realistisk at ændre alt med det samme.

For eksempel, for at gøre testningen hurtigere og billigere, er følgende handlinger mulige.

Definition af forbedringstiltag for hurtigere og billigere testning

I eksemplet ovenfor gør både mulighed A og B testning hurtigere og billigere. Mulighed C ville gøre testning hurtigere, men det koster mere, fordi en mere erfaren tester fortjener en højere løn. Det kompromis er netop grunden til, at enhver kandidathandling skal bedømmes i forhold til målet, ikke i forhold til intuition.

Trin 2) Gør

Du har allerede defineret forbedringspunkterne. Det er nu tid til at udarbejde en plan, der implementerer dem. Denne plan skal besvare følgende spørgsmål.

  • Hvilke forbedringspunkter skal implementeres, og i hvilken rækkefølge?
  • Hvornår skal planen være færdig?
  • Hvilke trin skal gennemføres for at opnå planen?
  • Hvem ejer hvert trin, og hvordan bekræftes færdiggørelsen?

Udfør forbedringshandlinger

Når planen er etableret, skal den implementeres. Forbedringsaktiviteter kan forstyrre det testarbejde, der allerede er i gang, så en testmanager skal betale opmærksomhed til dem for at undgå uønsket konsekvenser.

Overvej følgende scenarie. På Guru99 Bank-projektet, for at gøre testning hurtigere og billigere, besluttede du at bruge automatiseringstest i stedet for en stor blok af manuelle regressionstests. Efter at handlingen var anvendt, steg produktiviteten betydeligt.

Trin 3) Tjek

I kontroltrinnet gør du tre ting.

  • Evaluer effektivitet af testforbedringshandlingerne
  • Mål hvordan effektiv løsningen var
  • Analyser om det kunne være forbedret yderligere

Målet med denne fase er at bekræfte, at forbedringstiltagene blev implementeret med succes, og at evaluere, om det mål, der blev sat i planen, rent faktisk er blevet nået.

Den bedste måde at udføre denne evaluering på er med målingerMålinger er afgørende for succesfuld organisationsledelse. Testmanageren indsamler data og bruger dem til at måle parametre som produktivitet, kvalitet og omkostninger.

For eksempel, før automatisering blev anvendt på projektet, blev test af produktivitet 10 testsager pr. mandtimeEfter automatisering blev anvendt, blev produktiviteten målt til 20 testsager pr. mandtime.

Kontrol af produktivitet før og efter forbedringshandlingen

Men et uønsket problem opstod ved siden af ​​denne gevinst.

Bivirkning af en forbedringshandling - kvaliteten falder i takt med at produktiviteten stiger

I dette tilfælde anvendes automatisering øget produktiviteten af ​​testning, men kvaliteten af ​​testning er faldetEn forbedringsforanstaltning kan derfor forårsage alvorlige konsekvenser andre steder. I et sådant scenario skal testværktøjet vælges langt mere omhyggeligt, og den automatiserede suite skal gennemgås med samme grundighed som produktionskoden. En struktureret evaluering af kandidatværktøjer, som den der er beskrevet i Selenium tutorial, forhindrer et værktøj i at blive taget i brug udelukkende fordi det er populært.

⚠️ Advarsel: Bedøm aldrig en forbedringshandling ud fra en enkelt metrik. En ændring, der fordobler udførelseshastigheden, samtidig med at den sænker fejldetektionen, har gjort processen hurtigere og forværret på samme tid. Kombiner altid en hastighedsmetrik med en kvalitetsmetrik.

Overvej det samme scenarie igen. Guru99 projektomkostninger havde overskridelse fordi teammedlemmerne tog også meget tid at udføre testcaserne. Ved at bruge det automatiserede testværktøj har du gemt 30 procent af projektomkostningerne. Det er en god forbedring, men din chef forventer mere.

Ledelsen forventer yderligere omkostningsreduktion efter den første forbedringscyklus

Du skal derfor altid lede efter nyere løsninger, der forbedrer testprocessen yderligere. I dette scenarie kan andre muligheder spare yderligere projektomkostninger.

  • Administrer dine menneskelige ressourcer effektivt, så dygtige testere anvendes der, hvor de tilfører mest værdi
  • Forhandle bedre kommercielle vilkår med dine leverandører af værktøj og bemanding
  • Tilbagekald dubletter eller testsager med lav værdi i stedet for at automatisere dem

Trin 4) Handl

Når forbedringstiltagene er implementeret med succes, og målet er nået, skal testmanageren fuldføre løkken med følgende aktiviteter.

Aktiviteter i aktfasen i PDCA-testprocesforbedringscyklussen

  • Anmeldelse forbedringsaktiviteterne og handle på de indhøstede erfaringer
  • Standardisere forbedringspunktet i teststyringsprocessen
  • Opdatering politikdokumenterne, testplanskabelonerne og standardprocesdokumenterne
  • Bestem hvornår og hvor disse ændringer vil blive anvendt på det næste projekt

Hvis målet ikke blev nået, stopper cyklussen ikke. Det uopfyldte mål føres ind i en ny planfase sammen med alt, hvad kontrolfasen afslørede om, hvorfor handlingen ikke præsterede som forventet.

TPI NEXT, TMMi og CMMI sammenlignet

PDCA er motoren for forbedring, men en referencemodel fortæller dig, hvordan "bedre" ser ud. Tre modeller bruges almindeligvis, og de forveksles ofte med hinanden.

TPI NÆSTE er en testspecifik referencemodel udgivet af Sogeti. Den vurderer 16 nøgleområder, organiseret i tre grupper, ud fra fire modenhedsniveauer: Initial, Kontrolleret, Effektiv og Optimerende. Fordi vurderingen sker nøgleområde for nøgleområde, kan et team være Effektivt på ét område, mens det stadig er Kontrolleret på et andet.

TMMi, vedligeholdt af TMMi Foundation, er en trindelt testmodenhedsmodel med fem niveauer: Initial, Administreret, Defineret, Målt og Optimering. En organisation når først et niveau efter at have opfyldt procesområderne for det pågældende niveau.

CMMI er slet ikke en testmodel. Den dækker hele udviklingsorganisationen, og dens trinvise repræsentation har også fem modenhedsniveauer: Initial, Administreret, Defineret, Kvantitativt Administreret og Optimerende. TMMi blev designet til at supplere CMMI snarere end at erstatte det.

Model Anvendelsesområde Struktur Modenhedsniveauer
TPI NÆSTE Kun testproces 16 nøgleområder i 3 grupper, med kontrolpunkter og klynger 4 — Indledende, Kontrolleret, Effektiv, Optimerende
TMMi Kun testproces Iscenesat, med procesområder tildelt hvert niveau 5 — Indledende, Administreret, Defineret, Målt, Optimering
CMMI Hele udviklingsorganisationen Iscenesat eller kontinuerlig repræsentation 5 (trinvis) — Indledende, Styret, Defineret, Kvantitativt Styret, Optimering

Målinger, der beviser forbedring af testprocesser

Kontrolfasen kollapser uden tal. Et lille, stabilt metriksæt indsamlet før og efter hver cyklus er tilstrækkeligt, og de samme definitioner skal bruges på begge sider af sammenligningen.

  • Produktivitet for testudførelse — udførte testsager pr. mandtime
  • Fejldetekteringsprocent (DDP) — fejl fundet i test som andel af alle fundne fejl, inklusive dem, der er rapporteret efter frigivelse
  • Omkostninger pr. udført testcase — samlede omkostninger til testindsats divideret med udførte testcases
  • Kravdækning — krav med mindst én tilknyttet test sag
  • Udbedring af fejl — gennemsnitsalderen for en defekt på tværs af defektens livscyklus

Brug af Guru99 Bank-tal, hvor 180 defekter blev fundet i test og 20 blev rapporteret af kunden efter frigivelse, er beregningen ligetil.

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

Output:

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

En DDP på ​​90 procent betyder, at én ud af ti fejl stadig slipper ud til kunden, så kvalitetsmålet blev ikke fuldt ud opfyldt, selvom produktiviteten fordobles, og omkostningerne falder med 30 procent. Det er netop denne opfattelse, der forhindrer et team i at erklære sejr for tidligt.

Almindelige fejl i forbindelse med forbedring af testprocesser

De fleste forbedringsprogrammer mislykkes af organisatoriske årsager snarere end tekniske. Følgende fejl tegner sig for størstedelen af ​​​​opgivne initiativer.

  • Forbedring uden en baseline. Hvis ingen målte processen før ændringen, kan ingen bevise, at ændringen hjalp. Registrer baseline under planlægningen, ikke bagefter.
  • Jagter et modenhedsniveau i stedet for en forretningsdrivende ånd. Et certifikat, der ikke reducerer omkostninger, defekter eller leveringstid, er en udgift, ikke en forbedring.
  • Ændrer for meget på én gang. Når fem handlinger lander i den samme udgivelse, kan en regression ikke udføres tractil nogen af ​​dem.
  • Automatisering af en defekt proces. Automatisering mangedobler enhver proces, den anvendes på, herunder svagt testdesign og uklare adgangskriterier.
  • Springping Act-fasen. En forbedring, der aldrig er skrevet ind i testpolitikken, og livscyklus for softwaretest dokumenter dør med projektteamet, der opfandt det.
  • Undtagen testerne. Folk, der ikke er blevet hørt om en forandring, finder pålidelige måder at omgå den på.

For at tage disse idéer videre, gennemgå faserne af livscyklus for softwaretest, stram din test sag designe, formalisere proces til håndtering af fejl, vurder hvor automatiseringstest giver et reelt afkast, og se hvordan et værktøj som f.eks. HP ALM kan indeholde de metrikker, som din kontrolfase afhænger af.

Ofte Stillede Spørgsmål

Umiddelbart efter en udgivelse, mens retrospektive data stadig er friske, og ingen er under leveringspres. At starte midt i et sprint konkurrerer med selve udgivelsen, og at starte måneder senere betyder, at tallene for indsats, fejl og omkostninger ikke længere er troværdige.

Testmanageren ejer cyklussen og metrikkene, men hver handling kræver en navngiven ejer fra det team, der udfører arbejdet. Forbedringer, der er tildelt en gruppe snarere end en person, er dem, der stille og roligt går i stå.

Retrospektive analyser dækker lokale rettelser godt, men adresserer sjældent organisationsdækkende svagheder såsom levering af testdata eller tilgængelighed af miljøer. En referencemodel giver agile teams et fælles ordforråd til disse tværfaglige problemer uden at erstatte retrospektive analyser.

Udførelsesmålinger som produktivitet eller cyklustid flytter sig normalt inden for én udgivelse. Kvalitetsmålinger som f.eks. defektlækage kræver to eller tre udgivelser, fordi undslapne defekter først tælles med, når kunderne har brugt softwaren i produktion.

Ja, til mønsterdetektion. Modeller trænet på fejlhistorik, build-logfiler og udførelsesregistreringer kan afsløre ustabile tests, redundante tilfælde og moduler med gentagne escapes. At beslutte, hvilket fund der er værd at handle på, forbliver en menneskelig vurdering af forretningsrisiko.

Volumen kan forveksles med dækning. AI kan producere tusindvis af cases, der oppuster antallet af udførelser, mens de samme stier testes gentagne gange. Track-fejldetektion sammen med sagsantal og gennemgang af genererede sager, før de indgår i regressionssuiten.

Opsummer dette indlæg med: