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
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0114 Laboration 2,5 hp Betygsskala: UG | 2,5 hp | ||||||
0214 Tentamen 5 hp Betygsskala: TH | 5 hp |
|
I program
- MPSYS - SYSTEMTEKNIK, REGLERTEKNIK OCH MEKATRONIK, MASTERPROGRAM, Årskurs 1 (valbar)
- TIDAL - DATATEKNIK, HÖGSKOLEINGENJÖR - Allmän, Årskurs 3 (obligatoriskt valbar)
- TKITE - INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 2 (valbar)
- TKITE - INFORMATIONSTEKNIK, CIVILINGENJÖR, Årskurs 3 (valbar)
Examinator
- Moa Johansson
- Docent, Data Science och AI, Data- och informationsteknik
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:- 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.
- 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.
- 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.