Begrip verificatie en validatie

Verificatie en validatie vormen de ruggengraat van kwaliteitsborging in systeemtechniek, maar ze dienen verschillende doeleinden. Verificatie is een statisch en dynamisch proces dat antwoordt, "Bouwen we het product juist?" Het zorgt ervoor dat elk systeemonderdeel en het geïntegreerd systeem voldoen aan de gestelde eisen.Dit omvat het controleren van ontwerpdocumentatie, het uitvoeren van code-evaluaties, het uitvoeren van inspecties en het uitvoeren van eenheidstests. Validatie, anderzijds, antwoorden "Bouwen we het juiste product?" Het omvat het evalueren van het definitieve systeem in de beoogde operationele omgeving om het te bevestigen dat het voldoet aan de behoeften van de gebruiker en presteert zoals verwacht. Beide processen zijn complementair en moeten gedurende de hele ontwikkelingslevenscyclus worden toegepast.

Bij een ADAS-project voor automotive (Advanced Driver-Assistance Systems) kan bijvoorbeeld worden nagegaan of het fusiealgoritme van de sensor een correcte output oplevert, gegeven specifieke inputs, terwijl de validatie een testrit in het voertuig in reële verkeersomstandigheden inhoudt om te garanderen dat het systeem obstakels veilig vermijdt.

Waarom een Robuust V&V-plan belangrijk is

Een zwak of onvolledig V&V-plan kan leiden tot kostenoverschrijdingen, vertragingen in de planning en zelfs catastrofale storingen. Volgens het INCOSE Systems Engineering Handbook kunnen gebreken die later in de ontwikkelingscyclus worden ontdekt, 10 tot 100 keer meer kosten dan die welke vroegtijdig worden vastgesteld. Een robuust plan helpt problemen in een zo vroeg mogelijk stadium te identificeren, vermindert de rework en biedt objectieve bewijzen van systeemkwaliteit. Het ondersteunt ook naleving van de regelgeving in industrieën zoals lucht- en ruimtevaart, medische apparatuur en defensie, waar validatie van veiligheidskritieke functies verplicht is.

Bovendien bouwt een goed gestructureerd V&V-plan vertrouwen op met stakeholders. Klanten en eindgebruikers krijgen vertrouwen wanneer ze een duidelijk, traceerbaar pad zien van eisen naar testresultaten. Deze transparantie kan ook contractuele geschillen verminderen en gemakkelijker acceptatietesten mogelijk maken.

Sleutelcomponenten van een V&V-plan

Een uitgebreid V&V-plan omvat doorgaans de volgende elementen, die we elk in volgende paragrafen zullen uitbreiden:

  • Scope en doelstellingen: Bepaalt welke delen van het systeem moeten worden geverifieerd/gevalideerd en de algemene doelstellingen.
  • Requirements Tracability Matrix (RTM): Verbindt elke eis met specifieke V&V-activiteiten en testgevallen.
  • Teststrategie: Geeft een overzicht van de methoden (bv. inspectie, analyse, demonstratie, test) en het niveau van rigor.
  • Testcases en procedures: Gedetailleerde stappen, input, verwachte outputs en pass/fail criteria.
  • Resource Allocatie: Personeel, gereedschap, testomgevingen en budget.
  • Schedule en Mijlpalen: Fasen van V&V afgestemd op het ontwikkelingsplan.
  • Risicomanagement: Identificatie van kritieke risico's en overeenkomstige V&V-accu.
  • Gegevensbeheer en documentatie: Hoe de resultaten worden geregistreerd, opgeslagen en gerapporteerd.
  • Aanvaardingscriteria: Formele go/no-go-criteria voor elke belangrijke herzieningspoort.

Stap-voor-stap proces om een robuust V&V-plan te ontwikkelen

1. Definieer duidelijke doelstellingen

Begin met te vermelden wat de V&V-inspanning moet bereiken. Deze doelstellingen moeten aansluiten bij de algemene doelstellingen van het project. Bijvoorbeeld, in een project voor medische hulpmiddelen, kan een doelstelling zijn: . . Om te controleren of de nauwkeurigheid van de infusiepomp onder alle gespecificeerde bedrijfsomstandigheden binnen ±2% blijft, en om te valideren dat klinische gebruikers het apparaat zonder fouten kunnen bedienen. . . Doelstellingen moeten meetbaar zijn en gebonden aan specifieke eisen of behoeften van de gebruiker.

