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 22-4-2013 t/m 5-7-2013; herkansing week 34)
Timeslot:D
Deelnemers:tot nu toe 29 inschrijvingen
Rooster:Let op: m.i.v. het collegejaar 2008/2009 is het rooster te vinden in Osiris
Docenten:
vormgroeptijdweekzaaldocent
college   wo 13.15-15.0017-20 BBL-079 Wishnu Prasetya
 
22-26 BBL-079
vr 9.00-10.4517-18 BBL-079
20 BBL-079
22-26 BBL-079
practicum groep 1 wo 15.15-17.0018-20 MIN-205 Wishnu Prasetya
 
22-26 MIN-205
vr 11.00-12.4518 BBL-103 CLZ
20 BBL-103 CLZ
22-26 BBL-103 CLZ
groep 2 wo 15.15-17.0018-20 BBL-106 CLZ Wishnu Prasetya
 
22-26 BBL-106 CLZ
vr 11.00-12.4518 BBL-106 CLZ
20 BBL-106 CLZ
22-26 BBL-106 CLZ
Tentamen:
week: 27wo 3-7-201316.30-19.30 uurzaal: EDUC-ALFA
week: 34vr 23-8-20139.00-12.00 uurzaal: BBL-061aanvullende toets
Nota bene:Er is geen recente vakbeschrijving beschikbaar.
Onderstaande tekst is een oude vakbeschrijving uit collegejaar 2011/2012
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:kan veranderen!
  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: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 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?