PROGRAMVARUVERIFIERINGETS660
Software Verification

Poäng: 4.0 Betygskala: UG Obligatorisk för: PVH3 Kursansvarig: Per Runeson, e-post: per.runeson@telecom.lth.se Förkunskapskrav: Programvaruteknik översiktskurs (ETS651), Programmeringmed processuppföljning (EDA680), Programvaruutveckling för stora system (ETS311) Rekomenderade förkunskaper: Kravhantering (ETS670) Prestationsbedömning: Projektarbete och skriftlig tentamen. Webbsida: http://www.telecom.lth.se Övrigt: Rapporter skrives på engelska.

Mål:
Kunskapsmål:
Kursen syftar till att ge en inblick i de vanligast förekommande verifieringsteknikerna. Begrepp och grundläggande principer ska vara kända för studenten, liksom verifieringens plats i programvaruutveckling som helhet. Studenten ska känna till verifieringens relation till kraven på ett programvarusystems funktionalitet och kvalitet.

Färdighetsmål:
Studenten ska efter avslutad kurs kunna göra testspecifikationer och testinstruktioner för ett programvarusystem utifrån en vald verifieringsstrategi. Vidare ska studenten kunna tillämpa ett systematiskt felsökningsarbete.

Attitydmål:
Studenten ska förstå komplexiteten i uppgiften att verifiera ett programvarusystem och vara medveten om kostnader och effekter av olika verifieringsinsatser under en produkts utvecklingscykel.

Innehåll:
Kursens föreläsningar belyser problemställningar och ger stöd vid läsning av kurslitteraturen. Övningarna ger praktisk färdighet i de olika verifieringstrategier som berörs. Kursen omfattar verifieringsaktiviteter i hela utvecklingscykeln:
- granskningar
- enhets/modultest
- funktionstest
- systemtest
- acceptanstest
I kursen klargörs begreppen kring olika typer av verifiering:
- statisk och dynamisk verifiering
- black-box- och white-box-verifiering
Olika verifieringsstrategier introduceras:
- ekvivalenspartitionering
- gränsvärdesanalys
- täckningsbaserad verifiering
- användningsbaserad verifiering
Kopplingen till krav är en viktig faktor som genomsyrar kursen. Det gäller både funktionella krav och kvalitetskrav. I projektform kommer arbetsgrupper att arbeta med att ta fram testplaner, testspecifikationer och testinstruktioner för ett realistiskt system, och på så sätt ges förståelse för hur olika tekniker kan samverka genom hela verifieringsprocessen. I ett fördjupningsarbete ges möjlighet till specialisering inom ett område. Arbetsgrupperna presenterar resultaten från
projektet och fördjupningsarbetet för varandra.

Litteratur:
Fastställs senare.