Proces verifikacije i validacije dizajna

⚡ Pametni sažetak

Verifikacija dizajna potvrđuje da izlazni podaci dizajna odgovaraju dokumentiranim ulaznim podacima dizajna, dok validacija dizajna potvrđuje da gotov proizvod zadovoljava stvarne potrebe svojih korisnika. Obje se provode tijekom cijelog razvoja, nikada na kraju.

  • 🔘 Dva različita pitanja: Verifikacija pita je li proizvod ispravno dizajniran, a validacija pita je li uopće dizajniran ispravan proizvod.
  • ☑️ Ulazi i izlazi: Ulazni podaci za dizajn su skup fizičkih i performansnih zahtjeva; izlazni podaci za dizajn su ono što svaka faza dizajna proizvodi i ono što se ispituje verifikacijom.
  • ✅ Objektivni dokazi: Validacija je dovršena tek kada postoji fizički dokaz da proizvod zadovoljava dokumentirane potrebe korisnika.
  • 🧪 Verifikacija u pet faza: Identifikacija i priprema, planiranje, razvojping, izvršenje i izvještavanje tvore standardni slijed provjere.
  • 🛠️ Traclakoća u cijelosti: Veze između ulaznih podataka u dizajnu, testnih slučajeva i rezultata dokazuju da je svaki zahtjev zapravo bio ispunjen.
  • 📈 Slijed je važan: Validacija slijedi nakon uspješne verifikacije i verifikacija nikada nije prihvatljiva zamjena za nju.

Proces verifikacije i validacije dizajna u razvoju softvera

Provjera dizajna

Provjera dizajna je metoda kojom se potvrđuje, ispitivanjem i pružanjem dokaza, da izlaz dizajniranog softverskog proizvoda zadovoljava ulazne specifikacije. Cilj procesa provjere dizajna tijekom razvoja softvera je osigurati da je dizajnirani softverski proizvod isti kao što je specificirano.

Ulazni podaci za dizajn su svi fizički i izvedbeni zahtjevi koji se koriste kao osnova za dizajn. Izlazni podaci za dizajn rezultat su svake faze dizajna i ukupnog napora u dizajnu. U reguliranim industrijama poput medicinskih uređaja, konačni izlazni podaci za dizajn postaju osnova za glavni zapis uređaja, zbog čega se vokabular kontrole dizajna tako često pojavljuje u dokumentaciji za provjeru.

U praksi, verifikacija uspoređuje dva skupa dokumenata: specifikacije, standarde i ograničenja koji su primljeni, s crtežima, kodom i uputama za ispitivanje koji su izašli. Svaka neusklađenost između njih je nalaz verifikacije.

Validacija dizajna

Verifikacija dokazuje unutarnju konzistentnost. Validacija postavlja teže pitanje je li specifikacija uopće opisala pravi proizvod.

Validacija dizajna je proces procjene softverskog proizvoda u odnosu na točne zahtjeve krajnjih korisnika ili dionika. Svrha validacije dizajna je testiranje softverskog proizvoda nakon razvoja kako bi se potvrdilo da ispunjava te zahtjeve kada se koristi u vlastitom okruženju korisnika.

Validacija se bavi demonstracijom dosljednosti i potpunosti dizajna s obzirom na potrebe korisnika. Ovo je faza u kojoj se zapravo izrađuje verzija proizvoda i validira se u odnosu na zahtjeve korisnika.

Donji banner označava dvije polovice aktivnosti onako kako su obično predstavljene u projektnim zapisima.

Zaglavlje Validacije dizajna koje se koristi u zapisima kontrole dizajna

Sljedeći dijagram prikazuje sam proces validacije dizajna, od korisničkih potreba do validiranog proizvoda.

Tijek procesa validacije dizajna od korisničkih potreba do validiranog proizvoda

Svrha je dokazati objektivnim dokazima da proizvod zadovoljava dokumentirane potrebe korisnika. Objektivni dokaz je jednostavno fizički dokaz rezultata - slika, tekstualna datoteka, audio datoteka ili potpisano izvješće - koji pokazuje da je postupak stvarno proveden.

