Ontwerpverificatie- en validatieproces
โก Slimme samenvatting
Ontwerpverificatie bevestigt dat een ontwerpresultaat overeenkomt met de gedocumenteerde ontwerpinput, terwijl ontwerpvalidatie bevestigt dat het eindproduct voldoet aan de werkelijke behoeften van de gebruikers. Beide processen vinden gedurende het hele ontwikkelingsproces plaats, nooit pas aan het eind.
Ontwerp verificatie
Ontwerp verificatie Het is een methode om door middel van onderzoek en bewijsmateriaal te bevestigen dat de output van een ontworpen softwareproduct voldoet aan de inputspecificaties. Het doel van het ontwerpverificatieproces tijdens softwareontwikkeling is ervoor te zorgen dat het ontworpen softwareproduct hetzelfde is als wat is gespecificeerd.
Ontwerpinput omvat alle fysieke en prestatie-eisen die als basis voor het ontwerp dienen. Ontwerpoutput is het resultaat van elke ontwerpfase en van de totale ontwerpinspanning. In gereguleerde sectoren zoals de medische hulpmiddelenindustrie vormt de uiteindelijke ontwerpoutput de basis voor het masterrecord van het apparaat. Daarom komt terminologie uit de ontwerpcontrole zo vaak voor in verificatiedocumentatie.
In de praktijk vergelijkt verificatie twee sets documenten: de specificaties, normen en randvoorwaarden die eraan voorafgingen, met de tekeningen, code en testinstructies die eruit voortkwamen. Elke afwijking daartussen is een verificatiebevinding.
Ontwerpvalidatie
Verificatie bewijst interne consistentie. Validatie stelt de lastigere vraag of de specificatie in de eerste plaats wel het juiste product beschreef.
Ontwerpvalidatie Ontwerpvalidatie is een proces waarbij het softwareproduct wordt geรซvalueerd aan de hand van de exacte eisen van eindgebruikers of belanghebbenden. Het doel van ontwerpvalidatie is om het softwareproduct na de ontwikkeling te testen en te bevestigen dat het aan die eisen voldoet wanneer het in de eigen omgeving van de gebruiker wordt gebruikt.
Validatie heeft tot doel de consistentie en volledigheid van een ontwerp aan te tonen ten opzichte van de behoeften van de gebruiker. Dit is de fase waarin je daadwerkelijk een versie van het product bouwt en deze valideert aan de hand van de gebruikersvereisten.
De onderstaande banner geeft de twee onderdelen van de activiteit weer zoals die gewoonlijk in ontwerpdocumenten worden gepresenteerd.
Het onderstaande diagram toont het ontwerpvalidatieproces zelf, van gebruikersbehoeften tot het gevalideerde product.
Het doel is om met objectief bewijs aan te tonen dat het product voldoet aan de gedocumenteerde behoeften van de gebruiker. Objectief bewijs is simpelweg fysiek bewijs van het resultaat โ een afbeelding, een tekstbestand, een audiobestand of een ondertekend rapport โ waaruit blijkt dat de procedure daadwerkelijk is uitgevoerd.
Aan de hand van objectief bewijsmateriaal wordt consistent onderzocht of het product aan de vooraf vastgestelde eisen voldoet. Het proces omvat testactiviteiten, inspectie, analyse en soortgelijke technieken, waardoor validatie doorgaans gebruikmaakt van objectieve gegevens. systeem testen en gebruikersacceptatie testen in plaats van controles op eenheidsniveau.
Verschil tussen ontwerpverificatie en validatie
Er bestaan โโvaak misvattingen over verificatie en validatie. Het zijn verschillende activiteiten, en beide worden in elke fase van het ontwikkelingsproces uitgevoerd, en niet slechts bij รฉรฉn enkele mijlpaal.
| Ontwerp verificatie | Ontwerpvalidatie |
|---|---|
| Ontwerpverificatie wordt gebruikt wanneer het daadwerkelijke ontwerpresultaat hetzelfde moet zijn als het verwachte ontwerpresultaat, dat voldoet aan de specificaties van het product. | Ontwerpvalidatie wordt gebruikt om vast te stellen of het uiteindelijke ontwerp voldoet aan de verwachtingen en behoeften van de gebruiker. |
| Bij ontwerpverificatie wordt de vraag gesteld: heb je het product op de juiste manier ontworpen? | Bij ontwerpvalidatie wordt de vraag gesteld: heb je het juiste product ontworpen? |
| Ontwerpverificatie omvat eenheids- en primaire verificatie. integratietesten. | Ontwerpvalidatie omvat integratie op secundair of hoger niveau en testen op systeemniveau. |
| Bepaalde aspecten van ontwerpvalidatie kunnen tijdens ontwerpverificatie worden uitgevoerd, maar ontwerpverificatie is geen vervanging voor ontwerpvalidatie. | Ontwerpvalidatie volgt op succesvolle ontwerpverificatie. |
| Ontwerpverificatie kan worden uitgevoerd op een individuele module of op het complete systeem onder alle omstandigheden. | Ontwerpvalidatie moet worden uitgevoerd onder een gespecificeerde voorwaarde volgens de gebruikersvereiste. |
| Ontwerpverificatie kan gebruikmaken van statische technieken. Het omvat systeeminspecties, analyses en formele verificatieactiviteiten. | Ontwerpvalidatie bestaat uit het eindrapport van de testresultaten, dat wordt beoordeeld, goedgekeurd en ondertekend. Deze documenten worden bewaard voor toekomstig gebruik. |
Een handige snelkoppeling: verificatie is meestal statisch werk aan de hand van documenten, terwijl validatie meestal dynamisch testen tegen een lopende build.
Ontwerpverificatieproces
Het verificatieproces bestaat uit vijf fasen, waarbij elke fase een artefact oplevert waarvan de volgende fase afhankelijk is.
Identificatie en voorbereiding:
- Tijdens de ontwikkeling van een specificatie wordt parallel daaraan de verificatieactiviteit vastgesteld. Hierdoor kan de ontwerper ervoor zorgen dat de specificatie daadwerkelijk verifieerbaar is, zodat een testingenieur kan beginnen met het opstellen van gedetailleerde testplannen en -procedures. Elke wijziging in de specificatie moet worden gecommuniceerd.
- Bepaal de beste aanpak voor het uitvoeren van verificatie en definieer de meetmethoden, benodigde middelen, instrumenten en faciliteiten.
- Het voltooide verificatieplan wordt met het ontwerpteam doorgenomen om eventuele problemen aan het licht te brengen voordat het plan definitief wordt vastgesteld.
Planning:
- De planning voor verificatie vindt gelijktijdig plaats met de kern- en ontwikkelteams. Deze planning loopt door de gehele projectlevenscyclus en wordt bijgewerkt telkens wanneer de ontwerpinput verandert.
- Tijdens deze fase wordt de te testen software of het te testen systeem binnen de gestelde scope gedocumenteerd.
- Er wordt een voorlopig testplan opgesteld en vervolgens verfijnd. Het plan omvat de cruciale mijlpalen die het projectrisico verlagen.
- De tools, de testomgeving en de ontwikkelingsstrategie worden geselecteerd, en de eisen die door middel van inspectie of analyse moeten worden bevestigd, worden vastgesteld.
Ontwikkelping:
- Testgeval ontwikkeling valt samen met de SDLC-methodologie Het projectteam heeft dit geรฏmplementeerd. In deze fase zijn verschillende testmethoden geรฏdentificeerd.
- De ontwerpinput moet zodanig worden ontwikkeld dat zelfs de eenvoudigste verificatieactiviteiten ondubbelzinnig en verifieerbaar zijn.
- De verificatietijd wordt verkort wanneer vergelijkbare concepten achter elkaar worden geverifieerd, omdat de output van de ene test kan worden hergebruikt als input voor een volgende test.
- TracEr worden betrouwbaarheidskoppelingen gelegd tussen testgevallen en de bijbehorende ontwerpinputs, om ervoor te zorgen dat elke eis wordt getest en dat de ontwerpuitkomst aan de ontwerpinputs voldoet.
Uitvoering:
- De testprocedures die tijdens de ontwikkelingsfase zijn opgesteld, worden uitgevoerd volgens het testplan en strikt nageleefd tijdens de verificatie.
- Indien er ongeldige resultaten optreden, of indien een procedure moet worden aangepast, moeten de wijzigingen worden gedocumenteerd en formeel goedgekeurd.
- Eventuele problemen worden als defect geregistreerd via de gebruikelijke kanalen. defectbeheerproces.
- A tracgeschiktheidsmatrix is ontworpen om te controleren of elke ontwerpinput die in het verificatietestplan is geรฏdentificeerd, is getest, en om het slagingspercentage te bepalen.
Rapporten:
- Deze activiteit wordt uitgevoerd aan het einde van elke fase van de verificatie-uitvoering.
- Het ontwerpverificatieverslag geeft een gedetailleerde samenvatting van de verificatieresultaten, inclusief configuratiebeheer, de resultaten voor elk type test en de problemen die tijdens de verificatieactiviteit zijn geconstateerd.
- Een ontwerpverificatie tracEr wordt een geschiktheidsrapport opgesteld, waarin de eisen worden gekoppeld aan de bijbehorende testresultaten. Dit rapport bevestigt dat aan alle eisen is voldaan en dat de juiste resultaten zijn vastgelegd.
- Eventuele afwijkingen worden gedocumenteerd en op passende wijze verholpen.
- RevNa afronding van de ontwerpverificatie worden beoordelingen uitgevoerd en de resultaten formeel goedgekeurd.
Ontwerpvalidatieproces
Validatie kent geen strikte volgorde. In plaats daarvan maakt het gebruik van een kleine set geaccepteerde methoden, en een project gebruikt doorgaans meer dan รฉรฉn daarvan.
- Vergelijking met gelijkwaardige ontwerpen. Sommige ontwerpen kunnen worden gevalideerd door ze te vergelijken met soortgelijke apparatuur die een vergelijkbaar doel dient. Dit is met name relevant bij het valideren van configuratiewijzigingen aan bestaande infrastructuur, of standaardontwerpen die worden geรฏntegreerd in een nieuw systeem of een nieuwe applicatie.
- Demonstratie en inspectie. Een van beide of beide methoden kunnen worden gebruikt om de vereisten en andere functionaliteiten van het product te valideren.
- Analyse. Het ontwerp kan worden geanalyseerd door middel van wiskundige modellering of een simulatie die de vereiste functionaliteit nabootst.
- Testing. Er worden tests uitgevoerd op het uiteindelijke ontwerp om te controleren of het systeem naar behoren functioneert, zoals gespecificeerd. functioneel testen en niet-functionele testen Voldoen aan de eisen van de gebruiker.
- Documentatie. Het testplan, de uitvoering en de resultaten moeten worden gedocumenteerd en bewaard als onderdeel van de ontwerpdocumentatie. Validatie is uiteindelijk de verzameling resultaten van alle validatieactiviteiten.
- Rechtvaardiging van gelijkwaardigheid. Wanneer gelijkwaardige producten worden gebruikt bij de uiteindelijke ontwerpvalidatie, moet de fabrikant de overeenkomst en eventuele verschillen met de oorspronkelijke productie documenteren.
Voorbeeld
Een kort uitgewerkt voorbeeld maakt het onderscheid concreet.
- Neem bijvoorbeeld een eenvoudig product: een waterdicht horloge.
- In het productspecificatiedocument kan bijvoorbeeld staan โโdat "het horloge waterdicht moet zijn tijdens het zwemmen". Dat is de behoefte van de gebruiker, en daaraan wordt de validatie afgemeten.
- In de ontwerpspecificatie kan bijvoorbeeld staan โโdat "het horloge moet blijven functioneren, zelfs als de gebruiker langdurig zwemt". Dat is de ontwerpinput en daar wordt de verificatie aan afgemeten.
- De testresultaten moeten bevestigen dat het horloge aan deze eisen voldoet. Zo niet, dan worden de herontwerpstappen voortgezet totdat dit wel het geval is.
Merk op hoe een horloge de verificatie kan doorstaan, maar toch de validatie kan mislukken. Als de specificatie een langdurige zwemtocht definieert als vijftien minuten en echte zwemmers een uur in het water blijven, komt de output van het ontwerp perfect overeen met de input, maar voldoet het horloge toch niet aan de eisen van de gebruiker.
Voordelen van ontwerpvalidatie en -verificatie
Door beide activiteiten continu uit te voeren, in plaats van ze als een afsluitende stap te beschouwen, worden de onderstaande voordelen behaald.
- Ontwerpen kunnen continu worden gemonitord, waardoor het mogelijk is om in elke fase aan de door de gebruiker gedefinieerde eisen te voldoen.
- Het valideren van het ontwerp wijst op het verschil tussen hoe de functionaliteit werkt en hoe deze zou moeten werken.
- Door de validatieprocedures te documenteren, wordt de functionaliteit later, bij elke wijziging of verbetering, gemakkelijk te begrijpen.
- De ontwikkeltijd wordt consequent verkort en de productiviteit verbetert, wat helpt om het product volgens verwachting te leveren.
- Het proces definieert het bereik en de reikwijdte van elke validatiemethode die moet worden toegepast.
- Validatie kan worden uitgevoerd met behulp van gedetailleerde ontwerpgegevens die de uiteindelijke gebruikersvereisten weergeven.
- Eventuele verschillen tussen het resultaat en de door de gebruiker gewenste documenten worden vastgelegd in plaats van verloren te gaan.
- Wijzigingen in een gevalideerd ontwerp leiden tot een hervalidatie, waardoor de documentatie nooit losraakt van het product.
- Het documenteren van elke activiteit die plaatsvindt tijdens de validatie is de manier om afdoende aan te tonen dat het ontwerp voldoet aan de eisen van de gebruiker.
Ontwerpverificatie en -validatie kunnen daarom het beste worden gepland binnen een breder kader. levenscyclus van softwaretests en in kaart gebracht ten opzichte van de andere soorten softwaretesten, in plaats van te worden behandeld als een afzonderlijke nalevingsoefening.


