Levensgevaarlijke softwarebug in de elektronische demping van een Volkswagen Scirocco 1.4 TSI. Een willekeurig voorbeeld van gebrekkige softwarekwaliteit. Uit reacties op dit soort gebeurtenissen blijkt één van de oorzaken te liggen in de (gebrekkige) kwaliteit van de it'ers., veroorzaakt door de kwaliteit van de it-opleidingen. Een gedegen informatica opleiding waarbij kwaliteit en softwaretesten een essentieel onderdeel is, is één van de oplossingen.
Een beurshandelaar in de Verenigde Staten verliest binnen een half uur een slordige vijfhonderd miljoen dollar. Een fout in het algoritme van het beurs handelssysteem zorgde ervoor dat aandelen met verlies werden verkocht.
Ook een voorbeeld van software die niet voldeed aan de verwachtingen met vergaande impact. Financiële impact of zelfs het in gevaar brengen van mensenlevens. De voorbeelden zijn overal en makkelijk te vinden.
Probleemstelling
De houding van het bedrijfsleven is ambivalent. Aan de ene kant schreeuwt men om kwalitatief goede software. Daar zijn genoeg redenen voor. Niet alleen de genoemde voorbeelden maar ook toenemende complexiteit in ict, nieuwe ontwikkelmethodieken die eisen dat er aandacht aan software kwaliteit wordt gegeven (Agile). Aan de andere kant zie je een probleem ontstaan op het moment dat het om de kwaliteit van de software gaat. Het toetsen van de kwaliteit op (deel) producten gedurende de ontwikkeling is onvoldoende volwassen. Alles is gericht op het halen van de deadline!
Bijvoorbeeld, het ‘reviewen’ van opgeleverde software gebeurt niet standaard. Dat leidt tot software die niet aan de gestelde eisen voldoet, slecht ontworpen is, gebouwd is door programmeurs die niet goed weten wat er gebouwd moet worden en onvoldoende getest is. Vervolgens zijn we enorme budgetten kwijt om gedurende de productie bugs op te lossen. Of te wel het paard wordt achter de wagen gespannen. Om uit deze impasse te komen is de integratie van het onderwerp kwaliteit en softwaretesten in het ict-onderwijs noodzakelijk.
In het hoger ict-onderwijs is de aandacht voor softwarekwaliteit en testen nog redelijk beperkt. De focus ligt op het ontwerpen en bouwen van softwareproducten waarbij het testen ondergeschikt is. Reden hiervoor is dat de gedachte heerst dat testen niet tastbaar is en geen concrete producten oplevert. Daarnaast is het wijzigen van curricula een lastig en vaak traag proces. Ook de samenwerking met het bedrijfsleven is nog niet intensief genoeg. Ondanks het feit dat diverse partijen aangeven dat samenwerking belangrijk is. Resultante is dat er maar op een minimaal aantal plaatsen in de curricula kennis vanuit het bedrijfsleven geïntegreerd wordt in het onderwijs.
Oorzaak en gevolg
Zoals genoemd ligt de oorzaak van het niet geïntegreerd zijn in het hoger ict-onderwijs van het onderwerp software kwaliteit en testen zowel bij het bedrijfsleven als bij de ict-opleidingen. Resultaat hiervan is dat er in de basis op het gebied van kwaliteit en softwaretesten niets verandert. Failures en onderhoudskosten van software neemt niet af en lijkt zelfs toe te nemen. Ook moet het bedrijfsleven relatief veel investeren in basisvaardigheden bij ict’ers met betrekking tot vaardigheden op het gebied van kwaliteit en testen. Beter zou zijn als dit al binnen het onderwijs wordt afgevangen.
Oplossingsrichting en handvatten
Binnen de vereniging TestNet, een netwerkorganisatie van, voor en door testers, is sinds 2012 een werkgroep actief met als doel te onderzoeken of een academische/hbo-testopleiding in Nederland nodig en gewenst is. De conclusie was al snel getrokken, gezien onder andere de eerder genoemde voorbeelden, dat er meer aandacht aan software testen binnen het onderwijs in Nederland noodzakelijk is. De vraag was lange tijd in welke vorm?
Een volledige vier jarige testopleiding, een specialisatie of een minor? Gekoppeld aan bestaande opleidingen? Waarbij het idee was dat op het moment dat een bepaald onderwerp gedoceerd wordt, de student tegelijkertijd geleerd wordt hoe de kwaliteit van het onderwerp kan worden vastgesteld. Een voorbeeld is het ontwerpen van een use case. Men leert, naast het ontwerpen, gelijk hoe deze use case gevalideerd kan worden.
Uiteindelijk is gekozen voor de laatste vorm; het koppelen van test/kwaliteitsonderwerpen aan bestaande onderwerpen. Een belangrijk argument hiervoor is dat de feedback van studenten was dat testen maar incidenteel behandeld werd gedurende de opleiding. Men had geen weet wat kwaliteit en testen eigenlijk inhield.
De werkgroep, bestaande uit docenten en experts uit het werkveld, heeft het concept van de Bachelor of ICT geadopteerd.
De HBO-I stichting heeft in maart 2014 een nieuwe uitgave gepubliceerd van de ict-domeinbeschrijving, de zogenaamde Bachelor of ICT. Deze domeinbeschrijving dient als functioneel kwalificatiekader voor hogescholen, gericht op de startbekwaamheid van ict-professionals van de toekomst. De Bachelor of ICT is gebaseerd op het European e-Competence Framework 3.0 (e-CF 3.0) en de zogenaamde Software engineering body of knowledge (Swebok). Internationaal erkende standaarden. In deze nieuwe uitgave is extra aandacht besteed aan het onderwerp kwaliteit en testen. Kwaliteit en testen zijn geïntegreerd in alle activiteiten binnen de levenscyclus van software zoals: beheren, analyseren, adviseren, ontwerpen en realiseren, voor alle gedefinieerde architectuurlagen, verspreidt over drie niveaus. De niveaus beschrijven de mate van benodigde kennis voor een bepaalde architectuurlaag binnen een bepaalde stap van de software development life cycle.
Per architectuur laag is bekeken welke test en/of kwaliteitsonderwerpen van belang zijn om te onderwijzen. In de opzet van het curriculum zijn een aantal keuzes gemaakt, te weten:
- Er wordt niet alleen aan testonderwerpen aandacht geschonken maar aan kwaliteit in de breedste zin.
- De relevante onderwerpen worden geaggregeerd weergegeven. Testtechnieken worden gesplitst in bijvoorbeeld statische en dynamische testtechnieken. Niet iedere testtechniek wordt daarbij benoemd.
Het ontwikkelde curriculum wordt ondersteund met een literatuurlijst. Dit helpt docenten verantwoordelijk voor de ontwikkeling van leerstof bij het samenstellen van het onderwijsmateriaal. Het ontwikkelde curriculum is middels verschillende workshops getoetst en gevalideerd.
De grootste uitdaging is echter de implementatie van het ontwikkelde materiaal. En daar komen de verschillende werelden bij elkaar. De HBO-I-stichting, TestNet en de diverse hbo ict-opleidingen. Zoals al eerder genoemd brengt de HBO-I-stichting iedere vier jaar een update van de Bachelor of ICT uit. Parallel aan de activiteiten van TestNet werd door de HBO-I-stichting gewerkt aan de update van de Bachelor of ICT. Het, door de werkgroep, ontwikkelde curriculum is gebruikt om voor het onderwerp kwaliteit en softwaretesten de Bachelor of ICT te updaten. Elementen uit het curriculum zijn overgenomen in de Bachelor of ICT. Ondertussen zijn de eerste resultaten zichtbaar in de diverse curricula onder andere bij Hogeschool Rotterdam, Hogeschool van Amsterdam, Fontys en Avans.
Conclusies en te bereiken voordelen
De kwaliteit van de software is gezien de hoeveelheid (negatieve) voorbeelden nog lang niet op orde. De impact hiervan kan vergaande gevolgen hebben. Financiële (zie rapport Elias), maatschappelijke impact en bovenal impact op (mogelijk) verlies van mensenlevens. Een situatie die steeds nijpender wordt gezien de afhankelijkheid en toenemende complexiteit van ict. Het is wachten op de grote eruptie. Vergelijk het met een vulkaan. Het kan jaren rommelen en roken maar je weet dat de uitbarsting volgt. Gelukkig kunnen we aan de kwaliteit van de software wel iets doen, in tegenstelling tot een vulkaan uitbarsting.
Een van de antwoorden is integraal ict-onderwijs. Ict-onderwijs waarbij kwaliteit en softwaretesten een integraal onderdeel uitmaakt. Met de integratie van test/kwaliteit in het ict-curriculum van het hbo-onderwijs is een eerste, flinke stap gezet, op basis van het werk van de werkgroep TestNet HBO testopleiding. Een eerste stap omdat de opleidingen het nu moeten adopteren, implementeren en gaan doceren. Daarbij is een goede samenwerking tussen bedrijfsleven en onderwijs een absolute must. Enerzijds om kennis te importeren vanuit het bedrijfsleven en anderzijds om feeling te houden met de praktijk van alle dag.
Waar is behoefte aan? We hebben nog een lange weg te gaan en het zal zeker nog vijf jaar duren voordat daadwerkelijk de eerste, kwaliteitsbewuste ict’ers van de opleiding afkomen waarbij het kwaliteitsgen is geïnjecteerd. De eerste hbo-instellingen zijn druk doende om test/kwaliteit op te nemen in hun ict-curriculum. Een prachtige ontwikkeling waar toekomstige generaties de vruchten van kunnen gaan plukken.
Dit artikel is mede tot stand gekomen in samenwerking met Maurice van Haperen docent informatica aan de Avans Hogeschool.
Lijkt mij een fout in de software. Heeft niet zoveel met het testteam te maken. Jammer dat zij de fout niet hebben opgespoord maar nog kwalijker is het feit dat die bug er is in gekomen.
Kwaliteit is zoveel meer dan alleen een testteam en dus kun je ook nooit alleen de schuld van 1 team of 1 persoon.
Software kwaliteit begint bij analyse, code, code review, testen, testreview, betrokkenheid van klant bij wat er gebeurd is in een vroeg stadium, etc, etc, etc.
1 tester opleiden zet GEEN zoden aan de dijk.
De gehele organisatie en de eindklant moeten kwaliteit ademen en denken. Zichtbaarheid, transparantie zijn wel kernwoorden hiervoor.
Het is niet altijd zozeer gebrek aan testers of testkennis, maar soms ook gebrek aan focus / budget.
Testen (afhankelijk van het soort) kan vrij prijzig zijn (een bots-test van de eerder genoemde scirocco is heel wat duurder dan een valproef van een mobiele telefoon bijvoorbeeld).
Ook is testen een makkelijk onderdeel om op te bezuinigen. Als de functionaliteit niet op tijd af is, heb je een onvolledig product. Is de functionaliteit af, maar nog niet alles getest, heb je in ieder geval een product om naar buiten te verschepen; het oplossen van problemen kan altijd nog wel (uiteraard ook weer afhankelijk van het product).
Soms is “being first in the market” belangrijker dan foutvrije software.
Vooral onder druk van marketing (dat product MOET nu geleverd worden voor die en die beurs) worden nog weleens bochten afgesneden en concessies gedaan aan de kwaliteit.
Dit los je helaas niet op met het embedden van testen in een IT opleiding, dit is iets wat tussen de oren van mensen zit.
Wat gaat er mis volgens het artikel : “Houding van het bedrijfsleven” , “Alles is gericht op het halen van de deadline!”
Hoe lossen we het op volgen het artikel : “kwaliteitsbewuste ICT-ers”.
Zo te lezen is de houding van de auteur net zo ambivalent als die van het bedrijfsleven.
Maar als ik het goed begrijp is iedereen de schuld, behalve de “Principal consultant testen 😉
En waarom wordt er weer over de curriculum van de hogescholen gesproken en hoor ik te weinig over de uni’s.
Daarnaast wordt vaak genoeg de kritische = competente tester door de iets minder competente manager overruled.
Maar goed testen is uiteraard een vak.
Als eerste lijkt het me handig om een definitie van kwaliteit te geven, het is namelijk een beetje een suggestief begrip welke vaak onder druk komt te staan van de prijs. Testen gaat tenslotte om risico management waarbij je kijkt naar de kans van optreden en de mate van impact, er zit nu eenmaal een verschil tussen niet werkende remmen versus een kapot achterlichtje. Daarmee kom ik even terug op voorgaande opinies van auteur want niet reageren duidt tenslotte op een euvel in het kwaliteitsmanagement systeem.
Ik ben namelijk een andere mening toegedaan betreffende de conclusies die de tijdelijke ICT-commissie onder bezielende leiding van Ton Elias trok, voldoen aan eisen van ‘requiremensen’ is dus ook een vorm van kwaliteit maar zegt nog niets over de klanttevredenheid. Verder is het prachtig dat over 5 jaar drommen kwaliteitsbewuste ICT-ers op de markt komen maar als uit economische overweging software ontwikkeling – Equihold? – over de schutting gegooid wordt naar lage lonen landen dan blijf je toch met een soort van dubbele bureaucratie zitten.
Om HBO’s wordt iid weinig aandacht gegeven aan test- en kwaliteits onderwerpen. Mijn ervaring is dat je met een HBO informatica opleiding primair opgeleid wordt tot software programmeur. Vaak komt het daar bniet verder dan unittesten schrijven. Op een universitaire opleiding is dit zeker anders. Op de Radboud universiteit zijn een aantal professoren die zich wel degelijk met de kwaliteit van software bezig houden. Jan Tretmans, Frits Vaandrager, deze personen zijn ook zeker bekend bij enkele werknemers van Bartosz, ik zou zeggen Jos; ga een een keer op de RU praten. Ook komen kwaliteitsaspecten van software in diverse vakken terug. Er is ook een vak testtechnieken waar je een aantal jaar geleden je istqb foundation certificaat kon halen.
Ik ervaar de meeste testtrajecten in de praktijk toch vooral als mosterd na de maaltijd. Met name acceptatietests zijn tijd- en kosten verslindend.
Het rendement in relatie tot de software die door planning, deadlines en bestuurlijke belangen in gebruik genomen zal worden weegt hier niet tegen op.
De uiteindelijke opbrengst zal vooral tot evaluatie van organisatieproblemen van een andere orde dan de software leiden. Testrapportages op, of vlak voor implementatie, zijn het momentum voorbij.
Mijn ervaring is eveneens dat de universitaire wereld wel degelijk aandacht heeft voor de toekomst van software testen maar dat de benadering er meer één is van de machine vervangt de mens.
De mogelijkheden tot kwaliteitsverbetering begeven zich niet zo zeer op de competenties van individuele ICT-ers maar eerder te zoeken in het gebrek aan aandacht voor transparantie, leefwerelden, communicatie en samenwerking tussen ontwikkelaars en eindgebruikers. Ketendenken is key. De toekomst van de ICT richt zich meer op informatie verzamelen, koppelen en analyseren dan in complexe ICT structuren.
Het inhuren van dure testconsultants is in mijn optiek een zwaktebod van ouderwetse bestuurders die onvoldoende in staat zijn tijdig ICT trajecten te toetsten en bij te sturen. Men houdt zichzelf dan toch een beetje voor de gek.
De wereld van Big data is er vooral een van samenwerking tussen analisten, communicatiedeskundigen en generieke software oplossingen. Het wiel hoeft niet steeds opnieuw uitgevonden te worden.
De schrijver stelt : “Uit reacties op dit soort gebeurtenissen blijkt één van de oorzaken te liggen in de (gebrekkige) kwaliteit van de it’ers., veroorzaakt door de kwaliteit van de it-opleidingen”.
Dit gaat wel erg kort door de bocht. In is in mijn optiek een drogreden. Verkeerde attributie.
Mijn ervaring is dat er met de kwaliteit van de it’ers in Nederland niks mis is, in tegendeel zelfs. Ook de opleidingen, de TU’s staan globaal hoog aangeschreven.