2. Verzamelen en analyseren van vereisten

Verzamel alle systeemeisen uit de specificaties, inclusief functionele, prestatie-, interface-, veiligheids-, regelgevings- en milieueisen.Dit is waar een Vereiste Traceerbaarheidsmatrix (RTM) van onschatbare waarde wordt. Elke eis moet uniek worden geïdentificeerd en vervolgens in verband worden gebracht met een of meer V&V-activiteiten. Bijvoorbeeld, een vereiste .Het systeem moet reageren op gebruikersinvoer binnen 100 ms. zou worden gekoppeld aan prestatie-keuringstests. Ook, vastleggen van verwachtingen van belanghebbenden die niet formeel kunnen worden gedocumenteerd , deze vaak rijden validatie scenario's.

3. Ontwikkelen van V&V-teststrategieën

Kies op basis van het soort eis de juiste methoden. De gemeenschappelijke methoden zijn:

  • Inspectie: Visuele of handmatige controles van documentatie, ontwerpartefacten en code (bv. peer reviews, auditen van checklists).
  • Analyse: Met behulp van modellering, simulatie of wiskundige berekeningen om aan te tonen dat aan een vereiste is voldaan (bv. stressanalyse, timinganalyse).
  • Demonstratie: Laat zien dat het systeem een functie kan uitvoeren onder bepaalde omstandigheden, vaak met minimale instrumentatie (bijvoorbeeld het inschakelen van een indicatorlicht).
  • Test: Formele, gecontroleerde uitvoering van het systeem met gemeten inputs en outputs (bv. unittests, integratietests, systeemtests).

Selecteer de minimumset van methoden die voldoende bewijs leveren voor elke eis. Voor veiligheidskritische eisen kunnen meerdere methoden nodig zijn (bv. zowel test als analyse).

4. Ontwerp Gedetailleerde testcases

Voor elke eis moeten de ontwerptestcases die betrekking hebben op normale werking, grensvoorwaarden, foutafhandeling en worstcasescenario's, worden opgenomen in elk testcase:

  • Unieke identificatie van het testgeval
  • Vereiste ID(s) wordt gevalideerd
  • Voorwaarden (bv. systeemtoestand, milieuopzet)
  • Stapsgewijze testprocedures
  • Invoergegevens (inclusief variaties)
  • Verwachte resultaten met acceptatiecriteria
  • Postvoorwaarden

Gebruik equivalentie partitionering en grenswaarde analyse om het aantal testgevallen te minimaliseren terwijl het maximale bereik wordt bereikt. Bijvoorbeeld, als een temperatuursensor moet werken tussen -40°C en +85°C, testcases moeten -40°C, +85°C, een waarde net onder -40°C, een waarde net boven +85°C, en typische binnenbereikwaarden omvatten.

5. Resources effectief toewijzen

Resource planning omvat het identificeren van het personeel (test ingenieurs, domeinexperts, vakexperts), testapparatuur (oscilloscopen, belastingsimulatoren, milieukamers), softwaretools (test automatiseringskaders, vereiste management tools), en faciliteiten (laboratoria, testsporen) vereist. In grote projecten, een toegewijd V&V team kan nodig zijn. Beschouw ook het budget voor uitbestede testen, gereedschap licenties, en kalibratie van apparatuur. Document resource aannames in het plan, zodat ze kunnen worden gevolgd en herzien indien nodig.

6. Plan V&V-activiteiten

Integreer V&V-activiteiten in het totale projectschema. Idealiter moet V&V zo vroeg mogelijk beginnen, zelfs tijdens de vereisten en ontwerpfasen. Gebruik een gedifferentieerde aanpak: verificatie op niveau tijdens de ontwikkeling, integratieverificatie als componenten worden gecombineerd en systeemvalidatie later. Zorg ervoor dat afhankelijkheden worden verantwoord (bijvoorbeeld, systeemintegratie moet volledig zijn voordat systeemvalidatie). Inclusief herzieningspoorten (bijv., voorlopige ontwerpbeoordeling, kritische ontwerpbeoordeling, testreview) waar V&V-status wordt geëvalueerd.