Kroz te objektivne dokaze, proces dosljedno ispituje ispunjava li proizvod unaprijed definirane zahtjeve. Uključuje aktivnosti testiranja, inspekcije, analize i slične tehnike, zbog čega se validacija obično oslanja na testiranje sustava i testiranje prihvatljivosti korisnika a ne na provjerama na razini jedinice.

Razlika između verifikacije dizajna i validacije

Uvijek postoje zablude između verifikacije i validacije. To su različite aktivnosti i obje se provode u svakoj fazi razvojnog procesa, a ne na jednoj prekretnici.

Provjera dizajna Validacija dizajna
Verifikacija dizajna se koristi tamo gdje stvarni izlaz dizajna treba biti isti kao očekivani izlaz dizajna, koji zadovoljava specifikacije proizvoda. Validacija dizajna koristi se kako bi se utvrdilo da konačni dizajn ispunjava očekivanja korisnika.
Provjera dizajna pita: jeste li ispravno dizajnirali proizvod? Validacija dizajna pita: jeste li dizajnirali pravi proizvod?
Provjera dizajna uključuje jedinicu i primarni testiranje razine integracije. Validacija dizajna uključuje integraciju sekundarne ili više razine i testiranje na razini sustava.
Određeni aspekti validacije dizajna mogu se postići tijekom verifikacije dizajna, ali verifikacija dizajna nije zamjena za validaciju dizajna. Validacija dizajna slijedi nakon uspješne verifikacije dizajna.
Verifikacija dizajna može se provesti na pojedinačnom modulu ili na dovršenom sustavu pod bilo kojim uvjetima. Validacija dizajna provodi se pod određenim uvjetima prema zahtjevu korisnika.
Verifikacija dizajna može koristiti statičke tehnike. Uključuje inspekcije sustava, analizu i formalne aktivnosti verifikacije. Validacija dizajna sastoji se od završnog izvješća o rezultatima izvršenja testiranja, koje se pregledava, odobrava i potpisuje. Ovi dokumenti se pohranjuju za buduću upotrebu.

Koristan prečac: provjera je uglavnom statički rad u odnosu na dokumente, dok je validacija uglavnom dinamičko testiranje protiv tekuće verzije.

Proces provjere dizajna

Proces verifikacije odvija se u pet faza, a svaka od njih proizvodi artefakt o kojem ovisi sljedeća faza.

Identifikacija i priprema:

  • Dok se specifikacija razvija, paralelno se identificira aktivnost verifikacije. To omogućuje dizajneru da se uvjeri da je specifikacija zapravo provjerljiva, tako da inženjer za testiranje može započeti s detaljnim planovima i postupcima testiranja. Svaka promjena specifikacije mora se priopćiti.
  • Odrediti najbolji pristup za provođenje verifikacije i definirati metode mjerenja, potrebne resurse, alate i objekte.
  • Završeni plan provjere pregledava se s dizajnerskim timom kako bi se otkrili problemi prije nego što se plan finalizira.

Planiranje:

  • Planiranje verifikacije je istodobna aktivnost s glavnim i razvojnim timom. Odvija se tijekom cijelog životnog ciklusa projekta i ažurira se kad god se promijene ulazni podaci dizajna.
  • Tijekom ove faze, softver ili sustav koji se testira dokumentira se u opsegu.
  • Preliminarni plan testiranja se piše, a zatim usavršava. Plan obuhvaća kritične prekretnice koje smanjuju rizik projekta.
  • Odabiru se alati, testno okruženje i strategija razvoja te se identificiraju zahtjevi koji se trebaju potvrditi inspekcijom ili analizom.

Razvojping:

  • Testni slučaj razvoj se podudara s SDLC metodologija koje je projektni tim implementirao. U ovoj fazi identificira se niz metoda ispitivanja.
  • Ulazni podaci za dizajn moraju biti razvijeni tako da čak i najjednostavnije aktivnosti verifikacije budu nedvosmislene i provjerljive.
  • Vrijeme provjere se smanjuje kada se slični koncepti provjeravaju uzastopno, jer se izlaz jednog testa može ponovno upotrijebiti kao ulaz za sljedeći test.
  • TracVeze mogućnosti stvaraju se između testnih slučajeva i njihovih odgovarajućih ulaznih podataka dizajna kako bi se osiguralo da je svaki zahtjev testiran i da izlazni podaci dizajna zadovoljavaju ulazne podatke dizajna.

Izvršenje:

  • Postupci testiranja kreirani tijekom faze razvoja izvršavaju se u skladu s planom testiranja i strogo se slijede tijekom aktivnosti verifikacije.
  • Ako se pojave nevažeći rezultati ili ako je potrebno modificirati bilo koji postupak, promjene moraju biti dokumentirane i formalno odobrene.
  • Svaki pronađeni problem se bilježi kao nedostatak putem uobičajenog proces upravljanja nedostacima.
  • A tracmatrica učinkovitosti stvara se kako bi se provjerilo je li svaki ulazni podatak dizajna identificiran u planu verifikacijskog testiranja testiran i kako bi se odredio omjer prolaznosti.

Izvješća:

  • Ova se aktivnost provodi na kraju svake faze provedbe verifikacije.
  • Izvješće o provjeri dizajna daje detaljan sažetak rezultata provjere, uključujući upravljanje konfiguracijom, rezultate za svaku vrstu testiranja i probleme pronađene tijekom aktivnosti provjere.
  • Provjera dizajna tracIzvješće o izvedivosti izrađuje se između zahtjeva i odgovarajućih rezultata testiranja kako bi se potvrdilo da su svi zahtjevi testirani i da su zabilježeni odgovarajući rezultati.
  • Svaka neusklađenost se dokumentira i na odgovarajući način rješava.
  • RevPregledi se provode nakon završetka aktivnosti provjere dizajna, a rezultati se formalno odobravaju.

Proces provjere valjanosti dizajna

Validacija nema jednako kruti slijed. Umjesto toga, oslanja se na mali skup prihvaćenih metoda, a projekt obično koristi više od jedne od njih.

  • Usporedba s ekvivalentnim dizajnom. Neki se dizajni mogu validirati usporedbom sa sličnom opremom koja služi sličnoj svrsi. To je posebno važno prilikom validacije promjena konfiguracije postojeće infrastrukture ili standardnih dizajna koji se ugrađuju u novi sustav ili aplikaciju.
  • Demonstracija i pregled. Za validaciju zahtjeva i drugih funkcionalnosti proizvoda mogu se koristiti ili jedno ili oboje.
  • Analiza. Dizajn se može analizirati matematičkim modeliranjem ili simulacijom koja ponovno stvara potrebnu funkcionalnost.
  • Testiranje. Testovi se provode na konačnom dizajnu kako bi se potvrdila sposobnost sustava da radi prema specifikacijama, što je mjesto gdje funkcionalno ispitivanje i nefunkcionalno testiranje zadovoljiti korisničke zahtjeve.
  • Dokumentacija. Plan testiranja, izvršenje i rezultati trebaju biti dokumentirani i održavani kao dio zapisa o dizajnu. Validacija je, u konačnici, prikupljeni rezultati svih aktivnosti validacije.
  • Opravdanje ekvivalencije. Kada se u konačnoj validaciji dizajna koriste ekvivalentni proizvodi, proizvođač mora dokumentirati sličnost i sve razlike u odnosu na početnu proizvodnju.

Primjer

Kratki obrađeni primjer konkretizira razliku.

  • Uzmimo jednostavan proizvod: vodootporni sat.
  • U dokumentu o zahtjevima za proizvod može se navoditi da „sat mora biti vodootporan tijekom plivanja“. To je potreba korisnika i to je ono prema čemu se mjeri validacija.
  • U specifikaciji dizajna može se navoditi da „sat treba funkcionirati čak i ako korisnik pliva dulje vrijeme“. To je ulazni podatak dizajna i ono s čime se mjeri verifikacija.
  • Rezultati testiranja trebali bi potvrditi da sat ispunjava te zahtjeve. Ako ne ispunjavaju, iteracije redizajna se nastavljaju sve dok ih ne ispuni.

Zapazite kako sat može proći verifikaciju, a ipak ne proći validaciju. Ako specifikacija definira dugotrajno plivanje kao petnaest minuta, a pravi plivači ostaju u vodi sat vremena, izlaz dizajna savršeno se podudara s ulazom i još uvijek ne uspijeva zadovoljiti korisnika.

