Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Human Computer Interaction Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde

Software testing en verificatie

Website:website met extra informatie
Vakcode:INFOB3STV
Studiepunten:7.5 ECTS
Historie:Dit vak is de opvolger van Programmeren en correctheid (INFOPC). Je kunt maar een van beide vakken voor je examen opvoeren
Periode:periode 4 (week 17 t/m 26, d.w.z. 20-4-2020 t/m 26-6-2020; herkansing week 28)
Timeslot:B
Deelnemers:tot nu toe 1 inschrijvingen
Rooster:De officiële roosters staan in Osiris
Docenten:
vormgroeptijdweekzaaldocent
college          Gabriele Keller
Wishnu Prasetya
werkcollege groep 1        Saba Gholizadeh
Samira Shirzadehhajimahmood
Inhoud:Testing is noodzakelijk om te garanderen dat onze software betrouwbaar is. Echter, software wordt steeds complexer. Testing wordt ook erg duur, omdat er te veel mogelijke executies zijn die getest moeten worden. We zouden dus keuzes moeten maken. In dit vak gaan we een aantal kern concepten, theorieën en technieken leren, zoals partitie-gebaseerd of control-flow-gebaseerd, om testing als een doelgericht en systematisch proces te beschrijven en uit te voeren. Ook zal er aandacht gegeven worden aan het testen van computer games. In sommige toepassingsgebieden is het echter belangrijk om het risico van fouten zo min mogelijk te houden (denk aan de elektronica van je auto’s). We gaan dus ook een programmeerlogica leren, waarmee we een programma correct kunnen bewijzen, zonder dat wij het programma hoeven te testen. De methode is volledig: een correct aangetoond programma voldoet echt aan zijn specificatie.
Literatuur:
  1. Paul Ammann and Jeff Offutt, Introduction to Software Testing, Cambridge University Press, Cambridge, UK, ISBN 0-52188-038-1, 2008.
  2. Dictaat.
Werkvorm:college, project, en werkcollege.
Toetsvorm:2 projecten, 1 opdracht, 1 midtentamen, 1 eindtentamen.

eindcijfer = 0.3 * (gemiddelde van projecten) + 0.2 * opdracht + 0.5 * (gemiddelde van tentamens)

Inspanningsverplichting voor aanvullende toets:Om aan de aanvullende toets te mogen meedoen moet de oorspronkelijke uitslag minstens 4 zijn.
Beschrijving:Themas:
  1. Verschillende concepten van test-dekking.
  2. Testing niveaus (unit, integratie, systeem, acceptatie).
  3. Testing technieken (partitie-gebaseerd, control-flow-gebaseerd, mutatie test).
  4. Specificeren van programma's.
  5. Hoare logic (basis statements, lessen, programma-aanroep, exception, weakest pre-condition, non-determinisme, objecten).
Leerdoelen: dat studenten de volgende kunnen,
  • demonstreren dat ze kennis hebben van basis concepten, theorieën, en technieken van software testen (zoals: test-dekking, white box testen, black box testen, control en data flow gebaseerd testen, partitie testen, combinatorisch testen).
  • deze technieken, op zijn minst sommige van de technieken, in de praktijk toepassen.
  • unit testen en systeem testen doen op een niet triviaal project.
  • demonstreren dat ze in staat zijn om een programma formeel te specificeren.
  • demonstreren dat ze ook kennis hebben van basis concepten, theorieën, en technieken. van programma verificatie (Hoare logic, wlp calculus).
  • demonstreren dat ze in staat zijn om een formeel bewijs van minstens een eenvoudig programma op te stellen.
wijzigen?