Produktverifiering

Kvaliteten hos produkter som är beroende av programvara kan vara svåra att bedöma och säkerställa. Företag känner sig ofta osäkra på om kraven och förväntningarna är uppfyllda och om de vågar lita på produkten. Det gäller speciellt nyutvecklade produkter men kan även gälla beprövade produkter som eventuellt används på nya sätt.

Addalot hjälper till att bedöma och säkerställa kvaliteten genom att göra en grundlig genomlysning av produkten med fokus på hur programvaran specificerats, utformats, verifierats och validerats.

Vad är det bra till?

En bättre förståelse för en produkts egenskaper, t ex funktionalitet, prestanda, tillförlitlighet, skalbarhet, underhållbarhet och återanvändbarhet, ger ett antal mer eller mindre uppenbara fördelar:

  • Bättre bedömning av produktens användbarhet
  • Bättre underlag för att besluta om en nyutvecklad produkt är redo att ”releases”
  • Minskad risk för oförutsedda problem och kostnader

Utmaningar

Det finns flera utmaningar i samband med verifiering av programvara:

  • Hög komplexitet gör det svårt att veta när man har testat tillräckligt
  • Produktdokumentationen, t ex kravspecifikationen, är ofta bristfällig vilket gör det svårt att veta om alla krav är tillräckligt verifierade
  • Produkten förändras, t ex felrättas, fortlöpande vilket gör det svårt att veta om tester som gjorts innan en förändring fortfarande fungerar korrekt
  • Vid vidareutveckling av en befintlig programvara kan det vara svårt att veta mycket den befintliga programvaran behöver testas
  • Testmiljöerna skiljer sig ofta från målmiljön vilket kan göra det svårt att vara helt säker på testresultatet

Vad är det?

Det finns en tradition vid produktverifiering att fokusera på så kallade blackbox-tester, dvs man betraktar produkten som en svart låda och försöker verifiera att  ”lådan” uppfyller kravspecifikationen. Problemet med produkter som innehåller programvara är att de ofta är mycket komplexa och kan vara svåra att verifiera tillräckligt utförligt på det sättet. För att kunna bedöma kvaliteten behöver man i regel även titta på hur programvaran utformats och hur de ingående delarna dokumenterats och verifierats.

Tjänsten som Addalot erbjuder hjälper till att bedöma relevanta kvalitetsaspekter hos en programvara genom att ingående analysera hur den specificerats, utformats, verifierats och validerats. När det behövs och bedöms möjligt föreslås kompletterande åtgärder för att säkerställa kvaliteten.

I arbetet ingår ofta att utvärdera:

  • Kravspecifikation
  • Designdokumentation
  • Källkod (ibland med metoden SQALE)
  • Verifierings- och valideringsstrategi, testprocedurer, testfall, testmiljöer, testdata, och testresultat
  • Användarmanualer och annan supportdokumentation
  • Eventuella produktcertifikat
  • ”Proven-in-use”, dvs argument för att produkten har använts och fungerar i ett visst användningsområde

Våra erfarenheter

Där det är möjligt kombinerar vi ofta den här typen av produktverifiering med en utvärdering av den utvecklingsprocess som används för att ta fram produkten. Ett exempel är granskningen av en säkerhetskritisk programvara för att styra utläggning av pipelines där vi först gjorde en ISDS-utvärdering av utvecklingsprocessen och därefter granskade kravspecifikationer, FMECA-rapporter, testplaner, testfall, testrapporter, samt källkod (för källkodsanalysen användes bl a SQALE). Andra projektexempel är jämförelser av olika produkter samt utvärderingar för att säkerställa att produkter är klara för att ”releases”.