Kursplan för Testning, felsökning och verifiering

Kursplanen innehåller ändringar
Se ändringar

Kursplan fastställd 2019-02-08 av programansvarig (eller motsvarande).

Kursöversikt

  • Engelskt namnTesting, debugging and verification
  • KurskodTDA567
  • Omfattning7,5 Högskolepoäng
  • ÄgareTKDAT
  • UtbildningsnivåGrundnivå
  • HuvudområdeDatateknik, Informationsteknik
  • InstitutionDATA- OCH INFORMATIONSTEKNIK
  • BetygsskalaTH - Fem, Fyra, Tre, Underkänd

Kurstillfälle 1

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

Poängfördelning

0114 Laboration 2,5 hp
Betygsskala: UG
0 hp2,5 hp0 hp0 hp0 hp0 hp
0214 Tentamen 5 hp
Betygsskala: TH
0 hp5 hp0 hp0 hp0 hp0 hp
  • 14 Jan 2020 fm SB_MU
  • 08 Apr 2020 em DIST

I program

Examinator

Gå till kurshemsidan (Öppnas i ny flik)

Ersätter

  • TDA565 Program verification
  • TDA566 Testning, felsökning och verifiering

Behörighet

För kurser på grundnivå inom Chalmers utbildningsprogram gäller samma behörighetskrav som till de(t) program där kursen ingår i programplanen.

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 mål att att ge studenterna grundläggande förståelse av tekniker för att hantera fel i program och kunskaper om hur dessa tekniker kan användas praktiskt. Återkommande ämnen är a) identifikation av programvarufel, b) analys av dessa, och c) att rätta dem. Kursen ger även praktiska och teoretiska kunskaper om hur man systematiskt bygger upp bevis för att en programenhet gör det den är avsedd att göra.

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 och hur man skriver precisa specifikationer för mjukvaruenheter.
  • Diskutera grundprinciper inom mjukvaruverifiering.
  • 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. 
  • Bidra till utveckling och förbättring av tekniker för felsökning och felprevention i en given kontext.



Innehåll

 Kontrastera formella och informella metoder för testning (terminologi, täckningsgrad, enhetstester, ramverk för enhetstester), felsökning (kontroll, arbetsflöde, lokalisering, verktyg), formella specifikationer (pre-/post conditions, invarianter), formell verifikation (logik, verktyg). 

Kursen är genomgående fokuserad på imperativa program generellt, särskilt objektorienterade program. 

Organisation

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

Litteratur

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

Examination inklusive obligatoriska moment

Kursen examineras genom en individuell skriftlig salstenta (5p) och inlämningsuppgifter (2.5p). Inlämninguppgifterna görs normalt i grupper om 2-3 studenter. Om en inlämningsuppgift inte godkänns på första försöket kan studentet få ett andra försök.

Tentan och inlämningsuppgifterna kan godkännas oberoende av varandra. För att få godkänt på hela kursen krävs godkänt på både tenta och inlämningsuppgifter. Betyg bestäms då av tentamensresultatet.


Kursplanen innehåller ändringar

  • Ändring gjord på kurstillfälle:
    • 2019-11-22: Examinator Examinator ändrat från Moa Johansson (jomoa) till Wolfgang Ahrendt (ahrendt) av Viceprefekt
      [Kurstillfälle 1]
  • Ändring gjord på tentamen:
    • 2020-01-13: Plats Plats ändrat från Johanneberg till SB Multisal av annbe
      [2020-01-14 5,0 hp, 0214]