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: