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.

  • 🔁 PDCA petlja: Planiraj, Učini, Provjeri i Djeluj pretvara greške jednog projekta u ponovljivi standard.
  • 🎯 Počnite s problemima: Navedite stvarne nedostatke, kašnjenja i prekoračenja troškova prije nego što odaberete bilo kakvu mjeru poboljšanja.
  • 📊 Mjeri sve: Track produktivnost, curenje nedostataka i trošak po testnom slučaju prije i poslije svake promjene.
  • ⚠️ Pogledajte nuspojave: Automatizacija je ovdje povećala protok, ali kvaliteta je pala sve dok se nije ispravio odabir alata.
  • 🪜 Postupno se poboljšavajte: Male sekvencijalne akcije uspijevaju puno češće nego potpuno prepisivanje procesa.
  • 🏛️ Odaberite model: TPI NEXT koristi četiri razine zrelosti; TMMi i CMMI definiraju po pet.
  • 📝 Standardizirajte pobjedu: Ažurirajte pravila testiranja i predloške tako da sljedeći projekt naslijedi dobitak.

Poboljšanje procesa testiranja (TPI) korištenjem PDCA modela

Š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.

Poboljšanje testnog procesa pomoću PDCA modela

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?

Uobičajeni problemi koje rješava poboljšanje procesa testiranja

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.

Zašto je potrebno poboljšanje procesa testiranja - scenarij usporedbe konkurenata

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.

Ciljevi poboljšanja procesa testiranja - kvaliteta, trošak i vrijeme

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.

PDCA model koji se koristi za implementaciju poboljšanja procesa testiranja

💡 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.

Tri koraka faze planiranja u poboljšanju procesa testiranja

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

Imate problem sa Kvaliteta dostava Tim ,Vještine ,Upravljanje , Komunikacija ,Trošak

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.

Definiranje akcija poboljšanja za brže i jeftinije testiranje

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.

Provjera produktivnosti prije i nakon akcije poboljšanja

Ali uz taj dobitak pojavio se i neželjeni problem.

Nuspojava akcije poboljšanja - kvaliteta pada kako produktivnost raste

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.

Uprava očekuje daljnje smanjenje troškova nakon prvog ciklusa poboljšanja

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.

Aktivnosti faze djelovanja u ciklusu poboljšanja procesa testiranja PDCA

  • 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.

Pitanja i odgovori

Odmah nakon izdanja, dok su retrospektivni podaci još svježi i nitko nije pod pritiskom isporuke. Početak usred sprinta konkurira samom izdanju, a početak mjesecima kasnije znači da brojke o trudu, nedostacima i troškovima više nisu pouzdane.

Voditelj testiranja je vlasnik ciklusa i metrika, ali svaka radnja treba imenovanog vlasnika iz tima koji obavlja posao. Poboljšanja dodijeljena grupi, a ne osobi, su ona koja tiho odugovlače.

Retrospektive dobro pokrivaju lokalna rješenja, ali rijetko se bave slabostima na razini cijele organizacije, poput pružanja testnih podataka ili dostupnosti okruženja. Referentni model daje agilnim timovima zajednički vokabular za te probleme među timovima bez zamjene retrospektive.

Metrike izvršenja poput produktivnosti ili vremena ciklusa obično se kreću unutar jednog izdanja. Metrike kvalitete poput curenja nedostataka zahtijevaju dva ili tri izdanja, jer se izbjegnuti nedostaci broje tek nakon što su korisnici koristili softver u produkciji.

Da, za otkrivanje uzoraka. Modeli obučeni na povijesti grešaka, zapisnicima izgradnje i zapisima o izvršenju mogu otkriti nestabilne testove, redundantne slučajeve i module s ponovljenim izlazima. Odluka o tome na koji se nalaz isplati djelovati ostaje ljudska procjena o poslovnom riziku.

Volumen se može zamijeniti za pokrivenost. Umjetna inteligencija može stvoriti tisuće slučajeva koji povećavaju broj izvršenja dok istovremeno više puta testiraju iste putove. Tracotkrivanje nedostataka k uz broj slučajeva i pregled generiranih slučajeva prije nego što uđu u regresijski paket.

Sažmite ovu objavu uz: