PROF. DR. TANJA E.J. VOS Zoeken naar fouten Op weg naar een nieuwe manier om software te testen Open Universiteit www.ou.nl Prof. dr. Tanja E.J. Vos Zoeken naar fouten Op weg naar een nieuwe manier om software te testen Copyright © Tanja E.J. Vos, Heerlen, 2017 [email protected] Niets uit deze uitgave mag worden gereproduceerd zonder schriftelijke toestemming van de auteur. ISBN 978 94 92231 53 6 Ontwerp omslag: Sumon Dutta en Vivian Rompelberg, Afdeling Visuele Communicatie, Open Universiteit Printed in The Netherlands Inhoudsopgave 1 Opening 1 2 Softwareisoveralomonsheen 2 3 Watissoftware?Enhoekomenerfoutenin? 3 4 Foutenzijnmenselijk!Ishetechtzoerg? 7 5 Watiseraantedoen? 9 6 Watissoftwaretesten? 11 7 Wekunnennietallestesten 13 8 Hoekunnenwedataanpakken? 17 9 TESTAR:AutomatischtestenopGUI-niveau 33 10 Onderwijs 56 Inhoud 1 Leren, een levenslang bouwproces 7 2 Waarom is de bouw van een huis een interactie tussen architect en aannemer? 11 Waarom komt leren tot stand als interactie tussen aanleg en omgevingsfactoren? 2.1 Inleiding 11 2.2 Theoretisch kader 11 2.3 Samenvattend 15 3 Het fundament 17 Het prenatale belang van voorwaarden voor leren 3.1 Inleiding 17 3.2 Biologische voorwaarden voor leren 17 3.3 Psychologische voorwaarden voor leren 20 3.4 Samenvattend 21 3.5 Take-home message 21 4 De bouw 23 Voorwaarden voor leren tijdens de kindertijd en adolescentie 4.1 Inleiding 23 4.2 Biologische voorwaarden voor leren 25 4.3 Psychologische voorwaarden voor leren 27 4.4 Samenvattend 29 4.5 Take-home message 29 5 Het onderhoud 31 Het stimuleren van levenslang leren 5.1 Inleiding 31 5.2 Biologische voorwaarden voor leren 32 5.3 Psychologische voorwaarden voor leren 34 5.4 Samenvattend 35 5.5 Take-home message 35 6 Het droomhuis 37 Bouwen aan de toekomst 7 Dankwoord 41 8 Referenties 43 Lijstvanfiguren 1 Voorbeeldvaneenfouteberekeningbijhetvoorschrijvenvan medicijnen(linksbovenDailyMail[Dai16],linksonderTech- nica[UK16],rechtsTheTelegraph[The17]) . . . . . . . . . . . 4 2 Fouteberekeninginsoftwarevoorvoorlopigebelastingaanslag [De17]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3 Voorbeeldvaneenrecentemillenniumbugindekrantrechts DeGelderlander[Gel16],linksRTLnieuws[RTL16]). . . . . . 7 4 Software-falenin2015en2016persector(uit[Tri16]).. . . . . 8 5 Verschillendeniveauswaaropgetestmoetworden . . . . . . . 12 6 StroomschemadataangeefthoeeenPIN-automaatkanwerken 15 7 Modellen:bruikbaresimplificatiesvandewerkelijkheid. . . . 18 8 Partitiemodel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 9 Driestappen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 10 Stroomdiagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 11 Workflowvanevolutionairstructureel,ofwhite-box,testen. . 29 12 Automatischinparkeren . . . . . . . . . . . . . . . . . . . . . . 31 13 Workflowvanevolutionairfunctioneel,ofblack-box,testen vanparkeermodule . . . . . . . . . . . . . . . . . . . . . . . . . 33 14 StelwewillenhetIKEA-webtesten... . . . . . . . . . . . . . . . 36 15 Voorbeeldvaneenvisueeltest-script . . . . . . . . . . . . . . . 37 16 TESTAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 17 VoorbeeldvaneentoestandwaarindeGUIvanWordkanzijn. 40 18 VoorbeeldvaneentoestandwaarindeGUIvanWordkanzijn. 40 19 VoorbeeldvaneentoestandwaarindeGUIvanWordkanzijn. 41 20 VoorbeeldvaneenvandetoestandenwaarindeGUIvanWord kanzijn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 21 Informatieviadetoegankelijkheids-APIvanWindows7 . . . 43 22 ImplicieteorakelsinTESTAR . . . . . . . . . . . . . . . . . . . 46 23 Q-Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 24 TESTARenQ-learning . . . . . . . . . . . . . . . . . . . . . . . 54 25 Toestandsovergangen . . . . . . . . . . . . . . . . . . . . . . . . 54 26 Evoluerenvanactieselectieregels . . . . . . . . . . . . . . . . . 56 Zoeken naar fouten Op weg naar een nieuwe manier om software te testen Rede in verkorte vorm uitgesproken bij de openbare aanvaarding van het ambt van hoogleraar Software Engineering aan de Open Universiteit op donderdag 22 juni 2017 door prof. dr. T.E.J. Vos 1 1 Opening GEACHTErector,familie,vriendenencollega’s. WelkominHeerlenop deBrightlandsSmartServicesCampus.Dezecampusisopgerichtin 2015metalsdoelkennis,talentenondernemerschapophetgebiedvan datascience,informatietechnologieenservicedesigninderegiotebinden enteverbinden.Ikvindheteeneeromhier,indezeindrukwekkendezaal, mijnoratietemogenuitspreken. Op1Januari2016benikaangesteldalshoogleraarSoftwareEnginee- ringaandeOpenUniversiteitNederland.Anderhalfjaarlangwarenvelen inafwachtingvanmijnoratie. Vandaag22juni2017isdedagdaarvoor eindelijkaangebroken. VoormijishetafgelopenanderhalfjaarwerkenbijdeOpenUniversiteit omgevlogen. Mogen werken met slimme en enthousiaste mensen, die gedrevenzijnomdebesteresultatenafteleveren,harthebbenvoorhun vakenaltijdklaarstaanomietsaantepakken,iseenwaarprivilege. De Open Universiteit, of OU, is een niet-traditionele, publieke uni- versiteit.Hetonderwijsmodelstaatvoorpersoonlijkenactiverendonline- onderwijs,metveelflexibiliteitvoorstudenten.Voorhetbachelor-onderwijs zijnergeenvooropleidingseisenenhetonderwijsisingerichtopstuderen indeeltijd. Dewetenschappelijkeopleidingenkrijgenveelwaarderingvanstuden- tenenexperts. IndeNationaleStudentenEnquêtevan2016,scorenvijf bacheloropleidingen(waaronderdebachelorinformatica)enviermaster- opleidingenvandeOpenUniversiteitdeeersteplaatseninderanglijsten vanhunstudierichtingen. VanalleveertienNederlandseuniversiteiten gevenstudentendezeopleidingenhethoogstecijfervanalleopleidingenin dezestudierichtingen.AlsinstellingscoortdeOpenUniversiteitdetweede plaatsinderanglijstvandeveertienuniversiteiten. Vandaagzalikietsvertellenoverhetsoortonderzoekdatikmetmijn groepdoeophetgebiedvansoftware-engineering. Ikzaluitleggenwat we doen en waarom, en wat de uitdagingen zijn. Ik zal enkele onder- zoeksresultatenpresenterenenprobereneenbeeldteschetsenvanwat we de komende jaren willen gaan doen op het gebied van de software- engineering. Ook zal ik iets vertellen over hoe ik in mijn rol als docent enprogrammaleidervandebachelorinformaticawilbijdragenaaneen Zoeken naar fouten
Description: