Kursplan för läsåret 2002/2003
PROGRAMVARUVERIFIERINGETS660
Software Verification

Antal poäng: 4. Betygskala: UG. Obligatorisk för: IPV3. Valfri för: IDA3. Kursansvarig: Per Runeson, per.runeson@telecom.lth.se. Förkunskapskrav: För IPV: Programvaruteknik översiktskurs (ETS651), Programmering med processuppföljning (EDA680), Programvaruutveckling för stora system (ETS311). För ID: Datateknik översiktskurs (EDT630), Programmering i Java (EDA616) och Programvaruutveckling för stora system (ETS311). Rekommenderade förkunskaper: Kravhantering (ETS670). Prestationsbedömning: Redovisade övningar och projektarbete. Webbsida: http://www.telecom.lth.se:80/Kurser/prov. Ö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 verifieringstekniker 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. Arbetsgrupperna presenterar resultaten från projektet för varandra.

Litteratur
Kit, E: Software Testing in the Real World - Improving the Process, Addison-Wesley, ISBN 0-201-87756-2.