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 24118
- Max antal deltagare80 (minst 10% av platserna reserveras för utbytesstudenter)
- Blockschema
- Sökbar för utbytesstudenterJa
Poängfördelning
Modul | LP1 | LP2 | LP3 | LP4 | Sommar | Ej LP | Tentamensdatum |
---|---|---|---|---|---|---|---|
0116 Inlämningsuppgift 3 hp Betygsskala: TH | 3 hp | ||||||
0216 Tentamen 4,5 hp Betygsskala: TH | 4,5 hp |
|
I program
Examinator
- Francisco Gomes
- Universitetslektor, Interaktionsdesign och Software Engineering, Data- och informationsteknik
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 6Sö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
- 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ä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.
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.