De toekomst van testen: De 10 – deel 1

Er wordt veel nagedacht over de toekomst van testen. Welke richting moet het testen gaan? Hoe pakken we de uitdagingen aan die voor ons liggen? Hoe kunnen we daadwerkelijk iets bijdragen aan bedrijfsresultaten? Belangrijke vraagstukken waar al veel mensen over nadenken. Uiteraard denk ik daar ook over na. Al nadenkende kom ik tot een visie die ik presenteer in 10 statements, te weten:

  1. Testers dienen specifiek te zijn opgeleid in testen en kwaliteitszorg op HBO- of academisch niveau.
  2. Testen moeten volledig gebaseerd zijn op herbruikbare testware.
  3. Automatisering en tools moeten zoveel mogelijk worden ingezet. Handmatige expertise wordt ingezet op kennisintensieve onderdelen.
  4. Testen nemen daadwerkelijk een volwassen en volwaardige plaats in, over de gehele voortbrengingsketen.
  5. De resultaten van test zijn voorspelbaar.
  6. Testtechnieken, bestaande of nieuw te ontwikkelen, worden daadwerkelijk gebruikt ter verificatie van productkwaliteit.
  7. Industrie en wetenschap ontwikkelen gezamenlijk oplossingen op structurele basis ten behoeve van de uitdagingen waarvoor we staan.
  8. Business – IT alignment is vormgegeven door inrichting kwaliteitsmonitoring.
  9. Testen is ontdaan van wishful thinking.
  10. Testers zoeken samenwerking met andere vakgebieden.
    Tot zover mijn 10 statements. Het moet niet alleen blijven bij deze 10 statements. Ik wil graag de uitdaging aangaan om de statements daadwerkelijk te gaan invullen zodat het niet bij mooie woorden blijft. Ik daag jullie uit om samen met mij vorm te geven aan deze statements. Wie durft?

Pakketten en testen; een vertragende factor?!

Pakketten en testen. Is dat een logische combinatie? Is het inderdaad een vertragende factor of kan het elkaar juist versterken.

Pakketten kies je om bepaalde redenen. Het gebruik maken van generieke oplossingen of standaarden vanuit de markt, onvoldoende capaciteit om zelf te kunnen ontwikkelen etc. Zo zijn vele redenen te bedenken om te werken met (standaard) pakketten. Een pakket staat niet op zich maar is geïntegreerd in het totale landschap binnen een organisatie. Het pakket vult een onderdeel van de keten in. Daarbij is het natuurlijk van belang dat de keten goed functioneert en er voor zorgt dat de klanten tevreden zijn en blijven.

Zoals bij maatwerk systemen het geval is krijg je ook bij pakketten te maken met updates t.a.v. het pakket of bijvoorbeeld andere wensen t.a.v. de inrichting door bijvoorbeeld veranderende business omstandigheden. Deze wijzigingen moeten gevalideerd worden om te voorkomen dat er allerlei ongewenste neveneffecten gaan ontstaan. De benodigde inspanning kan flink oplopen en heeft wellicht ook een repeterend karakter bij meerdere releases per jaar. Vooral als er (nog) handmatig getest wordt. De benodigde inspanning wordt mede bepaald door de omvang van een regressietest. Uiteraard is deze omvang afhankelijk van de aard van de wijzigingen.

Handmatig testen heeft een grote waarde maar is niet toereikend meer gezien de hoeveelheid updates die beschikbaar zijn, de snelheid waarmee deze geïmplementeerd moeten worden en de tijd die nodig is voor de testuitvoering.

Dan is het toepassen van geautomatiseerd testen een absolute must om het ontwikkeltempo bij te kunnen houden. Zeker gezien als je richting een DevOps situatie gaat bewegen.

Echter, bij de introductie van testautomatisering worden nieuwe uitdagingen geïntroduceerd. Testautomatisering moet herhaalbaar, herbruikbaar en overdraagbaar zijn. Het opvoeren van een bijvoorbeeld een pensioen polis met ingangsdatum vandaag is mooi en de gedefinieerde testgevallen kun je vandaag perfect uitvoeren. Alleen morgen is vandaag niet meer en dan werken je gedefinieerde testgevallen niet meer. Kortom, je testgevallen zijn niet herbruikbaar en herhaalbaar.

Wat kun je er aan doen? De oplossing is voorhanden. Zoals je een informatiesysteem bouwt op basis van een architectuur moet je testautomatisering ook opzetten onder architectuur. We noemen dat testautomatiserings-architectuur waarmee je o.a. herbruikbaarheid en herhaalbaarheid van je geautomatiseerde testen bereikt.

Door deze aanpak kun je snel en gedegen een wijziging, fix, release etc. valideren waarmee de doorlooptijd van de test en daardoor de doorlooptijd van een release aanzienlijk kunt verkorten. Je bereikt dan de situatie dat testen geen vertragende factor meer is maar een katalysator om wijzigingen snel in productie te kunnen zetten.

Wil je meer weten over het opzetten van een toekomstvaste testautomatiserings-architectuur? Kijk dan in het boek: testautomatisering wendbaar organiseren of de website https://mailchi.mp/a6bc6ba0b694/testautomatisering.

Heb je naar aanleiding van dit artikel vragen?

Heb je een vraag of wil je met ons sparren? Neem gerust contact op met Martijn. Hij denkt graag met je mee!