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.

  • 🔍 Definicija: Analiza utjecaja proučava na koje dijelove implementiranog proizvoda utječe promjena odjeljka, značajke ili zahtjeva.
  • 📄 Isporuka: Dokument o analizi utjecaja služi kao kontrolna lista koja obuhvaća opis problema, procjenu napora, složenost i nove testne slučajeve.
  • 🚦 Razine utjecaja: Tablica s oznakama boja (crvena, žuta, zelena) vizualizira snagu utjecaja između promijenjenih i ovisnih značajki.
  • 🧭 Tri vrste: TracJednostavnost, ovisnost i povijesna analiza zajedno odgovaraju na koje dokumente, kod i rizike promjena utječe.
  • 🛠️ Alati: Jama Connect, IBM VRATA, Jira s Xray, SonarQubei izvješća o utjecaju podrške za Launchable i pametni odabir testova.
  • Najbolje prakse: Kontinuirana komunikacija između programera i testera, pregled promjena korisničkog sučelja i ažuriranja planova projekta, konfiguracije i osiguranja kvalitete održavaju analizu pouzdanom.

Analiza utjecaja u testiranju softvera

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

  1. Promjena ID zahtjeva:
  2. Titula:
  3. Description:
  4. Datum pripreme:
  5. Procjena prioriteta:
    • Relativna korist
    • Relativna kazna
    • Relativni trošak
    • Relativni rizik
  6. Procijenjeni ukupni napor: ______ sati
  7. Procijenjeni gubitak truda: ______ sati
  8. Procijenjeni utjecaj na raspored: ______ dana
  9. Utjecaj na kvalitetu:
  10. Ostali pogođeni zahtjevi:
  11. Ostali pogođeni zadaci:
  12. 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

Analiza utjecaja u testiranju softvera

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.

Analiza utjecaja u testiranju softvera

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.

Pitanja i odgovori

AI modeli skeniraju povijest kontrole verzija, rezultate testiranja i grafove koda kako bi predvidjeli na koje module i testove promjena utječe. Alati poput Launchable i Testim rangirati testove prema vjerojatnosti hvatanja regresija, smanjujući cikluse regresije bez smanjenja pokrivenosti.

Da. GitHub Copilot Chat i GPT modeli mogu pretvoriti zahtjev za promjenu i razliku u prvu verziju dokumenta analize utjecaja s opisom problema, procjenom složenosti i kandidatima za testne slučajeve. Tester validira dokument prije nego što se distribuira dionicima.

Analiza utjecaja identificira na koje dijelove sustava promjena može utjecati. Regresijsko testiranje zatim pokreće odabrani skup testova kako bi se dokazalo da ti dijelovi još uvijek rade. Analiza utjecaja je planiranje; regresijsko testiranje je izvršavanje.

Zahtjevi TracMatrica učinkovitosti povezuje svaki zahtjev s njegovim dizajnom, kodom i testovima. Kada se zahtjev promijeni, matrica odmah otkriva svaki nizvodni artefakt koji se mora pregledati, ažurirati ili ponovno testirati, čineći procjenu utjecaja ponovljivom i revizibilnom.

Analiza utjecaja provodi se svaki put kada se predloži zahtjev za promjenu, ispravak greške ili nova značajka, prije nego što se tim obveže na rad. Ponavlja se svaki put kada opseg promjene raste tijekom implementacije kako bi procjene i planovi testiranja ostali usklađeni sa stvarnošću.

Uobičajene pogreške uključuju oslanjanje na memoriju programera umjesto na tracmatrica praktičnosti, ignorirajući nefunkcionalne utjecaje poput performansi, preskakanjaping nizvodne točke integracije i neažuriranje dnevnika promjena kada se opseg poveća tijekom implementacije.

U agilnim timovima vlasnik proizvoda i poslovni analitičar provode laganu analizu utjecaja tijekom poboljšanja zaostataka. Pogođene korisničke priče, testni slučajevi i stavke tehničkog duga označene su u tracker tako da procjena sprinta odražava stvarni trošak promjene.

Dajte prioritet testovima koji pokrivaju područja visokog rizika otkrivena analizom: module s vezama ovisnosti na promjenu, testove povezane s kritičnim korisničkim putovanjima i slučajeve s poviješću prošlih nedostataka. Netaknuta područja niskog rizika mogu se osloniti na testiranje lakšim dimom.

Sažmite ovu objavu uz: