Designverifiserings- og valideringsprosess
โก Smart oppsummering
Designverifisering bekrefter at et designresultat samsvarer med det dokumenterte designinnspillet, mens designvalidering bekrefter at det ferdige produktet tilfredsstiller brukernes reelle behov. Begge deler pรฅgรฅr gjennom hele utviklingen, aldri รฉn gang pรฅ slutten.
Designverifisering
Designverifisering er en metode for รฅ bekrefte, gjennom undersรธkelse og ved รฅ fremlegge bevis, at resultatet av et designet programvareprodukt oppfyller dets spesifikasjoner for inndata. Mรฅlet med designverifiseringsprosessen under programvareutvikling er รฅ sikre at det designede programvareproduktet er det samme som det som ble spesifisert.
Designinndata er ethvert fysisk krav og ytelseskrav som brukes som grunnlag for designet. Designutdata er resultatet av hver designfase og av den totale designinnsatsen. I regulerte bransjer som medisinsk utstyr, blir det endelige designutdataet grunnlaget for enhetens hovedregister, og det er derfor designkontrollvokabular forekommer sรฅ ofte i verifiseringsdokumentasjon.
I praksis sammenligner verifisering to sett med dokumenter: spesifikasjonene, standardene og begrensningene som ble innlevert, mot tegningene, koden og testinstruksjonene som ble utarbeidet. Enhver uoverensstemmelse mellom dem er et verifiseringsfunn.
Designvalidering
Verifisering beviser intern konsistens. Validering stiller det vanskeligere spรธrsmรฅlet om spesifikasjonen beskrev riktig produkt i utgangspunktet.
Designvalidering er en prosess for รฅ evaluere programvareproduktet mot de eksakte kravene til sluttbrukere eller interessenter. Formรฅlet med designvalidering er รฅ teste programvareproduktet etter utvikling for รฅ bekrefte at det oppfyller disse kravene nรฅr det brukes i brukerens eget miljรธ.
Validering handler om รฅ demonstrere konsistensen og fullstendigheten til et design med hensyn til brukerbehov. Dette er stadiet der du faktisk bygger en versjon av produktet og validerer det mot brukerkravene.
Banneret nedenfor merker de to halvdelene av aktiviteten slik de vanligvis presenteres i designdokumenter.
Diagrammet som fรธlger viser selve designvalideringsprosessen, fra brukerbehov til det validerte produktet.
Hensikten er รฅ bevise med objektive bevis at produktet tilfredsstiller de dokumenterte brukerbehovene. Objektive bevis er rett og slett fysisk bevis pรฅ resultatet โ et bilde, en tekstfil, en lydfil eller en signert rapport โ som viser at prosedyren faktisk ble utfรธrt.
Gjennom disse objektive bevisene undersรธker prosessen konsekvent om produktet oppfyller de forhรฅndsdefinerte kravene. Det involverer testaktivitet, inspeksjon, analyse og lignende teknikker, og det er derfor validering vanligvis bygger pรฅ systemtesting og brukeraksepttesting snarere enn pรฅ kontroller pรฅ enhetsnivรฅ.
Forskjellen mellom designverifisering og validering
Det finnes alltid misoppfatninger mellom verifisering og validering. De er forskjellige aktiviteter, og begge utfรธres pรฅ hvert trinn i utviklingsprosessen i stedet for ved en enkelt milepรฆl.
| Designverifisering | Designvalidering |
|---|---|
| Designverifisering brukes der det faktiske designresultatet skal vรฆre det samme som det forventede designresultatet, som tilfredsstiller produktets spesifikasjoner. | Designvalidering brukes til รฅ fastslรฅ at det endelige designet er i samsvar med brukerens forventninger. |
| Designverifisering spรธr: har du designet produktet riktig? | Designvalidering spรธr: designet du riktig produkt? |
| Designverifisering inkluderer enhet og primรฆr integrasjonsnivรฅtesting. | Designvalidering inkluderer integrasjon pรฅ sekundรฆrt eller hรธyere nivรฅ og testing pรฅ systemnivรฅ. |
| Visse aspekter ved designvalidering kan oppnรฅs under designverifisering, men designverifisering er ikke en erstatning for designvalidering. | Designvalidering fรธlger vellykket designverifisering. |
| Designverifisering kan utfรธres pรฅ en enkelt modul eller pรฅ det ferdige systemet under alle forhold. | Designvalidering skal utfรธres under spesifiserte forhold i henhold til brukerkravet. |
| Designverifisering kan bruke statiske teknikker. Det inkluderer systeminspeksjoner, analyse og formelle verifiseringsaktiviteter. | Designvalidering bestรฅr av den endelige rapporten over testutfรธrelsesresultatene, som gjennomgรฅs, godkjennes og signeres. Disse dokumentene lagres for fremtidig referanse. |
En nyttig snarvei: verifisering er stort sett statisk arbeid mot dokumenter, mens validering stort sett er dynamisk testing mot en lรธpende bygg.
Designverifiseringsprosess
Verifiseringsprosessen gรฅr i fem trinn, og hvert trinn produserer en artefakt som det neste trinnet er avhengig av.
Identifikasjon og forberedelse:
- Mens en spesifikasjon utvikles, identifiseres verifiseringsaktivitet parallelt. Dette lar designeren forsikre seg om at spesifikasjonen faktisk er verifiserbar, slik at en testingeniรธr kan starte med detaljerte testplaner og prosedyrer. Enhver endring i spesifikasjonen mรฅ kommuniseres.
- Identifiser den beste tilnรฆrmingen for รฅ gjennomfรธre verifisering og definer mรฅlemetoder, nรธdvendige ressurser, verktรธy og fasiliteter.
- Den fullfรธrte verifikasjonsplanen gjennomgรฅs med designteamet for รฅ avdekke problemer fรธr planen ferdigstilles.
Planlegger:
- Planlegging for verifisering er en samtidig aktivitet med kjerne- og utviklingsteamene. Den skjer gjennom hele prosjektets livssyklus og oppdateres nรฅr designinnspillene endres.
- I denne fasen dokumenteres omfanget av programvaren eller systemet som testes.
- En forelรธpig testplan skrives og deretter forbedres. Planen fanger opp de kritiske milepรฆlene som reduserer prosjektrisikoen.
- Verktรธy, testmiljรธ og utviklingsstrategi velges, og kravene som skal bekreftes gjennom inspeksjon eller analyse identifiseres.
Utviklingping:
- Test tilfelle utviklingen sammenfaller med SDLC-metodikk prosjektgruppen har implementert. En rekke testmetoder identifiseres pรฅ dette stadiet.
- Designinnspillene mรฅ utvikles slik at selv de enkleste verifiseringsaktivitetene er entydige og verifiserbare.
- Verifiseringstiden reduseres nรฅr lignende konsepter verifiseres i rekkefรธlge, fordi resultatet av รฉn test kan brukes om igjen som input for en pรฅfรธlgende test.
- TracDet opprettes funksjonslenker mellom testtilfeller og tilhรธrende designinndata for รฅ sikre at alle krav testes og at designutdataene oppfyller designinndataene.
Henrettelse:
- Testprosedyrene som ble opprettet i utviklingsfasen utfรธres i samsvar med testplanen og fรธlges strengt under verifiseringsaktiviteten.
- Hvis det oppstรฅr ugyldige resultater, eller hvis en prosedyre mรฅ endres, mรฅ endringene dokumenteres og formelt godkjennes.
- Ethvert problem som oppdages, registreres som feil gjennom den vanlige prosess for feilhรฅndtering.
- A tracevnematrise er laget for รฅ bekrefte at alle designinnspill som er identifisert i verifiseringstestplanen har blitt testet, og for รฅ bestemme bestรฅttforholdet.
Rapporter:
- Denne aktiviteten utfรธres pรฅ slutten av hver fase av verifiseringsutfรธrelsen.
- Designverifiseringsrapporten gir et detaljert sammendrag av verifiseringsresultatene, inkludert konfigurasjonsstyring, resultatene for hver type testing og problemene som ble funnet under verifiseringsaktiviteten.
- En designverifisering tracEn testrapport opprettes mellom krav og tilhรธrende testresultater for รฅ bekrefte at alle krav ble testet og at passende resultater ble registrert.
- Eventuelle avvik dokumenteres og hรฅndteres pรฅ riktig mรฅte.
- RevVisninger gjennomfรธres nรฅr designverifiseringsaktiviteten er fullfรธrt, og resultatene er formelt godkjent.
Designvalideringsprosess
Validering har ingen like rigid sekvens. I stedet benytter den seg av et lite sett med aksepterte metoder, og et prosjekt bruker vanligvis mer enn รฉn av dem.
- Sammenligning med tilsvarende design. Noen design kan valideres ved รฅ sammenligne dem med lignende utstyr som tjener et lignende formรฅl. Dette er spesielt relevant nรฅr man validerer konfigurasjonsendringer i eksisterende infrastruktur, eller standarddesign som innlemmes i et nytt system eller en ny applikasjon.
- Demonstrasjon og inspeksjon. Enten eller begge kan brukes til รฅ validere krav og annen funksjonalitet i produktet.
- Analyse. Designet kan analyseres gjennom matematisk modellering eller en simulering som gjenskaper den nรธdvendige funksjonaliteten.
- Testing. Tester utfรธres pรฅ den endelige designen for รฅ validere systemets evne til รฅ fungere som spesifisert, og det er her funksjonstesting og ikke-funksjonell testing oppfylle brukerens krav.
- Dokumentasjon. Testplanen, utfรธrelsen og resultatene bรธr dokumenteres og vedlikeholdes som en del av designregistreringen. Validering er til syvende og sist de innsamlede resultatene av alle valideringsaktiviteter.
- Ekvivalensbegrunnelse. Nรฅr likeverdige produkter brukes i den endelige designvalideringen, mรฅ produsenten dokumentere likheten og eventuelle forskjeller fra den opprinnelige produksjonen.
Eksempel
Et kortfattet eksempel gjรธr skillet konkret.
- Ta et enkelt produkt: en vanntett klokke.
- Produktkravdokumentet kan si at ยซklokken mรฅ vรฆre vanntett under svรธmmingยป. Det er brukerens behov, og det er det validering mรฅles mot.
- Designspesifikasjonen kan si at ยซklokken skal fungere selv om brukeren svรธmmer over lengre tidยป. Det er designinndataene, og det er det verifiseringen mรฅles mot.
- Testresultatene bรธr bekrefte at klokken oppfyller disse kravene. Hvis de ikke gjรธr det, fortsetter redesign-iterasjonene inntil den gjรธr det.
Legg merke til hvordan en klokke kan bestรฅ verifiseringen og fortsatt ikke validere. Hvis spesifikasjonen definerer en langvarig svรธmmetur som femten minutter, og ekte svรธmmere holder seg i vannet i en time, samsvarer designutdataene perfekt med inputen, og brukeren blir fortsatt skuffet.
Fordeler med designvalidering og verifisering
ร kjรธre begge aktivitetene kontinuerlig, i stedet for som en port pรฅ slutten, er det som gir fordelene nedenfor.
- Design kan overvรฅkes kontinuerlig, noe som gjรธr det mulig รฅ oppfylle brukerdefinerte krav i alle trinn.
- Validering av designet peker pรฅ forskjellen mellom hvordan funksjonaliteten fungerer og hvordan den forventes รฅ fungere.
- Dokumentasjon av valideringsprosedyrene gjรธr funksjonaliteten enkel รฅ forstรฅ senere, nรฅr en endring eller forbedring gjรธres.
- Utviklingstiden reduseres jevnt og trutt, og produktiviteten forbedres, noe som bidrar til รฅ levere produktet som forventet.
- Prosessen definerer omfanget og omfanget av hver valideringsmetode som mรฅ benyttes.
- Validering kan utfรธres ved hjelp av detaljerte designdata som representerer de endelige brukerkravene.
- Enhver forskjell mellom resultatet og brukerens behov for dokumenter registreres i stedet for รฅ gรฅ tapt.
- Endringer i et validert design utlรธser en revalideringsaktivitet, slik at posten aldri forsvinner fra produktet.
- ร dokumentere all aktivitet som skjer under valideringen er det som pรฅ en tilstrekkelig mรฅte beviser at designet oppfyller brukerens krav.
Designverifisering og validering planlegges derfor best innenfor det bredere livssyklus for programvaretesting og kartlagt mot den andre typer programvaretesting, snarere enn รฅ bli behandlet som en separat samsvarsรธvelse.


