Test engineering, Testautomatisering, Tooling

Afgelopen Bijtanken bij Bartosz sessie stonden we samen met onze klanten en relaties stil bij het testen van berichtenverkeer. Steeds meer systemen en architecturen zijn namelijk service georiënteerd. Dit betekent een grotere stroom van data tussen de verschillende onderdelen van een applicatie. Een mooie ontwikkeling voor het testvak! Maar wat is de impact van veranderende architectuurstijlen op het testvak precies? Tijdens interactieve kennissessie gaf ik hierop het antwoord. Heb je mijn verhaal gemist? Of wil je het nog eens nalezen? Lees dan deze blog.

Over welke technische basiskennis moet een tester beschikken?

Wil je een goede software tester zijn? Verdiep je dan – buiten het testvak om – in andere vakgebieden. Basiskennis van bijvoorbeeld tooling, scripting of architectuurstijlen is geen overbodige luxe. Tegenwoordig wordt er meer van een tester gevraagd dan 5 jaar geleden. De verschuiving van het testvak richting techniek is wat Martin betreft een positieve ontwikkeling. Het zorgt er namelijk voor dat het werk van de tester uitdagender wordt. Een mooi voorbeeld is het testen van berichtenverkeer. Dit houdt het testen van de stromen tussen onderdelen van een applicatie in. En om deze stromen van data te kunnen testen, heb je als tester kennis nodig van de verschillende architectuurstijlen. Weet jij wat de verschillen zijn tussen een monoliet, SOA en microservices?

Wat zijn de kenmerken van een monoliet?

Dit betreft een applicatie(laag) waarin alle functionaliteiten gebundeld zijn. Er is weinig beheerstroom buiten de applicatie en er zijn weinig onderdelen waar interactiviteit tussen bestaat. Vanuit architectuurperspectief is dit een simpele oplossing met een lage complexiteit. Een monoliet wordt altijd als geheel gedeployed en compleet neergezet. Dit betekent dat teams moeten samenwerken aan één geheel, waarbij tegelijk aan één onderdeel werken problemen kan opleveren. Met alle gevolgen van dien.

Wat zijn de kenmerken van een service oriented architecture?

Bij een service oriented architecture (SOA) zijn de functionaliteiten verdeeld over verschillende onderdelen. Tussen die verschillende onderdelen vindt vervolgens communicatie, oftewel berichtenverkeer, plaats. Denk aan business services van waaruit middels een message bus berichten verstuurd worden naar een volgend onderdeel. Bijvoorbeeld naar enterprise services of application services. Waarbij de message bus dan kan zorgen voor de transformatie en orchestratie van de berichten. De complexiteit van een SOA applicatie ligt binnen de individuele onderdelen. Op testgebied is juist ook de berichtenstroom tussen de verschillende onderdelen interessant. Oftewel: het testen van berichtenverkeer.

Wat zijn de kenmerken van een microservices?

Bij microservices betreft het allemaal mini stukjes architectuur die onafhankelijk van elkaar zijn en slechts over één functionaliteit beschikken. Er wordt geen gebruik gemaakt van gedeelde resources. De verschillende onderdelen staan met elkaar in verbinding en delen hun uitkomsten door berichten heen en weer te sturen. Anders dan bij een monoliet of SOA, is een microservices om de business heen gebouwd. In plaats van dat het de centrale organisatie inneemt. Het grote voordeel is dat een eventuele fout zich geïsoleerd in één bepaald systeem of onderdeel bevindt. Hoewel het opsporen uitdagend kan zijn, is het ‘uit de running’ halen van het stukje functionaliteit en na verbetering opnieuw deployen, een stuk eenvoudiger.

Poll

Met welke architectuurstijl werk jijzelf?

Bekijk resultaten

Wat betekent deze verandering van architectuurstijl voor het testen?

Tot het jaar 2000 werd vooral een monoliet gebruikt: ‘one size fits all’, één applicatie voor ieder. Van 2000 tot 2010 werd er overgegaan naar kleiner geschakelde onderdelen met wat meer specificaties en detail, oftewel de SOA. Vanaf 2010 is de opkomst van microservices begonnen en deze verandering is nu, anno 2019, nog steeds gaande. Wat betekent deze verandering eigenlijk voor het testen?

In het geval van microservices ligt er meer nadruk op ketentesten en is er ruimte voor automatiseren. Waar je voorheen één applicatie als geheel kon testen en deployen, haal je er tegenwoordig bij een architectuurstijl met microservices een klein onderdeel tussenuit. Hier doe je een aanpassing aan en je zet het terug binnen je landschap. Dat betekent dat er meer afhankelijkheid is van de samenwerking tussen de verschillende onderdelen. De nadruk komt te liggen op het testen van de doorstroom tussen de verschillende ketens. Oftewel het testen van berichtenstromen tussen onderdelen.

Wil je ons nieuwste Paarsz magazine per post ontvangen? Laat dan je gegevens achter.

Ontwerp zonder titel (19)

Werken bij Bartosz?

Vincent Verhelst

Geïnteresseerd in Bartosz? Dan ga ik graag met jou in gesprek. We kunnen elkaar ontmoeten met een kop koffie bij ons op kantoor. Of tijdens ontbijt, lunch, borrel of diner op een plek die jou het beste uitkomt. Jij mag het zeggen.

Mijn Paarsz