Kursplan för Testning, felsökning och verifiering

Kursplan fastställd 2021-02-26 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 62115
  • 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
    • 11 Jan 2022 fm J
    • 13 Apr 2022 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)
    • En kurs i objektorienterad programering (t.ex. TDA545)

    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.