Kursplan för Testning, felsökning och verifiering

Kursplan fastställd 2022-02-14 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnTesting, debugging and verification
  • KurskodTDA567
  • Omfattning7,5 Högskolepoäng
  • ÄgareTIDAL
  • UtbildningsnivåGrundnivå
  • HuvudområdeDatateknik, Informationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Mycket väl godkänd (5), Väl godkänd (4), Godkänd (3), Underkänd

Kurstillfälle 1

  • Undervisningsspråk Engelska
  • Anmälningskod 62127
  • Blockschema
  • Sökbar för utbytesstudenterJa

Poängfördelning

0114 Laboration 2,5 hp
Betygsskala: UG
2,5 hp
0214 Tentamen 5 hp
Betygsskala: TH
5 hp
  • 09 Jan 2024 fm J
  • 05 Apr 2024 em J
  • Kontakta examinator

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Behörighet

Grundläggande behörighet för grundnivå
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Särskild behörighet

Samma behörighet som det kursägande programmet.
Sökande med en programregistrering på ett program där kursen ingår i programplanen undantas från ovan krav.

Kursspecifika förkunskaper

För denna kurs krävs att studenterna har genomgått
  • Minst ett års utbildning på något program med inriktning Datavetenskap, Software Engineering, Datateknik eller liknande.
  • En kurs i diskret matematik (t.ex. TMV200, TMV211)
  • En kurs i objektorienterad programering (t.ex. DAT050)

Syfte


Kursens huvudsyfte är att förse studenten med grundläggande förståelse för tekniker för att hantera fel i datorprogram. Återkommande teman är:

a) att identifiera mjukvarufel

b) analys av dessa, samt

c) att avlägsna fel.

Kursen ger även förståelse för hur man systematiskt går tillväga för att försäkra sig om att en programvaruenhet verkligen gör det den ska.

Lärandemål (efter fullgjord kurs ska studenten kunna)

Efter genomgången kurs ska studenten kunna:

Kunskap och förståelse:
  • Beskriva omfattning och begränsningar av både informella och formella tekniker för att upptäcka, analysera och rätta programfel.
  • Beskriva grundprinciper för hur man skriver precisa specifikationer för mjukvaruenheter.
  • Diskutera grundprinciper inom mjukvaruverifiering.
Färdighet och förmåga:
  • Formulera precisa specifikationer för mjukvaruenheter.
  • Karakterisera indata för vilka ett program går fel.
  • Lokalisera, analysera och fixa programfel.
  • Resonera formellt om enkla program för att garantera korrekthet.
Värderingsförmåga och förhållningssätt:
  • Bedöma olika tekniker för felsökning och felprevention som kan påträffas i ett arbetssammanhang.
  • Bidra till utveckling och förbättring av tekniker för felsökning och felprevention i ett givet sammanhang.
  • Följa upp och utnyttja konceptuell och teknisk utveckling inom områdena testning, felsökning och verifiering som går bortom de exakta teknikerna som omfattas av kursen.

Innehåll

Kursen täcker formella och informella metoder, testning (terminologi, täckningsgrad, enhetstest, ramverk för enhetstester), felsökning (kontroll, arbetsflöde, lokalisering, verktyg), formell specifikation (pre-/postconditions, invarianter), formell verifiering (logik, verktyg). Kursen berör imperativa programmeringsspråk generellt, med mer specifikt fokus på objektorienterad programmering.

Efter genomgången kurs ska studenten ha förstått – och ha förmåga att använda – metoder för testning (att systematiskt påvisa programvarufel), felsökning (processen att isolera och rätta programvarufel), samt verifiering (att formellt resonera om program för att garantera korrekthet). Samtliga av dessa metoder är beroende av precisa specifikationer för vad programmet ska göra.

Organisation

Kursen omfattar en kombination av föreläsningar, övningstillfällen och inlämningsuppgifter (labbar).

Litteratur

Slides från föreläsningar distribueras via kurshemsidan. Litteraturlista finns på kurshemsidan. 

Examination inklusive obligatoriska moment

Kursen examineras genom en individuell skriftlig salstentamen 5hp i slutet av kursen och lobarationsuppgifter (inlämningsuppgifter) 2.5hp.

Inlämningsuppgifterna görs normalt i grupper om 2-3 studenter.
Om en inlämningsuppgift inte godkänns på första försöket kan studenten få ett andra försök.

För godkänt betyg för kursen krävs godkänd betyg på både laboratoriearbetet och skriftlig saltenta.
Förutsatt att studenten klarar kursen bestäms slutbetyget på kursen av betyget på den skriftliga saltentan.



Kursens examinator får examinera enstaka studenter på annat sätt än vad som anges ovan om särskilda skäl föreligger, till exempel om en student har ett beslut från Chalmers om pedagogiskt stöd på grund av funktionsnedsättning.