Kwaliteit was belangrijk, is belangrijk en zal altijd belangrijk blijven. Een open deur die we gebruiken om onze goede intenties ten opzichte van kwaliteit te uiten. Maar hoe we dat concreet maken en handvatten en inhoud geven, blijft een uitdaging, ook binnen de it. Elke ontwikkelmethode of procesmodel dat gekozen wordt, geeft aandacht aan kwaliteit. Een pijler is het testen.
In dit artikel kijken we naar testen en de veranderingen die daar plaatsvinden. Welke stappen kan een organisatie nemen om testen een blijvend relevante plaats te geven en hoe kan een tester anticiperen en bijblijven. Ook al lijkt een tester vaak een onzichtbare held, in dit eerste deel (van in totaal vier artikelen) zal blijken dat hij een cruciale rol vervult in het tijdig en met de juiste kwaliteit opleveren van producten en diensten.
Ontwikkelen van software en it-systemen kan op verschillende manieren misgaan. Niet alles kan door testers voorzien en dus voorkomen worden, maar wel veel.
Een van de dingen die testers vaak horen, is: maar dat gaat toch geen gebruiker doen? Daarmee wordt gesuggereerd dat de tests die we uitvoeren (of willen uitvoeren of voorstellen om uit te voeren) te vergezocht zijn. Toch betekent die opmerking vooral: dat gaat geen gebruiker die ik me kan inbeelden, doen. In de praktijk blijkt dat gebruikers veel onverwachte dingen doen met software. Testers kunnen zich die dingen juist wél goed voorstellen, maar krijgen daarvoor niet altijd de kans, de tijd of het budget.
Hoe waarschijnlijk of onwaarschijnlijk bepaalde scenario’s zijn, heeft voor veel mensen dus invloed op hoe zinnig zij bepaalde tests vinden. Er wordt dan gedacht vanuit de waarschijnlijkheid dat iets misgaat. Risico, zoals testers weten, is echter probability multiplied by impact. Niet alleen hoe waarschijnlijk of juist onwaarschijnlijk een foutscenario is, maar ook de impact die deze fout zal hebben is een overweging voor het wel of niet testen van bepaalde scenario’s. Het leek niet waarschijnlijk dat heel Europa op een dag gedwongen thuis zou werken, maar op het moment dat het gebeurt, is het wel fundamenteel dat remote work tools overeind blijven staan. Hoeveel producenten van dit soort tools zouden voorspeld hebben dat 2020 het jaar van het thuiswerken zou worden?
Een van de meest voorkomende uitdagingen lijkt in de security-hoek te zitten. Kennelijk blijven bedrijven ervan overtuigd dat hun systeem onhackbaar is. Toch komen er geregeld gebruikersgegevens op straat te liggen, met als memorabel voorbeeld het datalek bij ‘vreemdgangers-website’ Ashley Madison in 2015. Ook het schandaal rondom uit iCloud gelekte foto’s (vaak in intieme settings) van enkele beroemdheden mocht er zijn. Security- en pentesters zouden deze lekken hoogstwaarschijnlijk gevonden hebben als erop was ingezet.
Scenario’s denkbaar
Als we de rol van de tester breder, dieper en hoger zien, dus lostrekken van het technische aspect en meer plaatsen in een socio-maatschappelijke context, worden andere software-gerelateerde problemen relevant. Je kunt dan denken aan manieren waarop software onverwachte en/of ongewenste invloed heeft op de samenleving, al dan niet door fouten of bugs in de software. Er zijn vele scenario’s denkbaar waarin de software precies werkt volgens het ontwerp, maar evengoed leidt tot andere resultaten dan waar het ontwerp op aanstuurde.
Een mogelijkheid voor schadelijke gevolgen van software zonder dat er met het product zelf iets mis is, is wat je in één woord zou kunnen omschrijven als abusability, ofwel mogelijkheden voor kwaadwillenden om de software in te zetten voor andere doeleinden dan de ontwikkelaars in gedachten hadden. Facebook is de laatste jaren bijna onafgebroken in opspraak geweest vanwege de manier waarop het platform werd ingezet door zijn gebruikers.
Op kleine schaal heb je het over het plaatsen door derden van foto’s van mensen die hiermee niet akkoord gingen zonder dat het platform een solide mogelijkheid biedt om deze te (laten) verwijderen. Van doxxing tot het publiceren van intieme of gênante foto’s, dit is een manier waarop het platform is te misbruiken zonder dat er een bug aan ten grondslag ligt. Op grotere schaal wordt Facebook ervan beschuldigd buitenlandse inmenging in de Amerikaanse presidentsverkiezingen van 2016 mogelijk te hebben gemaakt en te weinig op te treden tegen onware beweringen van politici en politieke pr-machines op het platform. Ook hier is met de uitvoering van het ontwerp niets misgegaan en toch is dit een resultaat waar de ontwerpers vermoedelijk nooit op zaten te wachten.
In hoeverre is het de verantwoordelijkheid van een tester om deze risico’s al van tevoren te zien en te signaleren? Hoe meer we agile werken, hoe breder onze taak lijkt te worden. In plaats van het product tegen alle vastgelegde voorwaarden te testen, proberen we al eerder in te zetten op de kwaliteit van die eisen zelf: wordt dit een mooi product, heeft de gebruiker hier iets aan, wat hebben we bij het bedenken van voorwaarden over het hoofd gezien? Hoort het vooruitdenken over mogelijke risico’s van misbruik dan ook in ons takenpakket?
Risico blijft dus een uitgangspunt voor testen. Of zou het eigenlijk een bredere insteek moeten hebben?
Auteurs: Bart Knaack, Iris Pinkster, Bilal Sabuncu, Veerle Verhagen, Francis Welbie