September 10, 2024

Al jarenlang ligt de focus op end-to-end testing. Maar is de houdbaarheidsdatum van deze testaanpak niet allang verstreken? Kunnen we niet op een snellere, eenvoudigere en meer autonome manier testen?

Al jarenlang ligt de focus op end-to-end testing. Maar is de houdbaarheidsdatum van deze testaanpak niet allang verstreken? Want hoe meer Micro Services er ontwikkeld worden en hoe meer afhankelijkheden er tussen deze services ontstaan, hoe complexer end-to-end testing wordt. Kunnen we niet op een snellere, eenvoudigere en meer autonome manier testen?

Peter Geurtsen van Sogeti en Serghei Pogodin van Rabobank laten zien dat het tijd is voor een paradigmashift: end-to-end testing is ten einde, het is tijd voor een nieuwe testnorm. Hoe moet deze nieuwe testaanpak er dan uitzien? Peter en Serghei vertellen waarom en hoe ze bij de Rabobank end-to-end testing hebben vervangen door hun eigen methode. Vervolgens beantwoorden ze de vraag: hoe moet je de nieuwe testaanpak dan in detail invullen, qua proces en technologische setup?

De barsten in end-to-end
DevOps is de nieuwe standaard in software development. In de huidige agile wereld wordt nieuwe functionaliteit snel in hapklare brokken opgeleverd. Dat vraagt ook direct om het kortcyclisch testen van afgekaderde stukjes functionaliteit. Dat wordt echter steeds lastiger, want de verschillende microservices die je wilt testen, worden door diverse applicaties gebruikt. Al deze services zijn onderling verbonden in één geïntegreerd, allesomvattend netwerk waarin elke kleine wijziging weer impact heeft op andere functionaliteit. Dat maakt end-to-end testing steeds complexer en tijdrovender.

Geen ownership en testdata
DevOps en de toenemende complexiteit van geïntegreerde microservices hebben ook een negatieve invloed op andere testfacetten. Peter legt uit: “Er is steeds minder ownership over applicaties en bijbehorende testing, waardoor er ook steeds vaker geen actuele testdata beschikbaar is. Het gebrek aan ownership leidt bovendien tot een slechte afstemming tussen afdelingen, support teams, tribes en andere betrokkenen. Met als uiteindelijke gevolg dat je als IT-organisatie de controle over testing verliest.”

Hoe krijg je de controle weer terug?
Vaak zie je dat IT-afdelingen het aantal end-to-end testen gaan minimaliseren. Als dat niet het gewenste effect heeft, kijken ze of ze op een andere manier kunnen gaan testen. Bijvoorbeeld door zowel een ‘shift right’ als een ‘shift left’ te maken. In dat geval gaan ze eerder in de development-keten testen en later in de keten monitoren. “Op zich een goede oplossing, door naar rechts en links te bewegen, maar hiermee behoud je nog steeds de end-to-end test. Wij gaan een stap verder door de end-to-end test volledig te verwijderen.”

end to end testen

De nieuwe manier van testen 
Het mag duidelijk zijn: end-to-end testing is niet langer geschikt voor de huidige testuitdagingen. Maar hoe moet je dan wel testen? “Autonomie moet centraal staan”, zegt Peter. “Teams moeten zelf kunnen bepalen wat ze, wanneer testen. Zo kun je als organisatie ook sneller nieuwe software releasen. Leg daarbij de focus op Contract Based Testing, dit moet een centraal onderdeel in het testproces vormen. Andere onderdelen zoals end-to-end testing en system integration testing kun je weglaten.” In hun QX Day-presentatie visualiseren Peter en Serghei hun nieuwe testaanpak in verschillende levels van een testpiramide. 

De voordelen?
De nieuwe manier van testen zoals Peter en Serghei die bij Rabobank hebben gerealiseerd, heeft verschillende business- en IT-voordelen. Geurtsen “Je creëert autonome, stabiele systemen. Dat is een van de belangrijke pluspunten. Daarnaast ben je in staat om kleinschalig, lokaal te testen. Daardoor kan je issues al in een vroeg stadium identificeren en oplossen. Een ander groot voordeel is de tijdswinst: je hoeft al die end-to-end testen niet meer uit te voeren. En daarmee win je soms wel weken, weet ik uit ervaring.”

Wat betekent de nieuwe testmethode voor het testproces en voor de technologische setup? In hun QX Day-presentatie gaan Peter en Serghei daar dieper op in. Daarin behandelen ze vragen als: hoe richt je het testproces in met Behavioral Driven Development en Test Driven Development? Waar in dit proces doe je de user tests en acceptance tests? En hoe gebruik je stubs om testen te versnellen?

Meer weten?
Meer weten over alternatieven voor end-to-end testing? Neem contact op met
Peter Geurtsen(externe link) | LinkedIn(externe link)
Serghei Pogodin | LinkedIn(externe link)

Marco
Marco van Winsen

Head of Quality Engineering & Testing