7. Definieer Acceptatiecriteria en Succes Metrics

Voor elke V&V-activiteit, definieer wat een pass of fail is. Deze criteria moeten objectief en ondubbelzinnig zijn. Voorbeelden:

Beste praktijken voor robuuste V&V-planning

Betrokken belanghebbenden vroeg en vaak

Niet alleen het projectteam, maar ook klanten, eindgebruikers, regelgevende vertegenwoordigers en testtechnici bij V&V-planning betrekken. Hun input helpt realistische testscenario's te definiëren, verborgen aannames te identificeren en ervoor te zorgen dat validatietests echt het operationele gebruik weerspiegelen. Houd regelmatige V&V-statusvergaderingen om resultaten te beoordelen en plannen aan te passen op basis van feedback.

Traceerbaarheid behouden gedurende het gehele proces

Een vereisten Traceerbaarheidsmatrix (RTM) is essentieel. Maar traceerbaarheid moet verder reiken dan het koppelen van vereisten aan testcases.Ze moet ook voldoen aan specificaties, ontwerpdocumenten, risicobeoordelingen en zelfs defectrapporten. Dit maakt het mogelijk om de impact van een verandering snel te evalueren en te bewijzen dat elke eis is geverifieerd. Gebruik tools zoals IBM DOORS, Jama Connect of Polarion om de traceerbaarheid automatisch te behouden.

Automatisering omarmen waar haalbaar

Geautomatiseerde testen kunnen de handmatige inspanning drastisch verminderen, de herhaalbaarheid verhogen en regressietesten versnellen. Investeer in testautomatiseringskaders voor eenheidstests, API-tests en GUI-tests. Automatisering is vooral waardevol voor verificatie van interfaces, gegevenstransformaties en prestatiebenchmarks. Echter, voor validatie van gebruikerservaring of real-world omgevingsgedrag, handmatig testen en deskundig oordeel blijven belangrijk.

Document grondig en juist

Alle V&V-activiteiten moeten met voldoende details worden gedocumenteerd om audits en toekomstig onderhoud te ondersteunen. Dit omvat testplannen, testprocedures, testresultaten (met pass/fail-evidence), anomalierapporten en traceerbaarheidsmatrices. Gebruik versiecontrole voor alle documentatie. In gereguleerde sectoren (bv. FDA 21 CFR Deel 820, ISO 13485) moet de documentatie worden gevolgd door geformaliseerde veranderingscontrole- en uitlogprocedures.

Het plan iteratief herzien en bijwerken

V&V-planning is geen eenmalige activiteit. Naarmate het systeem evolueert, ontstaan nieuwe eisen, worden ontwerpwijzigingen gemaakt en lessen getrokken uit vroege tests. Plan periodieke evaluaties van het V&V-plan bijvoorbeeld, na elke belangrijke introductie of aan het einde van elke ontwikkelingsfase. Update risicobeoordelingen, teststrategieën en schema's dienovereenkomstig. De analyse van de oorzaak van testfouten moet in het plan worden opgenomen om herhaling te voorkomen.

Vaak voorkomende Pitfalls te vermijden

  • V&V te laat starten: Wachten tot na het coderen is voltooid leidt vaak tot gemiste defecten en kostbare herwerken. Integreer V&V vanaf de vereistenfase verder.
  • Onvoldoende testdekking: Speciaal voor hoekgevallen en foutafhandeling. Gebruik dekkingsanalysetools om niet-geteste paden te identificeren.
  • Overmatig vertrouwen op één V&V-methode: Voor kritische eisen kan het alleen gebruiken van analyse zonder werkelijke test verborgen gebreken laten.
  • Geen onafhankelijkheid: Wanneer ontwikkelaars hun eigen code testen, kunnen ze gebreken over het hoofd zien. Gebruik een onafhankelijk V&V-team of ten minste een aparte beoordelaar.
  • Niet-functionele vereisten negeren: Prestaties, veiligheid, betrouwbaarheid en bruikbaarheid vereisen specifieke V&V-activiteiten, niet alleen functionele tests.
  • Slechte communicatie van resultaten: Als V&V-status en -anomalieën niet met het bredere projectteam worden gedeeld, kan dit leiden tot ongecoördineerde veranderingen.

