Testen in 2025 doen we continu en met zijn allen!?

Dat testen een onmisbare discipline is binnen softwareontwikkeling, staat voor niemand ter discussie. Mensen maken fouten en zullen fouten blijven maken. Ook ontwikkelaars. De laatste jaren hebben wij echter wel grote veranderingen gezien in de manier waarop we testen, wanneer we testen, door wie er getest wordt en de eisen die wij stellen aan degenen die testen.

 

NAAR CONTINUE QUALITY ASSURANCE

De essentie van het testen komt, ondanks alle trends en ontwikkelingen, nog steeds neer op het vinden van ‘de juiste testgevallen’, tests die een goed beeld geven van de kwaliteit van het systeem en die zaken afdekken die tijdens de ontwikkeling aan de aandacht dreigen te ontsnappen. 

Testen vindt steeds meer plaats vanaf het begin van de ontwikkelcyclus. Benjamin Jurg (TMC): “Ik zie dat er in de ontwerpfase aandacht komt voor testability.” André Verschelling (ALTEN Technology): “Dat moet ook wel, want de systemen die we maken bij bedrijven als Philips, VDL, ASML worden steeds software-intensiever, en steeds meer connected. De complexiteit is vaak enorm.”

Veel complexiteit zit in de integratie. Jurg: “Bij de ontwikkelcyclus zie je dat we verschillende subsystemen ontwikkelen. Integratietesten doen wij niet meer alleen op het einde van het traject. Gedurende het ontwikkeltraject wordt er veelvuldig op verschillende niveaus geïntegreerd, een beetje volgens het sandwich model.”

De huidige zienswijze is dat we complexe systemen alleen kunnen opleveren als er sprake is van continue quality assurance. Maarten Beks (Haystaq): “We vinden problemen eerder en kunnen ze ook sneller oplossen.” Martin Deiman (Testwerk) ziet hierin een kans om te leren en spreekt zijn hoop uit dat we daardoor bepaalde fouten ook niet meer zullen maken. 

Met het automatiseren van testen verdwijnt repetitief werk: het steeds opnieuw uitvoeren van testgevallen. Testautomatisering is een voorwaarde voor Continuous Integration. De essentie van het testwerk gaat zitten in het almaar opnieuw bepalen wat er nog getest moet worden.  Jurg: “De ontwikkelcyclus verloopt minder planmatig  Het risico beeld verandert sterk naarmate je verder bent in het ontwikkeltraject. Daar moet je met het testen continu op inspelen. Dit vereist overzicht, en vooral adaptiviteit. Dit is een grote verandering in het werk van de tester.” Dat geldt ook voor het werken in agile team. Deiman: “Het goede van Agile werken is dat de lijnen korter zijn, dat we niet meer vertrouwen op papier, dat we vaker met elkaar communiceren, en elkaar steeds beter begrijpen.”

 

Expertise

Naast functionele testen zijn er ook andere testdisciplines die een eigen expertise vragen: usability testing, gebruikers acceptatie testing, security testing, performance testing, testen op robuustheid. 

Testautomatisering brengt nieuwe mogelijkheden en vraagstukken met zich mee die ook weer specialistische kennis vereisen. Neem de best practice om kopieën van productiedata te gebruiken bij het testen. Rik Marselis (Sogeti): “Dat klinkt goed, maar dat is niet zo eenvoudig als het klinkt. Onder de huidige privacywetgeving is er al snel sprake van de noodzaak tot anonimiseren, en dat is ook weer een vak apart. Ook zitten in productiedata alleen ‘goede gevallen’, hoe gaat de software om met slechte gevallen. En hoe om te gaan met de wijzigingen waar nog geen oude data voor was?”

Marco de Vink (Immune-IT) ziet in de wildgroei aan toolgebruik, met alle integratieproblemen van dien, ook een rol voor de tester: “De tester kan met zijn technische kennis over het onderhoud en de configuratie van deze tools zorgdragen voor het optimaliseren van het toollandschap.”

Tester en ontwikkelaar

Een langlopende discussie gaat over de vraag of je om goed te kunnen testen over andere eigenschappen en talenten moet beschikken dan om goed te ontwikkelen. 

De Vink: “Ontwikkelaars zijn geneigd om te kijken naar (hun eigen stukje) code en functionaliteit. Testers kijken met een kritische blik, naar risicoanalyses, integratie en keteneffecten.” Verschelling: “Voor testen moet je een helikopterview hebben, en kijken uit het oogpunt van de gebruiker. Severity van fouten wordt door ontwikkelaars anders ingeschat dan door testers.”

Arthur Jedeloo (docent aan de HvA) signaleert in zijn colleges Software Testing dat de meeste ontwikkelaars het niet leuk vinden om te leren testen. Wil Leeuwis (Rabobank): “Een deel van het testwerk bestaat nu eenmaal uit het systematisch en monotoon opschrijven van verschillende testgevallen. Dit is lastig om leuk te maken voor hoog opgeleid personeel dat zijn uitdaging vooral vindt in het creatief bezig zijn met het oplossen van problemen. Het zou mooi zijn als we dat deel van het testwerk kunnen automatiseren, bijvoorbeeld middels model based testing.”

Marselis stelt dat in ontwikkelteams mensen moeten zitten die bovenmatig veel van testen afweten. “In het Agile en DevOps gedachtengoed maak je full-time deel uit van een team binnen een project. Je blijft experts nodig houden die bij vele teams en projecten ingezet kunnen worden.” 

Daarnaast blijft er behoefte aan de rol van een onafhankelijke derde, die waakt over de kwaliteit. Marselis: “Een opdrachtgever wil graag snel live en zet druk op het ontwikkelteam. Of een ontwikkelteam is van mening dat de code goed genoeg is. In deze situaties is het belangrijk dat een onafhankelijke partij kan vaststellen of de code klaar is om in productie te nemen.”

 

Afsluiting

Testen is een vak geworden, met veel disciplines en een goed gestructureerde body of knowledge (eg. ISTQB, TMap). Technieken en tools maken een sterke ontwikkeling door.

Testen is onderdeel van elke stap van de ontwikkelcyclus. We doen het met zijn allen. Beks: “De kwaliteit van de software is een gedeelde verantwoordelijkheid, de grenzen tussen de rollen vervagen.” Toch zal de tester niet verdwijnen. Daarvoor blijft er behoefte aan experts, onafhankelijk advies, aan een dynamische teststrategie en een spin in het web die weet wat er in hoeverre is getest. De eisen aan een tester veranderen, zij zal strategischer, adaptiever, communicatiever en technischer moeten worden. Beks: “Een moderne tester moet in staat zijn om met een scala van testtools om te gaan en moet daarvoor kunnen programmeren.” 

Jurg met een knipoog: “Het belang van kwaliteit zal in 2025 blijken uit de nieuwe invulling van CTO: Chief Test Officer.”

 

Huidige Editie

Ook een keer De Nederlandse Testdag organiseren? Neem contact op met de stuurgroep.

Wat is De Nederlandse Testdag?

'De Nederlandse Testdag' is een conferentie over alle aspecten van software testen waarbij wetenschap, onderwijs en bedrijfsleven elkaar ontmoeten om nieuwe ideeën en inzichten te delen.

Contactgegevens

Organisatie Testdag 2015: testdag2015@testdag.nl
Website administrator: webmaster@testdag.nl