Prednosti validacije i verifikacije dizajna

Kontinuirano provođenje obje aktivnosti, umjesto kao završnog koraka, donosi dolje navedene prednosti.

  • Dizajni se mogu kontinuirano pratiti, što omogućuje ispunjavanje korisnički definiranih zahtjeva u svakoj fazi.
  • Validacija dizajna ističe razliku između načina na koji funkcionalnost radi i načina na koji se očekuje da radi.
  • Dokumentiranje postupaka validacije olakšava kasnije razumijevanje funkcionalnosti, kad god se napravi promjena ili poboljšanje.
  • Vrijeme razvoja se stalno smanjuje, a produktivnost se poboljšava, što pomaže u isporuci proizvoda prema očekivanjima.
  • Proces definira raspon i opseg svake metode validacije koja se mora koristiti.
  • Validacija se može provesti korištenjem detaljnih podataka o dizajnu koji predstavljaju zahtjeve krajnjeg korisnika.
  • Svaka razlika između rezultata i dokumenata koje korisnik treba se bilježi, a ne gubi.
  • Promjene validiranog dizajna pokreću aktivnost ponovne validacije, tako da se zapis nikada ne udaljava od proizvoda.
  • Dokumentiranje svake aktivnosti koja se događa tijekom validacije je ono što adekvatno dokazuje da dizajn zadovoljava korisničke zahtjeve.

Provjeru i validaciju dizajna stoga je najbolje planirati unutar šireg životni ciklus testiranja softvera i mapirano naspram drugog vrste testiranja softvera, a ne tretirati kao zasebnu proceduru usklađivanja.

Pitanja i odgovori

Silazna lijeva krak sadrži aktivnosti verifikacije - preglede zahtjeva, dizajna i koda. Uzlazna desna krak sadrži aktivnosti validacije, od provjera jedinica i integracije do testiranja sustava i prihvatljivosti, pri čemu svaka razina odgovara specifikaciji nasuprot nje.

Uglavnom, ali ne strogo. Verifikacija se oslanja na preglede, inspekcije i prolaske, dok validacija pokreće izgradnju. Verifikacija i dalje može uključivati ​​izvršene testove na razini jedinice, stoga statičku i dinamičku podjelu tretirajte kao tendenciju, a ne kao pravilo.

IEEE 1012, standard za verifikaciju i validaciju sustava, softvera i hardvera, glavni je okvir. Standardi upravljanja kvalitetom poput ISO 9001 zahtijevaju i kontrole dizajna i razvoja, a regulirani sektori dodaju vlastita pravila kontrole dizajna.

Verifikaciju obično provode inženjeri i recenzenti koji su neovisni od osobe koja je proizvela dizajn. Validacija uključuje krajnje korisnike ili njihove predstavnike, jer samo oni mogu procijeniti zadovoljava li isporučeni proizvod stvarne potrebe.

Alati potpomognuti umjetnom inteligencijom označavaju dvosmislene ili netestirane zahtjeve tijekom pregleda, predlažu tracveze između ulaznih podataka dizajna i testnih slučajeva te istaknuti praznine u pokrivenosti u matrici verifikacije. Odluka o odobrenju ostaje na recenzentu, budući da dokazi moraju biti obranjivi.

GitHub kopilot može izraditi testni kod koji implementira postupak verifikacije i objasniti nepoznate module tijekom pregleda koda. Ne može sam pružiti objektivne dokaze, tako da generirani izlaz i dalje treba pregled i formalno odobrenje.

Tretiranje validacije kao formalnosti nakon što prođe verifikacija, pisanje dizajnerskih ulaznih podataka koji se ne mogu mjeriti i ostavljanje tracmogućnost do kraja. Svaki od njih stvara zapis koji izgleda cjelovito, ali ne može preživjeti reviziju ili pravog korisnika.

Kad god bi promjena mogla utjecati na potrebu korisnika ili uvjete pod kojima je proizvod validiran. Analiza utjecaja određuje opseg: sadržani popravak može zahtijevati regresijsko testiranje samo dok izmijenjeni tijek rada zahtijeva ponovljenu validaciju na koju se odnosi promjena.

Sažmite ovu objavu uz: