De Moderne Tester

Al langere tijd praten we, als test community, over de wijzigende rol van de tester. Van klassiek waterval naar het schaap met de 5 poten die de modernste technieken beheerst, technisch onderlegt is, communicatief vaardig is en op meerdere niveaus kan schakelen.

De gereedschapskist van de tester moet steeds verder gevuld zijn om aan alle eisen te kunnen blijven voldoen. Je ziet ook wel de termen T-shape of M-shape gebruikt worden om aan te geven dat een tester van veel onderwerpen kennis heeft waarvan enkele diepgaand. Het valt hierbij op dat het vooral over kennis gaat.

Wij praten liever over de moderne tester, anno 2020. In onze ogen bevat de moderne tester een aantal kenmerken en wel:

Trots

De Moderne Tester staat voor zijn/haar vakmanschap. Is in het bezit van een gereedschapskist waarmee hij elke testklus kan klaren. Dit loopt van het kennen en kunnen toepassen op het juiste moment van alle soorten testtypen, testtechnieken tot het kunnen schrijven van use cases en het kunnen plannen van alle test activiteiten. De moderne tester is trots op de waarde die hij/zij toevoegt.

Onbevreesd

De Moderne Tester is een kameleon. Is in staat om vakgebieden aan elkaar te koppelen, te schakelen tussen niveaus en is organisatie sensitief. Weet als geen ander hoe het spel werkt van beïnvloeden, overtuigen en omgaan met weerstand. Is in staat mensen te verbinden en samen te werken waardoor het team in staat is topkwaliteit te leveren. Want samen ben je immers sterk. De moderne tester neemt zijn/haar plaats volledig in binnen een scrumteam en levert 24/7 toegevoegde waarde. Is het kwaliteitsgeweten van het team en weet de kwaliteit te sturen. Ongeacht het niveau en de weerstand blijft de tester de kwaliteitsboodschap uitdragen.

Kundig

De Moderne Tester bezit een stevige set aan basis skills voor testautomatisering. Beheerst één type tool goed en weet dit te vertalen naar andere gelijksoortige tools. Kent de concepten hoe testautomatisering goed en toekomst vast kan worden opgezet. Beter een tool goed in de vingers dan van veel tools iets weten. Weet wanneer en hoe deze tooling in te zetten. Hoeft niet perse het op te kunnen bouwen vanaf scratch maar moet zeker in staat zijn om voort te kunnen borduren op de basis die hij samen met een developer op heeft gezet.

Praten we hier over een schaap met 5 poten? Wij denken van niet. Een ding is zeker, de moderne tester is net een kameleon. Afhankelijk van de omgeving past de moderne tester zich aan, in ons geval in techniek, proces en gedrag. En zorgt ervoor altijd toegevoegde waarde te leveren. Op deze wijze is de moderne tester in staat om altijd de juiste zaken in te brengen. Op het juiste moment afgestemd op de omstandigheden.

Dit is ons beeld van de moderne tester. Herken je dit? Heb je een ander beeld? Laat het ons weten in een reactie.

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!