Testers, hoefsmeden van de toekomst!
- Peter van Tulder
- 13 nov 2015
- 7 minuten om te lezen
Een keynotespreker die, op een congres voor softwaretesters, afsluit met een betoog getiteld: “Het einde van het beroep van tester: wat Agile, DevOps en Scrum betekenen voor het testvak”. Je moet het maar durven! Rini van Solingen, hoogleraar global software engineering en Chief Technology Officer bij Prowareness deed het en maakte met zijn prikkelende karikatuur van het testvak de tongen los.
Rini van Solingen is één van Nederlands meest toonaangevende Agile coaches. Hij is van mening dat stromingen als Scrum, DevOps, Continuous Integration en Continuous Delivery leiden tot de ondergang van het testvak zoals we dat nu kennen. Hij benadrukt dat het belang van kwaliteitscontrole met de omvang en complexiteit van informatietechnologie verder toeneemt. Hij benadrukt echter ook dat, precies om die reden, kwaliteitscontrole niet beperkt mag blijven tot een selecte groep IT’ers, maar belegd moet worden in multidisciplinaire teams die elk met eigen specialiteit en focus kijken naar het opgeleverde systeem.
Rini voorziet een toekomst waarin ontwikkelaar en tester samensmelten tot één nieuw soort: de software engineer. Elke software engineer, die per definitie kan programmeren, heeft een of meerdere specialismen. Dat kan bijvoorbeeld Java of DotNet zijn, maar ook testen. Alleen dan kan hij door testautomatisering de benodigde snelheid in het testen realiseren.
Tijdens zijn betoog vroeg Rini alle testers die alleen handmatig testen om hun vinger op te steken. Hij sprak de paarhonderd opgestoken vingers toe met de woorden: “Jullie zijn de hoefsmeden van de toekomst. Je zult nooit helemaal verdwijnen, er zal altijd nog wel ergens eens een paard beslagen moeten worden. Maar het merendeel van u kan maar beter gaan rondkijken naar ander werk”. U kunt zich enige beroering in de zaal voorstellen.
De kern van het betoog van Rini is opgebouwd rond de volgende argumentatie:
Belang van testautomatisering neemt toe. Ontwikkelingen als Agile & DevOps zorgen ervoor dat er sneller, in kortere iteraties en vaker getest en hertest moet worden. Dat kan niet met de hand, daarvoor is testautomatisering onontbeerlijk.
Een slager kan wel degelijk zijn eigen vlees keuren! Developers zullen in toenemende mate zelf testen, ontwikkelde systemen worden steeds meer testgedreven gerealiseerd.
Testen moet sneller. Belang van ‘Time to market’ verkort de beschikbare testtijd, terwijl het belang van kwaliteitscontrole verder toeneemt. De behoefte is dus niet om minder, maar om efficiënter te testen.
Testen: iedereen kan het, is het ooit wel een vak geweest? Een tester wordt in een paar weken klaargestoomd en vervolgens losgelaten bij een klant. Datgene wat je in vier weken kunt leren, is geen vakgebied, dat is een kunstje.
Er is een fundamentele omslag gaande in de wijze waarop de informatietechnologie omgaat met realiseren, opleveren en beheren van software. Daarin is steeds minder plaats voor testers.
Duizend gebruikers testen beter dan twintig testers: waarom investeren in betaalde testers vóór je livegang, wanneer je gebruikers dat gratis, beter en sneller kunnen doen ná de livegang? Applicatieontwikkelaars kiezen in toenemende mate voor betatesten.
Testen is een competentie die we niet enkel aan testers kunnen overlaten. Iedereen in het realisatieproces heeft een gezamenlijk belang in kwaliteit en kan vanuit zijn eigen discipline daar een toevoeging aan leveren.
Tijdens de afsluitende borrel tonen toehoorders zich opgewonden, beledigd, verrast, ongerust, geamuseerd, enthousiast, verontwaardigd, getriggerd en gewaarschuwd. Maar in alle gevallen blijkt Rini de buzz van de dag. En ik? Ik vond het een super betoog: eenvoudig, rechtlijnig, vermakelijk en zeer sterk opgebouwd. Ik heb bovendien in dichterlijke vorm van overdrijving diverse (kernen van) waarheden gehoord. Dat testers worstelen met Agile methoden beschreef ik al in mijn artikel ‘Agile testers op zoek naar vaste grond’ in Computable van oktober 2012. Tegelijkertijd denk ik dat de presentatie van Rini een aantal zaken generaliseert die genuanceerder liggen. Ik geef graag mijn eigen opvatting bij de zeven kernpunten:
Belang van testautomatisering neemt toe.
Hier kunnen we volgens mij niet omheen. Binnen Bartosz signaleren we al een paar jaar de onmiskenbaar toenemende vraag naar technisch geëquipeerde testers, en daarom geven we onze testers een gedegen technische basis mee. Testautomatiseringstools, licentiebasis en open source, worden wezenlijk onderdeel van de testopleiding en het test-cv. Mijn nuance: In zijn betoog gaat Rini voorbij aan het feit dat ook testautomatiseringstools steeds toegankelijker worden voor mensen die niet kunnen programmeren. Zijn dat nu nog vooral record en playbacktoepassingen, in de toekomst verwacht ik dat tools algemeen bedienbaar worden door gebruikers zonder programmeerkennis. Ter voorbeeld: twintig jaar geleden kon je enkel een website bouwen als je vloeiend binair kon lezen en schrijven. Nu kan iedere krentenbol in één avond zijn eigen website creëren met drag & drop-achtige tools. Een vergelijkbare ontwikkeling verwacht ik in de testautomatiseringstooling.
Een slager kan wel degelijk objectief zijn eigen vlees keuren.
Dat ‘ie het kán wil niet zeggen dat ‘ie het doet, omdat zijn belang verschilt. Vraag maar aan Volkswagen. Een stroming als test driven development bestaat al sinds 2003 en is nog steeds niet de heersende norm. Uiteindelijk wil een developer liever creëren dan controleren. De omslag, voor zover deze doorzet, gaat in ieder geval niet binnen een paar jaar gerealiseerd zijn.
Testen moet sneller.
Yes please! Elke succesvolle manier om testen te versnellen kan alleen maar worden toegejuicht. De nuances:
het belang is voor de ene branche groter dan voor de andere. Voor organisaties die innoveren, online verkoopkanalen gebruiken en nieuwe producten aanbieden zijn stromingen als Agile perfecte middelen om de snelheid te verhogen. Als je IT ondersteunend en naar binnen gericht is, is die noodzaak doorgaans lager.
Geautomatiseerde testuitvoering scheelt, indien goed opgezet, tijd. Het opzetten van een geautomatiseerde test is in de meeste gevallen echter tijdrovender dan van handmatige tests. In alle gevallen geldt dat goed moet worden gekeken naar de return on investment. Die is niet vanzelfsprekend! Dat kan overigens, ten gunste van geautomatiseerd testen, veranderen naar mate geautomatiseerde testtooling eenvoudiger en gebruiksvriendelijker wordt.
De doorlooptijd van een testtraject is in de praktijk vaak een symbiose tussen de tijd voor het vinden van fouten en de tijd voor het oplossen van fouten. Geautomatiseerd testen gaat dat laatste niet versnellen.
Testen: iedereen kan het.
Prachtig prikkelend, maar gelukkig schromelijk overdreven. Ik ben het zeer met Rini eens dat de training van een tester in geen verhouding staat tot die van een programmeur. Maar het is niet de training die de tester tot een vakman maakt, het zijn de vlieguren in de praktijk, in combinatie met een keur aan analytische en communicatieve eigenschappen. Ik denk dat er diverse getalenteerde vakmensen zijn die nog geen dag opleiding hebben gehad, ik denk dat er collega’s zijn die hun vak zelfs na vier jaar opleiding nog niet zouden verstaan. En eigenlijk maakt dat het testvak juist tot allesbehalve een kunstje.
Er is een fundamentele omslag gaande.
Sinds de eerste ‘home computer’ midden jaren tachtig verscheen buitelen de fundamentele omslagen in informatietechnologie in ijl tempo over elkaar heen en al even zovele jaren leren we daarmee leven. Tien jaar geleden zou de offshoring trend een einde maken aan het testvak, en inmiddels is die trend gekeerd door de behoefte om systemen in-huis te ontwikkelen, zo dicht mogelijk tegen de eigen business-boezem aan. De Agile-trend is daar een van de levende bewijzen van. Daarmee wil ik niet zeggen dat Agile slechts de volgende passant is, maar dat de impact ervan enige nuancering behoeft. De omslag die Rini bedoelt is in sommige branches sterk van toepassing. In andere is deze minder sterk, of minder intrinsiek gemotiveerd. Ik heb diverse projectorganisaties meegemaakt waarin men alleen met Agile experimenteert omdat men heeft vernomen dat ‘het’ dan sneller en goedkoper wordt, maar waarin de noodzaak om na elke iteratie een gebouwd en getest product live te (kunnen) zetten volledig ontbreekt. In dat geval degradeer je Agile van middel naar doel en neemt de kans op succes fors af. Zeker wanneer Agile in de praktijk toch complexer blijkt dan het overboord gooien van alle documentatie, het dagelijks kwartiertje staand vergaderen om negen uur en het plakken van wat gele blaadjes op een whiteboard. Agile is geen walk-in-the-park! Organisaties die niet in staat zijn om Agile tot een succes te maken, kunnen DevOps (grote volwassenheid van onder andere documentatie, releasemanagement, versiebeheer en configuratiemanagement) al helemaal vergeten. De groei naar volwassenheid vraagt tijd én noodzaak.
Duizend gebruikers testen veel beter dan twintig testers
Als snelheid de primaire onderscheidende factor zou zijn, zou ik het hiermee eens zijn. Duizend gebruikers vinden, gesteund door het toeval en de wet van de grote getallen, ongetwijfeld dezelfde fouten die testers vinden, en ongetwijfeld in een korter tijdsbestek. Dat is nuttig binnen klantgerichte branches met grote aantallen eindgebruikers, waar innovatiesnelheid en concurrentiebeheersing belangrijker zijn dan de noodzaak om een kwalitatief hoogstaand product op te leveren. Zeker niet-kritieke fouten kun je prima laten vinden door gebruikers, als gratis testers. Dat dit werkt tonen sectoren als mobile app & gaming, maar ook internet retail aan, waarin kleine foutjes algemeen geaccepteerd zijn, en in dagelijkse bugfix-releases worden weggepoetst. Maak je geen mobiele app, maar realiseer je de software van een hartbewakingspomp dan is deze strategie wat gevaarlijker. Persoonlijk verkies ik in dat geval 20 gefaalde testcases vóór de livegang, boven 1000 doden erna. En ook voor de app-branche geldt een nuance: wanneer gebruikers je product zo schrijnend slecht vinden dat ze deze massaal met één ster waarderen, dan zullen nieuwe gebruikers je product massaal links laten liggen. Dan heb je wellicht duizend betere testers, maar niet duizend betere ambassadeurs.
Testen is een competentie die we niet enkel aan testers kunnen overlaten.
Daarmee ben ik het weer roerend eens! Dat geldt niet enkel voor multidisciplinaire teams binnen Agile, maar wat mij betreft in de meeste brede zin. Niemand mag het alleenrecht op kwalteitscontrole claimen. Daarom werken moderne testers in toenemende mate in nauwe afstemming met ontwikkelaars, designers, eindgebruikers, functioneel en technisch beheerders, product-owners in multidisciplinaire teams. Daar geloof ik in, overigens ook buiten een Agile setting.
Naar mijn mening heeft Rini de bijna 700 bezoekers op TestNet een fantastische spiegel voorgezet. Elke tester moet, net als elke vakman overigens, kritisch naar de eigen competenties kijken en vaststellen of die voldoende toekomstbestendig zijn. En ook ik reed ‘s avonds, mijmerend, naar huis. Maar volgens mij is mijn einde nog niet in zicht, en met een waakzame blik op de trends en de toekomst voer ik mijn vak nog zeker een aantal jaren uit… denk ik.
Comments