In dit tweede gedeelte van het artikel over testen in productie gaan we nader in op de impact van het toepassen van testen in productie op de QA-aanpak, potentiële risico’s, beschrijven we de voor- en nadelen en geven we een praktijkvoorbeeld. We sluiten af met een aantal referenties, waar meer informatie over het onderwerp is te vinden.
De vraag is: Welke risico’s kleven aan het testen in productie? Hier ligt ook een link naar de situaties waarbij je testen in productie niet moet toepassen.
Risico’s die wij onder andere zien zijn:
- Omgang met de nieuwe AVG privacy regels. Vanuit test heb je normaal gesproken geen toegang tot productiedata. Wat is het risico als niet direct betrokkenen toegang krijgen tot deze data. Je zult hier duidelijke afspraken voor moeten maken en maatregelen voor moeten treffen.
- Onvolwassenheid in de test/kwaliteit competentie. Op het moment dat het instrument testen in productie toegepast gaat worden moeten de kwaliteiten in huis zijn om heel goed de impact en gevolgen te kunnen analyseren en dit te kunnen vertalen naar mitigerende maatregelen. Dit stelt hoge eisen aan de professionaliteit van de testers.
- Een ander risico is dat niet alles van te voren is te bedenken. Zeker als je migreert van bijvoorbeeld een oude infrastructuur naar een ‘state of the art’ omgeving waarbij moeilijk inzichtelijk is te maken hoe de IST situatie eruit ziet. Je zult goed moeten nadenken welke maatregelen je kunt treffen om het risico zo klein mogelijk te maken.
- Geen grondige risicoanalyse uitgevoerd aan zowel opdrachtgevers, als opdrachtnemerskant. Het mogelijke effect kan zijn dat er onomkeerbare situaties gaan ontstaan of vanuit een escalatiemodus extra mitigerende maatregelen op het technische, operationele en communicatieve vlak bedacht moeten worden.
- Aantal niet geïdentificeerde stakeholders, waardoor de uitkomsten niet goed zijn te voorspellen, het effect in de keten onduidelijk is, waardoor er moeilijk valt te anticiperen.
Inrichting van de QA-aanpak
Wat is de impact op de testaanpak als je inderdaad ‘testen in productie’ wil gaan toepassen? Heb je een totaal andere QA-aanpak nodig of ga je hier iets extra’s toevoegen?
Wij denken aan het laatste. Testen in productie vervangt absoluut niet de huidige testmethoden. Integendeel zelfs. Het moet eerder gezien worden als complementair op de huidige methoden; een waardevolle aanvulling.
Een aantal accenten moeten sterker worden neergezet met het testen in productie. Deels zijn deze al eerder benoemd.
Los van de ontwikkelmethodiek moet je een zorgvuldige risico analyse uitvoeren met alle stakeholders. Bekijk het van alle kanten en bereken het effect in de keten. Vertaal dit in een testaanpak. Waarin gekeken wordt naar benodigde testomgevingen, testdata, tooling, deelnemende partijen, mitigerende maatregelen, communicatie naar partijen, inrichten rapportage, escalatiekanalen en de keuze van de vorm van testen in productie.
Voorliggende tests succesvol
Voordat je testen in productie als stap gaat uitvoeren, dienen voorliggende tests succesvol te zijn uitgevoerd. Dit los van de gebruikte ontwikkelmethodiek. Hier zal een duidelijk en feitelijk inzicht voor aanwezig moeten zijn. Zeker als je met toeleveranciers te maken hebt moet je met alle partijen op voorhand afspreken hoe je inzicht krijgt in de kwaliteit van het product van de betreffende leverancier en de rol van de leverancier bij het testen in productie.
Een bijzonder aandachtspunt is de omgang met compliance en verantwoording. Indien dit van toepassing is zul je ook hier op voorhand afspraken over moeten maken met betrokken partijen.
Zoals al aangegeven zijn er diverse vormen van testen in productie te onderscheiden zoals weergegeven in onderstaande tabel.
Feedback in productie |
Testen in productie |
Gefaseerde uitrol |
Monitoring |
A/B testing |
Canary release |
Logging |
Beta testing |
Gefaseerde uitrol |
Klant report back |
Testmonitoring |
Dogfooding |
Innovatie centrale |
Schaduw draaien |
In de bijgevoegde literatuurlijst kun je meer lezen over de aard en opzet van dergelijke testvormen. Naast de definitie van een toegesneden testaanpak is het voeren van een regierol bij het testen in productie van belang op meerdere aandachtsgebieden zoals het uitvoeren van de risico/impact analyse, inrichten van de communicatie en escalatiekanalen en het aansturen van alle betrokken partijen en stakeholders.
De ervaring leert dat het toepassen van testen in productie een sterke governance structuur vergt ingevuld door kwaliteitsregie. Welke rol is er weggelegd voor kwaliteitsregie?
Eerder hebben we al aangegeven dat het inzicht op de effecten in de keten van belang is. De kwaliteitsregisseur kan onder andere daarbij ondersteunen om deze effecten inzichtelijk te maken voor de gehele keten. Zowel aan de opdrachtgever als aan de opdrachtnemers kant. Daarbij continu het kwaliteitsaspect en risico denken voor te spiegelen bij alle betrokken partijen. Denk daarbij aan het uitvoeren van risicoanalyses en het (mede) opstellen van mitigerende maatregelen op het technische, operationele en communicatie vlak.
Praktijkvoorbeeld: Innovatiecentrale
De Innovatiecentrale is een experimenteerruimte waar nationale, regionale en lokale wegbeheerders intelligente mobiliteitsoplossingen testen. Op die manier wordt de impact op het verkeer en verkeersmanagement direct zichtbaar. Dat gebeurt in een reallife-omgeving: op een echte weg, op een echt netwerk, in het live verkeer.
Exponentiële groei Smart Mobility
De Innovatiecentrale speelt daarmee in op de exponentiele groei van intelligente transport systemen (ITS) en Smart Mobility: die vraagt om andere implementatie van innovaties. Niet bepaald door R&D agenda’s, maar direct gekoppeld aan én geïntegreerd in de dagelijkse praktijk. Testen en experimenteren is essentieel om de time-to-market van nieuwe toepassingen te verkorten, om daarmee te zorgen voor meer veiligheid, betere doorstroming en minder uitstoot.
Innovatielab en Innovatiedesks
De Innovatiecentrale bestaat uit het Innovatielab en de Innovatiedesks. Het Innovatielab is de kraamkamer van Smart Mobility. Hier worden experimenten uitgedacht en voorbereid. Ook is hier ruimte om te netwerken en te brainstormen, voor serious gaming en het geven van demo’s. Het lab heeft als belangrijkste doel ontmoeting, synergie en kennisdeling tussen marktpartijen, overheden en kennisinstellingen te stimuleren. Op de Innovatiedesks kunnen partijen hun intelligente mobiliteitsoplossingen beproeven en verder ontwikkelen. Daarbij wordt onder andere gebruik gemaakt van de faciliteiten van de verkeerscentrale van Zuid-Nederland van Rijkswaterstaat – niet alleen technisch zoals benodigde datakoppelingen of de aansluiting van het volledige Nederlandse wegennet, maar ook de expertise van wegverkeersleiders en verkeerskundigen.
Toepassing van Innovatiecentrale: Het gouden regelen
Op een kruising hoeft er, door intelligente Verkeerregelinstallaties (iVRI’s), minder vaak te worden gestopt voor een verkeerslicht, zijn er minder wachttijden en gaat er minder (reis) tijd verloren. In noodsituaties kunnen hulpdiensten met een druk op de knop ervoor zorgen dat het kruispunt voor een vrije doorgang zorgt.
Achter een tekentafel en een computer kun je dit prima bedenken en berekenen, maar de praktijk is vaak weerbarstiger: verkeer is mensenwerk en daarmee onvoorspelbaar. Om dit risico af te dekken wordt een kruispunt als testlocatie genomen, waarbij het toezicht op de kruising maximaal is. Alle relevante stakeholders, zoal wegverkeersleiders, hulpdiensten, gemeente, provincie, maar ook de technici zijn betrokken en nemen indien nodig een actieve rol. Zij maken samen een risico analyse en bepalen samen de benodigde mitigerende maatregelen.
Voor- en nadelen van testen in productie
Het testen in productie heeft een aantal voordelen en mogelijke nadelen. Deze hebben we in onderstaande tabel verzameld.
Voordelen |
Nadelen |
Extra garantie voor massaal gebruik |
Onvoldoende inzicht in de impact op de keten |
Inzicht op mogelijke impact van gemaakte keuzen |
Het risico op het optreden van onomkeerbare situaties |
Gecontroleerde opbouw |
Het kunnen optreden van imagoschade mocht het resultaat anders zijn als verwacht |
Snelle feedback loop |
Conclusies en aanbevelingen
In dit artikel hebben we uitgebreid stil gestaan bij het testen in productie. Wat het is, de randvoorwaarden, mogelijke toepassingsgebieden, eventuele risico’s, die het testen in productie met zich mee kunnen brengen en de impact op de QA-aanpak.
De conclusie is dat testen in productie een waardevolle bijdrage kan leveren om producten live te brengen. Echter, bezint eer ge begint. Denk op voorhand goed na over de mogelijke risico’s, hoe ziet de keten eruit en wie spelen allemaal een rol. Hoe daarmee om te gaan en wat er allemaal geregeld moet worden om testen in productie succesvol te maken.
Tot slot: Testen in productie vraagt een goede regie en duidelijke governance-structuur.
Referenties
Wil je meer weten over dit onderwerp, dan is onder andere de volgende literatuur beschikbaar:
https://circleci.com/resources/testing-in-production/
https://www.tricentis.com/enterprise-continuous-testing-book/
https://leanpub.com/testingindevops
https://leanpub.com/agiletesting-condensed
https://leanpub.com/testingindevops
https://medium.com/@copyconstruct/testing-in-production-the-safe-way-18ca102d0ef1
https://opensource.com/article/19/5/dont-test-production
https://www.infoq.com/presentations/testing-production-2018/
https://slideplayer.com/slide/3826974/
Innovatiecenter (2016): https://www.youtube.com/watch?v=0N-WHLrNNlA