Analiza utjecaja u testiranju softvera
⚡ Pametni sažetak
Analiza utjecaja u testiranju softvera procjenjuje kako se predložena promjena odražava na zahtjeve, dizajn, kod, testove i raspored isporuke,ping Timovi procjenjuju trud, određuju prioritete regresijskog pokrivanja i sprječavaju nenamjerne nedostatke prije objavljivanja.
Što je analiza utjecaja?
Analiza utjecaja je proces analiziranja utjecaja promjena napravljenih na implementiranom proizvodu ili aplikaciji. Identificira područja sustava na koja može utjecati promjena određenog dijela ili značajke aplikacije.
Utjecaj se procjenjuje u okviru Zahtjeva, Dizajna i Architekstura, testiranje i raspored isporuke.
Kad god se aplikaciji ili proizvodu dodaju nove značajke, nužno je provjeriti kako će te promjene utjecati na performanse i stabilnost sustava. Iz tog razloga se provodi analiza utjecaja.
Zašto se provodi analiza utjecaja promjena?
- Razumjeti mogući ishod implementacije promjene. Dodavanje previše funkcionalnosti proizvodu može smanjiti ukupne performanse.
- Identificirati svaku datoteku, dokument i model koji bi mogao biti potrebno izmijeniti ako tim odluči implementirati promjenu.
- Procijeniti napor potreban za provedbu promjene.
- Identificirati zadatke potrebne za provedbu promjene.
- Za popis ovisnosti o određenom elementu koji se mijenja.
Što je dokument o analizi utjecaja?
Dokument o analizi utjecaja može se koristiti kao kontrolna lista za procjenu zahtjeva za promjenom prije nego što tim počne raditi na njemu. Dokument bi trebao sadržavati detalje kao što su:
- Kratak opis problema.
- Objašnjenje ili primjer kako nedostatak uzrokuje neuspjeh ili neučinkovitost.
- Procjena složenosti.
- Procjena troškova i vremena potrebnog za popravak.
- Funkcionalnost koja se testira.
- Novi testni slučajevi stvoreni za promjenu.
- Referentni dokumenti kao što su tehničke specifikacije ili povezane bilješke o projektu.
Primjer:
Dokument analize utjecaja.
- Promjena ID zahtjeva:
- Titula:
- Description:
- Datum pripreme:
- Procjena prioriteta:
- Relativna korist
- Relativna kazna
- Relativni trošak
- Relativni rizik
- Procijenjeni ukupni napor: ______ sati
- Procijenjeni gubitak truda: ______ sati
- Procijenjeni utjecaj na raspored: ______ dana
- Utjecaj na kvalitetu:
- Ostali pogođeni zahtjevi:
- Ostali pogođeni zadaci:
- Problemi s integracijom:
Kako predstaviti analizu utjecaja - razina utjecaja
Analiza utjecaja može se prikazati kodom boje koji pokazuje kritičnost promjena u sustavu. Uobičajeni kod boje prikazan je u nastavku:
- Crvena - Snažan utjecaj
- Žuta - Umjeren utjecaj
- Zelena - Slab utjecaj
Gornja tablica objašnjava utjecaj implementiranih promjena:
- Značajke označene crvenom bojom su glavne značajke koje su promijenjene. Značajke označene žutom bojom su manje pogođene promjenom. Značajke označene zelenom bojom su najmanje pogođene.
- Značajke navedene vertikalno su one koje se mijenjaju. Značajke navedene horizontalno su one na koje promjena može utjecati. U gornjem primjeru, promjena u Značajci 1 utječe na Značajku 3.
- Na većem projektu gdje su značajke i funkcionalnosti brojne, gornja tablica možda neće biti praktična. U tom slučaju, primjenjuje se drugi pristup gdje programer izravno označava razinu utjecaja uzrokovanu promjenama u glavnim značajkama, kao što je prikazano u nastavku, gdje je utjecaj glavne značajke označen uz svaku podznačajku.
Primjeri pitanja na koja treba odgovoriti tijekom provođenja analize utjecaja:
- Koje su štetne nuspojave ili rizici uvođenja predložene promjene?
- Je li potrebno nabaviti neki novi alat za implementaciju i testiranje promjene?
- Ako se promjena prihvati, koliki će dio već uloženog truda biti izgubljen?
- Utječu li predložene promjene negativno na zahtjeve za performanse?
- Je li potreban dodatni korisnički unos za provjeru predložene promjene?
- Povećava li promjena cijenu proizvoda?
- Ima li trenutno osoblje znanje i vještine za provedbu predložene promjene?
- Postavlja li predložena promjena bilo kakav neprihvatljiv zahtjev za bilo koji računalni resurs?
Najbolje prakse za analizu utjecaja promjena
- Prije početka analize utjecaja, provjerite je li u zahtjevu za testiranje identificiran svaki dio projekta na koji utječu promjene.
- Kontinuirana komunikacija između programera i testera je neophodna kako se ne bi propustila nijedna potrebna promjena u konačnom proizvodu.
- Utvrdite jesu li potrebne promjene, brisanje ili dodavanje korisničkog sučelja.
- Procijenite broj potrebnih testova prihvatljivosti, sustava i integracije.
- Utvrdite svaki utjecaj predložene promjene na plan projekta, plan upravljanja konfiguracijom ili plan osiguranja kvalitete.
Vrste analize utjecaja u testiranju softvera
Analiza utjecaja promjena nije jedna tehnika. Praktičari obično koriste jednu od tri komplementarne vrste kako bi odgovorili na različita pitanja o predloženoj promjeni.
- TracAnaliza utjecaja na izvedivost: Koristi zahtjeve TracMatrica mogućnosti i poveznice dizajna za mapiranje svakog zahtjeva na module, testove i dokumente koji ga implementiraju. Kada se zahtjev promijeni, matrica otkriva svaki nizvodni artefakt koji se mora ažurirati ili ponovno testirati.
- Analiza utjecaja ovisnosti: Proučava grafove poziva, tokove podataka i sučelje.tracts unutar kodne baze. Promjena jednog modula je tracputem izravnih pozivatelja, neizravnih pozivatelja i dijeljenih struktura podataka kako bi se skriveni domino efekti pojavili prije nego što se promjena isporuči.
- Eksperimentalna (povijesna) analiza utjecaja: Promatra povijesne podatke o promjenama - prošle nedostatke, neuspješne sprintove i izlaze iz regresije - kako bi predvidio kako će se ponašati trenutna promjena. Moderni alati kombiniraju rudarenje povijesti kontrole verzija sa statističkim ili modelima strojnog učenja kako bi ocijenili rizik svake promjene.
Većina timova kombinira barem dva od ovih tipova. TracEability vam govori koji su dokumenti pogođeni, analiza ovisnosti vam govori koji je kod pogođen, a povijesna analiza vam govori koliko je promjena vjerojatno rizična.
Popularni alati za analizu utjecaja promjena
Moderna analiza utjecaja promjena rijetko se provodi u proračunskoj tablici. Timovi kombiniraju alat za upravljanje zahtjevima s alatom za analizu koda i alatom za upravljanje testiranjem koji dijele zajednički tracolakšanje kralježnice.
- Jama Connect, IBM VRATA, Modern Requirements, i Zahtjevi za vizualni prikaz: Zabilježite zahtjeve, održavajte osnovne vrijednosti i generirajte izvješća o utjecaju na povezane zahtjeve, testove i rizike kada se predloži promjena.
- Atlassian Jira s Xray ili Zefir: Track korisničkih priča, nedostataka i testnih slučajeva. Izvješća o utjecaju prikazuju svaku priču i test kojeg se predložena promjena dotiče unutar sprinta ili niza izdanja.
- SonarQube, Razumijevanje pomoću SciToolsa i Structure101: Analizirajte ovisnosti izvornog koda i izradite grafove poziva i izvješća o spajanju kako bi inženjer mogao vidjeti nizvodni kod na koji je promjena utjecala.
- Lansirno, Testim Automatsko iscjeljenje i TestGrid: Koristite strojno učenje za predviđanje koji će testovi najvjerojatnije otkriti nedostatke uzrokovane promjenom, omogućujući pametan odabir testova i brže regresijske cikluse.
- Microsoft Excel ili Google Listovi: Još uvijek se široko koristi za početni dokument analize utjecaja, tablicu utjecaja označenu bojama i zapisnik zahtjeva za promjenama na manjim projektima.
Prava kombinacija ovisi o veličini kodne baze, regulatornom okruženju i načinu isporuke. Regulirane industrije oslanjaju se na Jama ili DOORS za reviziju. tracjednostavnost, dok se agilni timovi za proizvode oslanjaju na Jiru, SonarQubei alat za testiranje utjecaja.



