10 steps improve software quality improving process
Testiranje softvera presudno je za poboljšanje kvalitete softvera. Ovaj tutorial navodi modele procesa i 10 koraka za poboljšanje procesa testiranja za postizanje bolje kvalitete softvera:
Softverski proizvod razvijen je kako bi udovoljio određenim zahtjevima kupca, ali često završava kao neispravan proizvod iz nekoliko razloga poput netočnih zahtjeva, nedostatka u komunikaciji, nedostatka u razumijevanju, problema s vremenskom trakom, nepotpunog tehničkog znanja ili manje vještih ljudi sustav.
To izlaže softverske proizvode greškama, nedostacima ili pogreškama. Testiranje softvera izuzetno je važno kako bi se izbjegle ili spriječile takve vrste problema i održala kvaliteta softverskih proizvoda.
Ovaj će vam članak dati ideju o različitim modelima i nekoliko jednostavnih koraka za poboljšanje procesa testiranja softvera koji se mogu slijediti kako bi se poboljšala kvaliteta softvera.
Znamo da je testiranje softvera postupak procjene ispunjava li softver određene zahtjeve. U ovom procesu slijedimo mnoge tehnike i modele kako bismo isporučili kvalitetan proizvod. Ali čak i tada, malo je područja koja se mogu poboljšati radi bolje kvalitete softvera.
- Proces bi se trebao kontinuirano poboljšavati. Ove su tehnike odabrane i implementirane.
- Demingov kotačić (PDCA ciklus) je najčešće korištena tehnika.
- Poboljšana kvaliteta postupka ispitivanja smanjuje troškove održavanja.
Što ćete naučiti:
- Vrste modela
- Koraci za poboljšanje kvalitete softvera
- Poboljšanje procesa testiranja softvera
- # 1) Dostupnost dokumenta sa specifikacijom zahtjeva
- # 2) Uključivanje timskog tima u rasprave o zahtjevima
- # 3) Jasan opseg
- # 4) Planiranje i izvršavanje testa
- # 5) Pregled test slučajeva
- # 6) Osigurajte dovoljno vremena za provođenje ispitivanja
- # 7) Planiranje regresivnog testa
- # 8) Automatizacija ispitivanja
- # 9) Test upravljanje podacima i izvješćivanje
- # 10) Retrospekcija nakon svakog sprinta
- Zaključak
Vrste modela
Postoje 2 modela kako su dolje navedeni-
- Referentni model procesa: Izvršite mjerenje zrelosti kao dio procjene, procijenite sposobnost organizacije.
- Referentni model sadržaja: Poboljšava poslovnu procjenu organizacijskih mogućnosti. Na primjer, tehnike mjerenja.
Procesni modeli
Postoje 4 modela procesa:
# 1) TMMI: Ispitivanje modela zrelosti
Pet je nivoa u modelima ispitivanja zrelosti kako su navedeni dolje -
- Razina 1: početna
- Nema formalnog ili dokumentiranog strukturiranog testiranja. Ispitivanje i razvoj se rade u Adhoc obliku nakon kodiranja.
- Faza testiranja i otklanjanja pogrešaka smatra se istim.
- Razina 2: Upravljanje
- Testiranje se provodi odvojeno od otklanjanja pogrešaka.
- Postavljene su politike i ciljevi ispitivanja.
- Primijeniti osnovne tehnike ispitivanja.
- Razina 3: definirano
- Postupak ispitivanja integriran je u proces razvoja i dokumentiran u formalne standarde, postupke i materijale.
- Razina 4: Mjereno
- Proces testiranja učinkovito se mjeri i njime se upravlja na organizacijskoj razini.
- Razina 5: Organizirano
- Podaci iz postupka ispitivanja mogu se koristiti za sprečavanje nedostataka i optimizaciju postupka.
# 2) CTP: Postupak kritičnog ispitivanja
- Ima 12 procesa ispitivanja.
- Upravlja se kontekstom, gdje se identificiraju izazovi i prepoznaju atributi dobrog procesa.
- Prilagodljiv je
- Uključuje upotrebu mjernih podataka za benčmarking.
# 3) TPI Dalje
- Definira 16 procesnih područja i svako pokriva određeni aspekt procesa ispitivanja.
- Ima 4 razine zrelosti: početnu, kontroliranu, učinkovitu i optimizirajuću.
- Kontrolne točke definirane su za pristup svakoj razini.
- Nalazi se sažimaju i vizualiziraju pomoću Metrike zrelosti.
- Može se prilagoditi.
# 4) KORAK
- Sustavni postupak ispitivanja i vrednovanja.
- Referentni model konteksta.
- Ne zahtijeva poboljšanje da bi se dogodilo u određenom redoslijedu.
- Koristi ispitivanje temeljeno na zahtjevima.
- Testiranje je aktivnost životnog ciklusa koja započinje tijekom faze zahtjeva i nastavlja se do umirovljenja.
- Defekti se otkrivaju ranije i analiziraju.
- Ispitivači i programeri rade zajedno.
- Testovi se koriste kao model zahtjeva i upotrebe. Dizajn testnog softvera dovodi do softverskog dizajna.
Koraci za poboljšanje kvalitete softvera
Korak # 1) Pokrenite postupak poboljšanja:
- Ciljevi, ciljevi, opseg i pokrivenost dogovaraju se među dionicima.
- Treba definirati kriterije uspjeha.
- Treba uspostaviti Metodu za mjerenje poboljšanja.
Korak # 2) Dijagnosticiranje trenutne situacije:
koji je najbolji besplatni downloader s YouTubea
- Poduzima se pristup besplatnom ocjenjivanju i izrađuje se izvještaj o ocjenjivanju ispitivanja.
- Sadrži ocjenu trenutne prakse testiranja i popis poboljšanja procesa.
Korak # 3) Djelovanje na provedbi poboljšanja:
- Obuka i mentorstvo su gotovi.
Korak # 4) Učenje iz plana poboljšanja:
- Utvrdite koja je naknada primljena uz očekivanu.
- Monitor
Usredotočimo se na prvi gore spomenuti korak, tj. Kako poboljšati kvalitetu softvera poboljšanjem postupka.
Poboljšanje procesa testiranja softvera
Testiranje softvera nije samo testiranje proizvoda kako bi se provjerilo ispunjavaju li se zahtjevi ili ne, već je to postupak kontrole kvalitete kao i osiguranja.
- Kontrola kvalitete: Metoda otkrivanja i ispravljanja nedostataka.
- Osiguranje kvalitete : Metoda sprečavanja kvara kada je proizvod pod kontrolom.
Prednosti testiranja softvera sažete su u nastavku:
- Testiranje softvera provjerava gradimo li pravi proizvod testiranjem stvarnog proizvoda.
- Provjerava je li razvojni postupak postignut standardima kvalitete ili nije.
- Osigurava da proizvod ispunjava sve specificirane zahtjeve kupca.
- Testiranje softvera fokusira se na potpunost, ispravnost i dosljednost konačnog proizvoda.
- Provjerava gradimo li proizvod upravo kroz provjeru procesa.
- Odgovorna je za potvrdu da softverski proizvod nema nedostataka.
Sada ćemo razgovarati o različitim koracima i tehnikama za poboljšanje postupka testiranja softvera kako bismo postigli kvalitetan softverski proizvod.
# 1) Dostupnost dokumenta sa specifikacijom zahtjeva
Prvi cilj upravljanja zahtjevima je izgraditi međusobnu percepciju između klijenta i tima za razvoj softvera kako bi se usredotočili na sve zahtjeve za definirani projekt softvera. Primarni ishod upravljanja zahtjevima je dokument sa specifikacijama zahtjeva.
Dokument o specifikaciji zahtjeva objašnjava sve tehničke / netehničke zahtjeve poslovne potrebe potrebne za razvoj softverskog proizvoda.
Većinu vremena u životnom ciklusu razvoja softvera ovi ključni dokumenti nedostaju, nisu adekvatni ili nisu dostupni na početku planiranja sprinta, pa postoji velika razlika između onoga što se traži i onoga što se isporučuje.
Stoga je za uklanjanje tih rupa prvi korak dobiti ove ključne dokumente od poslovnih korisnika, jer to ispitniku pomaže da od početka razumije cjelovit zahtjev.
Klasifikacija zahtjeva:
Rana dostupnost ovih dokumenata od strane kupca vrlo je dobra praksa za poboljšanje postupka testiranja softvera, jer cijeli projekt ovisi samo o zahtjevima.
Neki od ključnih dokumenata sa zahtjevima uključuju:
- SRS (specifikacija softverskog zahtjeva): To objašnjava svrhu, opseg, funkcionalne i nefunkcionalne zahtjeve, uključujući softverske i hardverske zahtjeve projekta .
- HLD (dizajn visoke razine): Ovaj dokument treba prevesti specifikacije u logički ili grafički prikaz softvera za implementaciju .
- RTM (Matrica sljedivosti zahtjeva): Uključuje mapiranje matrice zahtjeva korisničkog zahtjeva i dokument o provjeri valjanosti testa ili dokument o testnom slučaju .
# 2) Uključivanje timskog tima u rasprave o zahtjevima
Jedan od temeljnih ključeva za izgradnju uspješnog projekta je jasna i učinkovita komunikacija između svih članova tima za dizajn, razvoj i testiranje.
Testni tim trebao bi biti uključen u sve ključne sastanke i sastanke dizajna, uključujući dizajn aplikacija i sesije definiranja zahtjeva, zbog čega testni tim može poboljšati sljedeći zadatak na profinjeniji način.
- Priprema dokumenta o strategiji ispitivanja.
- Priprema dokumenta o planu ispitivanja i procjena napora ispitivanja.
- Planiranje testnog tima za aktivnosti ispitivanja.
- Pisanje test slučajeva.
- Pisanje testnih skripti za automatsko testiranje.
- Priprema izvještaja o programskim pogreškama.
- Upravljanje programskim pogreškama putem alata za prijavljivanje grešaka (Jira, Bugzilla, QC, itd.)
Trebalo bi postojati međusobno razumijevanje i suradnja između svih članova tima, tako da oni mogu slijediti iste IT standarde i tehnike na kojima će raditi i očekivati suradničku vizualizaciju, poštujući rad svakog člana tima kako bi proizveli kvalitetan proizvod.
# 3) Jasan opseg
Za većinu softvera, IT industrija slijedi agilni model, tako da klijent teško pruža sveobuhvatan ili jednostavno definiran opseg i oni stalno mijenjaju zahtjeve između razvojnog ciklusa.
To dovodi do jaza u razumijevanju između razvojnog i ispitnog tima, a rezultat ne dolazi uvijek onako kako se predviđa.
Da bi se poboljšao postupak testiranja softvera, uvijek bi trebao postojati jasan opseg, a tim za testiranje trebao bi biti svjestan cjelokupnih zahtjeva i trebao bi imati potpuno razumijevanje prije početka testiranja softvera. To će doista uvijek pomoći u postizanju boljih rezultata.
Razumijevanje cjelovitog opsega / svrhe projekta također će pomoći u prosudbi razine / vrste ili intenziteta potrebnog ispitivanja.
# 4) Planiranje i izvršavanje testa
U ovoj fazi definiramo cjelovit postupak ispitivanja, uključujući definiranje zahtjeva, tehnika, standarda tvrtke, dokumentacije, opisa funkcionalnosti i rizika koji se mogu uvesti tijekom testiranja.
Samo planiranje ispitivanja cjelovit je projekt koji je stvoren za postizanje kvalitetnog proizvoda dijeljenjem na sljedeće važne zadatke.
# 1) Strategija ispitivanja: Opis / dokument postupka ispitivanja na visokoj razini treba stvoriti kako bi se izvršile potrebe ispitivanja unutar tih postupaka. Ispitni tim slijedi pristup postavljen ovim dokumentima. Dokument o strategiji ispitivanja priprema voditelj ispitivanja i on je statični dokument koji se ne mijenja često.
Dolje su navedene komponente dokumenta Strategije ispitivanja:
- Opseg ispitivanja
- Pristup ispitivanju
- Alati i tehnike za ispitivanje.
- Konfiguracija
- Pojedinosti o okolišu
- Softver, IT standardi
- Raspored završetka ispitivanja
- Iznimke
# 2) Plan ispitivanja: Nakon pripreme dokumenta o strategiji ispitivanja, voditelj ispitivanja mora pripremiti glavni i detaljan plan ispitivanja koji je izveden iz SRS dokumenta.
Vodič za Visual Studio Team Foundation Server 2015
Plan ispitivanja opisuje sljedeće.
- Što testirati?
- Kako testirati?
- Kada testirati?
- Tko će testirati?
Ako se zahtjevi brzo mijenjaju, tada se toplo preporučuje imati dobro definiran i detaljan plan ispitivanja. Kvarovi u testiranju uglavnom su zbog ne izvršavanja revizije plana testa.
Značajke plana ispitivanja uključuju:
- ID plana ispitivanja
- Uvod
- Ispitni predmeti
- Značajke koje treba testirati
- Istaknuto nije za testiranje
- Pristup testiranju
- Kriteriji za ulazak
- Kriteriji suspenzije
- Kriteriji za izlaz
- Test okruženje
- Ispitni rezultati
- Potrebe osoblja i obuke
- Odgovornosti
- Raspored
- Rizik i ublažavanje
# 3) Dizajn test primjera: Dizajn testnog slučaja aktivnost je u kojoj se sve rasprave o zahtjevima pretvaraju u formalne dokumente poput test slučaja, test skripte, scenarija testa.
Drugim riječima, test slučajevi su skup koraka kroz koje ispitivač utvrđuje zadovoljava li softverski proizvod sve zahtjeve uspoređujući stvarni rezultat s očekivanim rezultatom.
Format test slučaja:
Gospodine Ne. | Sažetak testa | Korak br. | Korak | očekivani rezultat | Stvarni rezultat |
---|---|---|---|---|---|
Što je potrebno za pisanje testnih slučajeva?
Pisanje testnih slučajeva praktično je potrebno kako bi se testerima pomoglo da detaljno razumiju zahtjeve i osigurava im pristup na pravi način.
Prednosti ispitnih slučajeva
Pitanja i odgovori za iskusne skripte skripte za unix shell
- Test slučajevi moraju osigurati da popunite test pokrivenost.
- Pomaže u uklanjanju svih praznina u zahtjevima.
- Pomaže u poboljšanju postupka ispitivanja.
- Pomaže u poboljšanju kvalitete proizvoda.
- Povećavanje samopouzdanja da postupamo na ispravan način.
- Pomaže u provjeri očekivanja.
- Omogućuje ispitivaču da razmišlja sveobuhvatno i pomaže u pokrivanju svih pozitivnih i negativnih scenarija.
# 5) Pregled test slučajeva
Pregled testnog slučaja igra važnu ulogu u životnom ciklusu razvoja softvera u bilo kojoj organizaciji jer je krajnji cilj kupca dobiti proizvod 'Koji nema grešaka' i treba udovoljavati svim navedenim zahtjevima.
Glavna svrha pregleda testnih slučajeva: procijeniti cjelovitost, povećati pokrivenost testima i ispravnost analiziranih zahtjeva, i što je najvažnije 'Nema razlike između razumijevanja zahtjeva' čime se poboljšava kvaliteta proizvoda.
U nastavku su navedene prednosti pregleda testova:
- Sprečavanje kvara.
- Rano upozorenje o dizajnu i zahtjevima.
- Svi su scenariji zarobljeni ili ne.
- Cijeli je scenarij relevantan ili ne.
- Pokrivenost test slučaja je prema zahtjevima proizvoda.
- Pomaže u uštedi vremena za testiranje.
# 6) Osigurajte dovoljno vremena za provođenje ispitivanja
Za bilo kojeg ispitivača vremensko ograničenje jedan je od uobičajenih izazova s kojim se obično suočavaju tijekom testiranja, a to drastično utječe na kvalitetu proizvoda. Tipično, u sprintu je prvi korak da se zahtjevi zamrznu, a zatim se razvije proizvod, a kasnije dolazi do QA tima prije UAT-a i implementacije.
U UAT-u su datumi fiksni, ali zbog mnogih poznatih / nepoznatih problema razvojni se ciklusi produžuju i to dovodi do vremenskog kršenja QA aktivnosti, što na kraju utječe na testiranje kvaliteta.
Stoga je vrlo važno dobiti dovoljno vremena za provođenje ispitnih aktivnosti kroz dolje navedene točke kako biste osigurali proizvod bez kvarova:
- Pažljivo analizirajte svaku korisničku priču.
- Navedite procjenu napora za svaki zadatak.
- Istražite tehnologije testiranja za brzi rad.
- Planirajte resurse za testiranje.
- Zabilježite pogreške.
- Izbjegavajte ponavljajuće zadatke.
# 7) Planiranje regresivnog testa
Općenito, nakon izvršavanja potrebnih promjena u programskom kodiranju, kako bi se riješili nedostaci, razvojni tim izdaje modificiranu izradu testnom timu kako bi provjerio nedostatke. Ponekad čak i mala promjena u kodiranju može ozbiljno utjecati na druga područja softvera koja nisu dotaknuta.
Da bi poboljšali kvalitetu softverskih proizvoda, testeri bi uvijek trebali planirati regresijsko testiranje kako bi menadžerskom timu, programerima, testerima i klijentima pružili sigurnost da nova značajka ne utječe na bilo koju postojeću funkcionalnost, kao i da potvrde da novi problemi nisu izloženi u one funkcionalnosti koje se ne mijenjaju.
Važnost regresijskog ispitivanja
- Korisno je otkriti probleme / u početnoj fazi.
- Osigurava da se softverski proizvodi mogu primijeniti.
- Potvrđuje da se zbog novih promjena neka prethodna izdanja ne otvaraju ponovo.
- Izgradite povjerenje klijenta da biste imali softverske proizvode bez grešaka.
Različiti načini izvođenja regresijskog ispitivanja:
Ispitivanje regresije potrebno je kad god postoji nova funkcionalnost; kvar na postojećem proizvodu mora biti ispravan, izmjena postojeće funkcionalnosti i brisanje postojećih značajki. Ove promjene koda mogu unijeti novi kvar u sustav i sustav počinje raditi neispravno.
U nastavku su navedeni različiti načini na koje bi se moglo provesti regresijsko testiranje.
- Ponovno testiranje kompletne testne odijela.
- Odabir slučajeva regresijskih testova.
- Određivanje prioriteta test slučajeva.
# 8) Automatizacija ispitivanja
U današnjem svijetu testiranje softvera presudan je dio procesa životnog ciklusa razvoja softvera. Da bi se smanjio ručni naporan rad na testiranju, mnoge se tvrtke odlučuju za automatizaciju ispitivanja za pametan rad.
Međutim, mogućnosti automatizacije pomiču se kako bi smanjile vrijeme za povećanje brzine i potpuno pokrivanje ispitivanja, a što je najvažnije, optimizacija troškova QA na kraju.
Stoga se automatizacija ispitivanja daje prednost nad ručnim testiranjem, nego pronalaženju alternative s najisplativijim ili najviše ostvarivim performansama kako bi se dobili maksimalni rezultat ili ishod uz minimalne troškove ili troškove.
(slika izvor )
Štoviše, automatizacija ispitivanja daje mnogo razloga za poboljšanje postupka ispitivanja u različitim fazama.
- Postizanje ciljeva uz minimalne troškove na duge staze.
- Skraćeno vrijeme izvršenja.
- Sposobnosti povećanja pokrivenosti testom.
- Povećana učinkovitost i produktivnost.
- Smanjen ručni napor
- Smanjen rad koji se ponavlja
- Korisno u regresijskom ispitivanju
- Povećajte kvalitete skriptiranja
- Više pouzdanosti
# 9) Test upravljanje podacima i izvješćivanje
Upravljanje testom je postupak upravljanja testnim aktivnostima, kao što su organiziranje resursa za testiranje, procjena, planiranje, strategiranje napora na testiranju, praćenje napretka testova, izvještavanje o testovima i kontrola.
Upravljanje testom način je za isporuku kvalitetnog softverskog proizvoda, kao i učinkovit način za poboljšanje procesa testiranja softvera. Upravljanje testovima nije učinkovito samo za automatizaciju već i za ručno testiranje.
- Organizacija za ispitivanje : Stvaranje i prepoznavanje ispitnog tima i dodjela zadatka.
- Planiranje ispitivanja : Evidencija razgovora i dogovora između testera i ostatka projektnog tima.
- Strategija ispitivanja : Utvrditi opseg ispitivanja, postupak ispitivanja, tehnike i pristup ispitivanja, procjenjujući napore i troškove ispitivanja.
- Izvršenje testa : Dokumentacija testnog slučaja, izrada skripte i izvršavanje.
- Test praćenje i kontrola : Procijenite status izvršenja zadatka.
- Izvještavanje o ispitivanju : Učinkovito priopćavanje nalaza i statusa testnog tima ostalim dionicima. Postoji mnogo načina izvještavanja o statusu, primjerice stvaranjem izvješća sažetka testa, izravnim statusom testa u e-pošti ili stvaranjem nadzorne ploče i slanjem veze na nadzornu ploču.
# 10) Retrospekcija nakon svakog sprinta
Retrospektivni sastanak formalno je okupljanje koje je na kraju sprinta održao tim za razvoj softvera radi provjere i rasprave o postignućima i neuspjesima te iznošenja novih planova za buduća poboljšanja za nadolazeće sprinteve.
Provođenje retrospektiva nakon svakog sprinta daje timovima priliku za kontinuirano poboljšanje njihovih performansi i poboljšanje ne samo procesa testiranja softvera već i svih ostalih uključenih aktivnosti.
Područja fokusa u retrospekciji:
- Što je dobro prošlo?
- Što nije dobro prošlo?
- Što smo naučili?
- Kako poboljšati?
- Što je dobro prošlo ?: Najbolji način za raspravu o poboljšanju je prvo procijeniti dobre stvari koje su se dogodile tako da rasprava započne pozitivno i proslaviti razlog uspjeha, a tim također održava energiju visokom i dalje raspravlja u sretnom okruženju.
- Što nije dobro prošlo? : Cilj ovog pitanja ne bi trebao biti krivnja pojedincima već utvrđivanje razloga koji stoje iza neuspjeha ili pogrešaka. Svaki član trebao bi sudjelovati u odgovoru na ovo pitanje kako bismo bili upoznati s postojećim problemom i rješenjima za njihovo daljnje sprintove. Ključ uspješnog projekta je prihvatiti pogrešku i raditi na njoj.
- Što smo naučili? : Da ne bismo ponavljali pogreške i usredotočili se na nove procese i alate ili tehnike, možemo ih uvesti ili koristiti za postizanje boljih rezultata.
- Kako poboljšati? : Prihvatanjem svih pogrešaka koje su počinjene u prethodnom sprintu i poboljšanju vještina postavljenih u svim odjelima te pozitivnim dokumentiranjem svih povratnih informacija kako bi se puno više i bolje radilo u daljnjim sprintima.
Zaključak
Iza svake uspješne isporuke proizvoda trebale bi postojati neke strategije za praćenje različitih procesa testiranja softvera. Primijenite ove jednostavne korake za poboljšanje procesa testiranja softvera, spomenute u ovom članku, kako biste dobili najkvalitetniji proizvod.
U ovom smo priručniku pokrili razne korake i tehnike za poboljšanje procesa koji se mogu slijediti u bilo kojem SDLC (životnom ciklusu razvoja softvera) tijekom sprint ciklusa kako bi se u optimalnom vremenskom roku isporučio proizvod najbolje kvalitete.
Očito je da je testiranje softvera sastavni dio SDLC-a i da mu je cilj vrednovati sustav u cjelini i zadovoljiti zahtjeve kupaca. Stoga bismo kao tim trebali implementirati gore navedene načine za poboljšanje postupka testiranja softvera koji će na kraju dovesti do boljih performansi i kvalitete softverskog proizvoda.
Preporučena literatura
- 9 najboljih alata za testiranje VoIP-a: Alati za testiranje brzine i kvalitete VoIP-a (POPIS 2021)
- Razlika između osiguranja kvalitete i kontrole kvalitete (QA vs QC)
- Analiza načina neuspjeha i efekata (FMEA) - Kako analizirati rizike za bolju kvalitetu softvera i zadovoljne kupce!
- Povećavanje kvalitete prelaskom iznad i izvan cjelovitog testiranja slogova
- Kako koristiti Poka-Yoke (Provjera pogrešaka) tehniku za poboljšanje kvalitete softvera
- 8 ključnih pokazatelja izvedbe za izdanja o kvaliteti (Panaya Test Dynamix Review)
- Kako poboljšati postupak objavljivanja testa za uspješan proizvod bez softvera
- 4 koraka prema razvoju agilnog načina testiranja za uspješan prijelaz na agilni proces