Kursplan för Kvalitetssäkring och testning

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

Kursöversikt

  • Engelskt namnQuality assurance and testing
  • KurskodDAT321
  • Omfattning7,5 Högskolepoäng
  • ÄgareMPSOF
  • UtbildningsnivåAvancerad nivå
  • 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 24111
  • Max antal deltagare80
  • Blockschema
  • Sökbar för utbytesstudenterJa

Poängfördelning

0116 Inlämningsuppgift 3 hp
Betygsskala: TH
3 hp
    0216 Tentamen 4,5 hp
    Betygsskala: TH
    4,5 hp
    • 13 Jan 2023 fm L
    • 05 Apr 2023 em L
    • 17 Aug 2023 em L

    I program

    Examinator

    Gå till kurshemsidan (Öppnas i ny flik)

    Behörighet

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

    Särskild behörighet

    Engelska 6
    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 behörighet till kursen krävs minst en kandidatexamen inom software engineering, informationsteknik, programvaruteknik, datavetenskap eller motsvarande. Dessutom krävs avklarade i:
    • programmering (t.ex. TDA548 Grundläggande programvaruutveckling eller motsvarande) och
    • ett praktiskt projekt inom systemutveckling eller mjukvaruutveckling (t.ex. DAT257 Agile software project management )

    Syfte

    Programvara förekommer i vårt samhälle och misstag eller problem i mjukvarusystem kan leda till allvarliga ekonomiska, miljömässiga eller till och med säkerhetsmässiga konsekvenser. Därför är det en viktig del av programvaruteknik att identifiera dessa problem och säkerställa kvalitet i våra programvaruprodukter. Syftet med denna kurs är att undervisa de grundläggande och praktiska aspekterna av kvalitetshantering och programvarutestning i programvaruutvecklingsprojekt.

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

    Kunskap och förståelse
    • Förklara grundläggande begrepp inom mjukvarukvalitet (t.ex. intern / extern kvalitet, liksom kvalitet vid användning) och kvalitetssäkringsmodeller.
    • Beskriva hur hållbarhet kan betraktas som ett kvalitetsattribut hos mjukvaruprodukter
    • Redogöra för och förklara definitioner och aktiviteter relaterade till mjukvarutestning, såsom fel, felnivåer vid testning och testautomatisering
    • Förklara nuvarande trender i forskning om mjukvarukvalitet och testning (t.ex. teststabilitet, sökbaserad programvarutestning) 
    • Förklara skillnaden mellan mjukvaruverifiering och mjukvaruvalidering.
    • Namnge och beskriva olika testtekniker och tillvägagångssätt, såsom mutationstest, automatiserad testprioritering, testfallgenerering, utforskande test etc.
    • Förklara "continuous integration" och relatera det till mjukvaruutvecklingsprocesser
    Färdigheter och förmåga
    • Definiera metrik som krävs för att övervaka och analysera olika kvalitetsattribut för programvaruprodukter
    • Mäta mjukvaruprodukternas kvalitet baserat på data från utvecklingsmiljöer och verktyg.
    • Förklara och implementera testaktiviteter i samband med olika testnivåer (t.ex. system-, integrations- eller enhetsnivåtester)
    • Definiera och implementera en testplan eller ett testomfång baserat på kvalitetsmål.
    • Utforma lämpliga och meningsfulla tester.
    • Tillämpa automatiserade testtekniker på realistiska exempel med relevanta verktyg (t.ex. automatiserad regressionstestning på kontinuerliga integrationsledningar)
    • Använda automatiserade system för att mäta kvalitet av mjukvaruprodukter baserat på data från moderna utvecklingsverktyg
    • Använda moderna verktyg för visualisering av trender av mjukvarukvaliten
    Värderingsförmåga och förhållningssätt
    • Värdera vikten av mjukvarukvalité i relation till tids- och kostnadsbild för moderna mjukvaruprojekt
    • Bedöma kvaliteten av testuppsättningar med hjälp av programvaru artefakter (t.ex. exekveringsloggar, testskript, historik över testkörningar). 
    • Relatera mjukvarukvalitet till samhällsliga aspekter av mjukvarutveckling

    Innehåll

    Kursen behandlar följande innehåll:
    • Definitioner av kvalitetssäkring av programvara, kvalitetsattribut, mjukvarumått och modeller inom kvalitetshantering, intern kvalitet och extern kvalitet;
    • Definitioner och skillnader mellan mjukvaruverifiering och valideringsmetoder;
    • Definitioner och praktisk tillämpning av tekniker och metoder för testning av programvara relaterade till testplanering, design, utförande och analys.
    Kursen förbereder studenterna att arbeta som kvalitets- eller testingenjörer (eller chefer) i programvaruutvecklingsorganisationer.

    Organisation

    Kursen består av föreläsningar där teori förklaras samt praktiska inlämningar som fokusera på användningen av testverktyg och metoder för att möjliggöra kostnadseffektiv testning.

    Litteratur

    Kurslitteratur kommer att publiceras senast 8 veckor innan kursstart.

    Examination inklusive obligatoriska moment

    Kursen bedöms genom en skriftlig rapport och en individuell skriftligsalstenta. Rapporten betygsatts individuellt.

    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.