SluitenHelpPrint
Switch to English
Cursus: INFOB3STV
INFOB3STV
Software testing en verificatie
Cursus informatie
CursuscodeINFOB3STV
Studiepunten (EC)7,5
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.
Themas:
  • Verschillende concepten van test-dekking.
  • Testing levels (unit, integratie, systeem, akseptatie).
  • Testing technieken (property-based, partitie, syntax-driven, record-and-replay, mutatie).
  • Specificeren van programma's.
  • Hoare logic (basic statements, lussen, programma-aanroep, exception, weakest pre-condition, non-determinisme, objecten).
SluitenHelpPrint
Switch to English