Toepassing in de praktijk: een casestudy

Beschouw een project om een nieuw vluchtregelsysteem voor een onbemande luchtvoertuig (UAV) te ontwikkelen. Het V&V-plan kan het volgende omvatten:

  • Verificatie van autopilotsoftware met behulp van model-in-the-loop simulatie (analysemethode) om controlewetten te bevestigen voldoen aan stabiliteitsmarges.
  • Integratietest van de hardware-softwareinterface met behulp van hardware-in-the-loop testbanken (testmethode).
  • Validatievluchten in een gecontroleerd luchtruim met een veiligheidspilot (demonstratie + test).
  • Inspectie van de code voor de naleving van de doelstellingen van DO-178C.

Het plan zou elke eis (bv. .UAV moet de hoogte binnen ±10 voet handhaven in aanhoudende 20 knopen winden .) tot specifieke testcases in simulatie en werkelijke vluchttests. Het schema zou een groot aantal iteraties mogelijk maken: eerste verificatie in simulatie, dan tests op de grond, vervolgens beperkte vluchten, en uiteindelijk volledige validatie. Door een robuust plan na te leven, vermindert het team het risico van een crash als gevolg van een onopgemerkte softwarefout.

Gereedschappen en technologieën voor moderne V&V

De gereedschapsuitrusting kan de V&V-efficiëntie aanzienlijk verbeteren. Enkele veelgebruikte instrumenten zijn:

  • Requirements Management: IBM DOORS, Jama Connect, Siemens Polarion
  • Testmanagement: Micro Focus ALM, Jira met Zephyr, TestRail
  • Automatische tests: Selenium, Appium, Robot Framework, Jenkins (CI/CD)
  • Simulatie en analyse: MATLAB/Simulink, Ansys, Modelica
  • Traceability: Cameo Systems Modeler, Enterprise Architect

Deze tools kunnen traceerbaarheid automatiseren, rapporten genereren, versiering beheren en integreren met ontwikkelingsomgevingen. Echter, over-automatisering vermijden voor gevallen waarin menselijk oordeel cruciaal is, zoals het valideren van bruikbaarheid.

Integratie van V&V met agile en DevOps

Traditionele V&V-plannen worden vaak geassocieerd met watervalontwikkeling, maar ze zijn even belangrijk in Agile en DevOps. In Agile wordt de verificatie continu uitgevoerd door middel van geautomatiseerde unit tests en integratietests in elke sprint. Validatie gebeurt aan het einde van elke sprint via sprint reviews of demo's aan stakeholders. Het V&V-plan moet een levend document zijn dat voor elke functie de vereiste verificatie- en valideringsactiviteiten definieert. In DevOps moet het plan zich richten op continue integratie (CI) en continue levering (CD) pijpleidingen, zodat geautomatiseerde tests blokkeren promoties tot productie als er storingen optreden. Regressie test suites worden kritisch. Het plan moet ook aandacht besteden aan monitoring en validatie in productie (bijv., kanarie releases, A/B-tests) om te bevestigen dat het systeem voldoet aan verwachtingen onder reële omstandigheden.

Conclusie: Het pad naar betrouwbare systemen

Het ontwikkelen van een robuust verificatie- en valideringsplan is niet alleen een boxchecking-oefening.Het is een strategische investering in systeemkwaliteit, veiligheid en tevredenheid van de belanghebbenden. Door inzicht te krijgen in de verschillende rollen van verificatie en validatie, na een gestructureerd planningsproces, en beste praktijken aan te nemen zoals betrokkenheid van belanghebbenden bij de eerste fase, traceerbaarheid en automatisering, kunnen systeemingenieurs de risico's fundamenteel beperken. Het plan moet leven, evolueren naast het systeem dat het ondersteunt, en gebaseerd zijn op strikte documentatie en toetsing.

Voor nadere lezing van V&V-methodologieën, zie SEBoK

Onthoud, het doel van een goed V&V-plan is om vertrouwen te wekken dat het systeem zal werken zoals gepland, elke keer. Met zorgvuldige planning en uitvoering, dat vertrouwen wordt verdiend.