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 27, dwz 23-4-2012 t/m 6-7-2012; herkansing week 34)
Timeslot:D
Deelnemers:tot nu toe 15 inschrijvingen
Rooster:Let op: m.i.v. het collegejaar 2008/2009 is het rooster te vinden in Osiris
Docenten:Dit is een oud rooster!
vormgroeptijdweekzaaldocent
college   wo 13.15-15.0017-21 BBL-077 Wishnu Prasetya
 
23-26 BBL-077
vr 9.00-10.4517-19 BBL-077
21 BBL-077
23-26 BBL-077
practicum          Marcel Sondaar
Ruud Koot
  
groep 1 wo 15.15-17.0017 DDW-0.42 CLZ Wishnu Prasetya
 
18-19 RUPPERT-038
20 DDW-0.42 CLZ
21 MIN-018
22 DDW-0.42 CLZ
23 MIN-018
MIN-018
24-27 DDW-0.42 CLZ
vr 11.00-12.4517-19 BBL-109 CLZ
21 BBL-109 CLZ
23-26 BBL-109 CLZ
groep 2 wo 15.15-17.0017-21 BBL-112 CLZ Wishnu Prasetya
 
23-26 BBL-112 CLZ
vr 11.00-12.4517-19 BBL-112 CLZ
21 BBL-112 CLZ
23-26 BBL-112 CLZ
groep 3        Wishnu Prasetya
 
Tentamen:
week: 27wo 3-7-201316.30-19.30 uurzaal: EDUC-ALFA
week: 34vr 23-8-20139.00-12.00 uurzaal: BBL-061aanvullende toets
Inhoud:Testen is noodzakelijk om te garanderen dat onze software betrouwbaar zijn. Voor complexe software van tegenwoordig is testen in het algemeen erg duur, omdat er gewoon heel veel gedraagpatronen zijn die getest moeten worden. In dit vak gaan we kernconcepten en theorieen van testen leren zodat men in staat is om in elk geval testen als een doelgericht proces te definiëren, en hiermee zou men beter in staat is om het effectiever uit te voeren. We zullen een aantal kerntechnieken leren, zodat men in staat is om te identificeren welke techniek kan men gebruiken in een bepaalde testing probleem. Ook zal er aandacht gegeven worden aan het testen van games. Een programma uitputtend testen is echter meestal onmogelijk. Je vindt dus niet alle fouten. In sommige toepassinggebieden is het erg belangrijk om het risico van fouten zo min mogelijk te houden (denk aan de elektronica van je auto’s). We zullen daarom ook gaan kijken naar een programmeerlogica. Met zulke logica kunnen we in principe bewijzen dat een programma correct is zonder dat wij het programma hoeven te testen. De methode is volledig: een correct aangetoond programma voldoet echt aan zijn specificatie. Er zijn geen sluipende fouten meer. Het principe van een programmeerlogica is vaak eenvoudig, maar het uitoefenen daarvan eist veel abstractie en discipline, wat je ook tijdens de cursus gaat oefenen.
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:3 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:Minstens 4.0 voor de gemiddelde van het project en opdrachten.
Beschrijving:Themas:
  1. Verschillende concepten van test-dekking.
  2. Testing levels (unit, integratie, systeem, akseptatie).
  3. Testing technieken (property-based, partitie, syntax-driven, record-and-replay, mutatie).
  4. Specificeren van programma's.
  5. Hoare logic (basic statements, lussen, programma-aanroep, exception, weakest pre-condition, non-determinisme, objecten).
wijzigen?