Poboljšanje procesa testiranja (TPI) pomoću PDCA modela
⚡ Pametni sažetak
Poboljšanje procesa testiranja primjenjuje PDCA ciklus na testiranje tako da svaki projekt ostavlja mjerljive lekcije. Ova stranica objašnjava četiri PDCA koraka, modele zrelosti koji stoje iza njih i metrike koje dokazuju da se poboljšanje stvarno dogodilo.

Što je poboljšanje procesa testiranja?
Poboljšanje procesa testiranja je praksa mjerenja uspješnosti procesa testiranja, identificiranja njegovih slabih točaka i primjene kontroliranih promjena kako bi sljedeći projekt pružio veću kvalitetu uz niže troškove i u kraćem vremenu. Testiranje se tretira kao proces koji se može mjeriti i podešavati, umjesto kao aktivnost koja se ponavlja na isti način u svakom izdanju.
Zamislite GuruProjekt 99 Bank je upravo završen. Uprava cijeni vaš rad, a klijent je zadovoljan. Unatoč tome, vaš šef još uvijek ima pitanja za vas.
Menadžeri često opisuju testiranje softvera kao problematičan i nekontroliran proces. Osvrćući se na GuruJeste li se suočili s nekim od sljedećih problema u vezi s projektom Banke 99?
To su uobičajeni problemi u gotovo svakom testnom projektu. Mnoge organizacije shvaćaju da je poboljšanje procesa testiranja jedini trajni način za njihovo rješavanje, jer učenje iz prošlih pogrešaka sprječava ponavljanje istih pogrešaka u sljedećem ciklusu izdanja.
Zašto poboljšanje procesa testiranja?
Sljedeći scenarij pokazuje zašto je poboljšanje procesa testiranja važno. GuruProjekt 99 Bank je završen, kvaliteta testiranja je bila izvrsna i dobili ste dobre povratne informacije od kupca.
Koja je lekcija naučena iz ovog scenarija? Jednostavno je „Uvijek se trudi biti bolji“Čak i kada vjerujete da ste napravili dobar posao, uvijek postoje drugi koji to rade bolje, jer su pronašli bolje ideje i bolja rješenja od vaših.
Svako poduzeće želi da projekt bude završen s najviši kvaliteta, na najniža trošak, i u najkraći vrijeme isporuke. Poboljšanje procesa testiranja je ono što pomaže timu za testiranje da se istovremeno kreće prema sva tri cilja.
Kako implementirati poboljšanje procesa testiranja?
Za implementaciju poboljšanja procesa testiranja na Guru99 Bank projekt, voditelj testiranja može pratiti PDCA model. PDCA (Planiraj-Uradi-Provjeri-Djeluj) je metoda upravljanja u četiri koraka koja se koristi u poslovanju za kontrolu i kontinuirano poboljšanje procesa. Svaki prolaz kroz petlju je jedan ciklus poboljšanja, a izlaz Djeluj postaje ulaz sljedećeg Plana.
💡 Savjet: Pokrenite PDCA petlju na jednom uskom problemu istovremeno. Ciklus koji cilja jednu mjerljivu bolnu točku, kao što je vrijeme izvršavanja regresije, završava dovoljno brzo da prikaže rezultat unutar jednog izdanja.
Korak 1) Plan
Faza planiranja je faza u kojoj se osmišljava poboljšanje. Podijeljena je u tri manja koraka.
Korak 1.1) Identificirajte problem
Prva aktivnost procesa poboljšanja testa je identificiranje probleme koji su se pojavili u trenutnom projektu. Problemi u ovom projektu mogu se ponoviti u drugom projektu. Rješavanje problema i pronalaženje rješenja kako bi se oni izbjegli u budućnosti primarni je cilj Test Improvementa.
A sada natrag na projekt GuruWeb stranica 99 Bank, nalazite li neke probleme ili točke za poboljšanje? Odaberite dolje navedeno
| Sr br | Problem | Description | odabrati |
|---|---|---|---|
| 1 | Kvaliteta | Kupac je ipak pronašao neke Mana nakon oslobađanja | |
| 2 | dostava | Projekt je kasnio | |
| 3 | Tim | Neki zaposlenici nisu surađivali s drugim članovima tima | |
| 4 | Vještine | Članu tima nedostajale su željene vještine za dovršenje zadataka | |
| 5 | Upravljanje | Test Manager nije dobro pratio napredak što je uzrokovalo kašnjenje nekih projekata | |
| 6 | komunikacija | Nema stalnog kontakta s kupcem; nerazumijevanje zahtjeva kupca | |
| 7 | Trošak | Troškovi projekta su prekoračeni iznad postavljenog proračuna |
Korak 1.2) Odredite cilj
Razumjeti problem i poteškoće koje su se pojavile u projektu. Na taj način određujete točke poboljšanja i faze testiranja koje zaslužuju prvu pozornost.
Pretpostavimo da ste utvrdili da je trajala i faza izvođenja testa puno vrijeme i trošak potrebno za dovršetak. Može li se testiranje učiniti bržim i jeftinijim? To pitanje postaje cilj ciklusa. Koristan cilj naveden je kao broj i rok, na primjer „smanjiti napor izvršenja regresije za 30 posto prije sljedećeg izdanja“.
Korak 1.3) Definirajte radnje poboljšanja
Na temelju dogovorenog cilja određuju se akcije poboljšanja. Ove akcije trebaju biti postupne i uvoditi se korak po korak, jer nije realno odmah sve promijeniti.
Na primjer, kako bi testiranje bilo brže i jeftinije, sljedeće akcije su kandidati.
U gornjem primjeru, opcije A i B ubrzavaju i pojeftinjuju testiranje. Opcija C bi ubrzala testiranje, ali košta više, jer iskusniji tester ima veću plaću. Upravo taj kompromis je razlog zašto se svaka radnja kandidata mora ocjenjivati u odnosu na cilj, a ne na temelju intuicije.
Korak 2) Učinite
Već ste definirali točke za poboljšanje. Sada je vrijeme za izradu plana koji ih provodi. Taj plan mora odgovoriti na sljedeća pitanja.
- Koje točke poboljšanja treba implementirati i kojim redoslijedom?
- Kada plan mora biti završen?
- Koje korake treba poduzeti kako bi se plan ostvario?
- Tko je odgovoran za svaki korak i kako će se potvrditi njegov završetak?
Provedite radnje poboljšanja
Nakon što je plan uspostavljen, mora se provesti. Aktivnosti poboljšanja mogu poremetiti već u tijeku testni rad, stoga voditelj testiranja mora platiti pažnja njima kako bi izbjegavajte neželjene posljedice.
Razmotrite sljedeći scenarij. Na Guru99 Bank projekt, kako biste ubrzali i pojeftinili testiranje, odlučili ste koristiti ispitivanje automatizacije umjesto velikog bloka ručnih regresijskih testova. Nakon što je akcija primijenjena, produktivnost se značajno povećala.
Korak 3) Provjerite
U koraku Provjere radite tri stvari.
- Ocijenite vrijednost efikasnost radnji za poboljšanje testa
- Izmjerite kako djelotvoran rješenje je bilo
- Analizirajte može li to biti poboljšan dalje
Cilj ove faze je potvrditi da su mjere poboljšanja uspješno provedene i procijeniti je li cilj postavljen u Planu zapravo postignut.
Najbolji način za provođenje te evaluacije je pomoću metrikaMetrike su ključne za uspješno upravljanje organizacijom. Voditelj testiranja prikuplja podatke i koristi ih za mjerenje parametara kao što su produktivnost, kvaliteta i troškovi.
Na primjer, prije nego što je automatizacija primijenjena na projekt, produktivnost testiranja je bila 10 testnih slučajeva po satu radaNakon primjene automatizacije, produktivnost je mjerena na 20 testnih slučajeva po satu rada.
Ali uz taj dobitak pojavio se i neželjeni problem.
U ovom slučaju, primjena automatizacije povećan produktivnost testiranja, već kvaliteta testiranja smanjenStoga, akcija poboljšanja može uzrokovati ozbiljne posljedice negdje drugdje. U takvom scenariju alat za testiranje mora se odabrati puno pažljivije, a automatizirani paket mora se pregledati s istom strogošću kao i produkcijski kod. Strukturirana evaluacija alata kandidata, poput one opisane u Selenium udžbenik, sprječava usvajanje alata isključivo zato što je popularan.
⚠️ Upozorenje: Nikada ne prosuđujte akciju poboljšanja na temelju jedne metrike. Promjena koja udvostručuje propusnost izvršenja, a istovremeno smanjuje otkrivanje nedostataka, učinila je proces bržim i lošijim u isto vrijeme. Uvijek uparite metriku brzine s metrikom kvalitete.
Razmotrimo ponovno isti scenarij. Guru99 trošak projekta imao je najezda jer su članovi tima također uzeli puno vremena za izvršavanje testnih slučajeva. Uštedjeli ste korištenjem alata za automatsko testiranje 30 posto troškova projekta. To je dobro poboljšanje, ali vaš šef očekuje više.
Stoga uvijek morate tražiti novija rješenja koja dodatno poboljšavaju proces testiranja. U ovom scenariju, druge opcije mogu uštedjeti dodatne troškove projekta.
- Učinkovito upravljajte svojim ljudskim resursima kako biste vješti testeri bili korišteni tamo gdje dodaju najveću vrijednost
- Pregovarajte o boljim komercijalnim uvjetima s dobavljačima alata i osoblja
- Uklonite duplicirane ili testne slučajeve niske vrijednosti umjesto da ih automatizirate
Korak 4) Djelujte
Kada su akcije poboljšanja uspješno provedene i cilj je ispunjen, voditelj testiranja treba dovršiti petlju sljedećim aktivnostima.
- Revgledaj aktivnosti poboljšanja i djelovanje na temelju naučenih lekcija
- Standardizirati točka poboljšanja unutar procesa upravljanja testiranjem
- Nadopune dokumenti o politici, predlošci plana testiranja i standardni procesni dokumenti
- Odrediti kada i gdje će se ove promjene primijeniti na sljedećem projektu
Ako cilj nije ispunjen, ciklus se ne zaustavlja. Neispunjeni cilj prenosi se u novu fazu Planiranja zajedno sa svime što je faza Provjere otkrila o tome zašto je akcija bila neuspješna.
Usporedba TPI NEXT, TMMi i CMMI
PDCA je motor poboljšanja, ali referentni model vam govori kako izgleda "bolje". Uobičajeno se koriste tri modela i često se međusobno miješaju.
TPI SLJEDEĆI je referentni model specifičan za testiranje koji je objavio Sogeti. Procjenjuje 16 ključnih područja, organiziranih u tri skupine, prema četiri razine zrelosti: početna, kontrolirana, učinkovita i optimizirajuća. Budući da se procjena provodi ključno područje po ključno područje, tim može biti učinkovit u jednom području, a istovremeno kontroliran u drugom.
TMMi, održava TMMi Foundation, je postupni model zrelosti testiranja s pet razina: početna, upravljana, definirana, izmjerena i optimizacijska. Organizacija doseže određenu razinu tek nakon što zadovolji procesna područja te razine.
CMMI uopće nije model testiranja. Pokriva cijelu razvojnu organizaciju, a njegov postupni prikaz također ima pet razina zrelosti: početnu, upravljanu, definiranu, kvantitativno upravljanu i optimizirajuću. TMMi je dizajniran kao nadopuna CMMI-ju, a ne kao njegova zamjena.
| Model | Djelokrug | Struktura | Razine zrelosti |
|---|---|---|---|
| TPI SLJEDEĆI | Samo proces testiranja | 16 ključnih područja u 3 skupine, s kontrolnim točkama i klasterima | 4 — Početno, Kontrolirano, Učinkovito, Optimizirajuće |
| TMMi | Samo proces testiranja | Fazno, s procesnim područjima dodijeljenim svakoj razini | 5 — Početno, Upravljano, Definirano, Mjereno, Optimizacija |
| CMMI | Cjelokupna razvojna organizacija | Postupno ili kontinuirano prikazivanje | 5 (fazno) — Početno, Upravljano, Definirano, Kvantitativno upravljano, Optimiziranje |
Metrike koje dokazuju poboljšanje procesa testiranja
Faza provjere se urušava bez brojeva. Dovoljan je mali, stabilan skup metrika prikupljen prije i poslije svakog ciklusa, a iste definicije moraju se koristiti na obje strane usporedbe.
- Produktivnost izvođenja testova — broj izvršenih testnih slučajeva po radnom satu
- Postotak otkrivanja nedostataka (DDP) — nedostaci pronađeni tijekom testiranja kao udio svih pronađenih nedostataka, uključujući one prijavljene nakon puštanja u promet
- Cijena po izvršenom testnom slučaju — ukupni trošak testiranja podijeljen s brojem izvršenih testnih slučajeva
- Pokrivenost zahtjeva — zahtjevi s barem jednim povezanim testni slučaj
- Ispravak kvara — prosječna starost kvara u cijelom životni ciklus defekta
Korištenje GuruPrema bankovnim podacima, gdje je tijekom testiranja pronađeno 180 nedostataka, a kupac ih je prijavio nakon puštanja u prodaju, izračun je jednostavan.
# 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))
Izlaz:
Defect Detection Percentage: 90.0% Productivity gain: 100.0% Test cost change: -30.0%
DDP od 90 posto znači da je jedan od deset nedostataka ipak promakao kupcu, tako da cilj kvalitete nije u potpunosti ispunjen iako se produktivnost udvostručila, a troškovi pali za 30 posto. Taj jedan pogled sprječava tim da prerano proglasi pobjedu.
Uobičajene pogreške u poboljšanju procesa testiranja
Većina programa poboljšanja ne uspijeva iz organizacijskih, a ne tehničkih razloga. Sljedeće pogreške objašnjavaju većinu napuštenih inicijativa.
- Poboljšanje bez osnovne linije. Ako nitko nije mjerio proces prije promjene, nitko ne može dokazati da je promjena pomogla. Zabilježite početnu vrijednost tijekom planiranja, a ne nakon toga.
- Jurnja za razinom zrelosti umjesto za pokretačem poslovanja. Certifikat koji ne smanjuje troškove, nedostatke ili vrijeme isporuke je trošak, a ne poboljšanje.
- Previše promjena odjednom. Kada se pet radnji pojavi u istom izdanju, regresija se ne može tracbilo kojem od njih.
- Automatizacija neispravnog procesa. Automatizacija umnožava svaki proces na koji se primjenjuje, uključujući slab dizajn testova i nejasne kriterije za ulazak.
- Preskočitiping faza Djela. Poboljšanje koje nikada nije zapisano u pravilima testiranja i životni ciklus testiranja softvera dokumenti umiru s projektnim timom koji ih je izumio.
- Isključujući testere. Ljudi koji nisu bili konzultirani o promjeni pouzdano pronalaze načine da je zaobiđu.
Kako bismo dalje razvili ove ideje, pregledajte faze životni ciklus testiranja softvera, zategnite svoj testni slučaj dizajnirati, formalizirati proces upravljanja nedostacima, procijenite gdje ispitivanje automatizacije daje pravi povrat i pogledajte kako alat poput HP ALM može sadržavati metrike o kojima ovisi vaša faza provjere.











