Computable.nl
  • Thema’s
    • Carrière
    • Innovatie & Transformatie
    • Cloud & Infrastructuur
    • Data & AI
    • Governance & Privacy
    • Security & Awareness
    • Software & Development
    • Werkplek & Beheer
  • Sectoren
    • Channel
    • Financiële dienstverlening
    • Logistiek
    • Onderwijs
    • Overheid
    • Zorg
  • Computable Awards
    • Overzicht
    • Nieuws
    • Winnaars
    • Partner worden
  • Vacatures
    • Vacatures bekijken
    • Vacatures plaatsen
  • Bedrijven
    • Profielen
    • Producten & Diensten
  • Kennisbank
  • Nieuwsbrief
Software testing

Dataverwerking: batch of streaming

03 november 2017 - 07:495 minuten leestijdOpinieData & AI
Xander Damen en Rein Hochstenbach
Xander Damen en Rein Hochstenbach

In deze blog bekijken en vergelijken we de verschillende aspecten uit de twee verschillende werelden in dataland. Wat zijn de verschillen? En hoe ga je daar mee om in je testaanpak? Eerst kijken we de manier waarop de data kunnen worden verwerkt: als batch of streaming. En hoe test je beide manieren van dataverwerking?

Bij batch data verwerking, tegenwoordig vaak aangeduid als extract transform load (etl), worden data op een traditionele manier verwerkt: gegevens worden verzameld en daarna als batch volgens een vast proces verwerkt. Vanaf de eerste computersystemen in de jaren vijftig en zestig is dit de manier van verwerken geweest. Tegenwoordig wint streaming data echter terrein. Bij streaming data verwerking worden gegevens niet verzameld, maar verwerkt op het moment van ontstaan (realtime). Er is hierbij dus niet één moment en proces van verwerking. Dit vergt dan ook een andere testaanpak. Wat zijn de verschillen in testaanpak en waardoor ontstaan deze?

Het testen van een batchverwerking

Stel dat bij een bank na afsluiting van een boekingsdag alle transacties vanuit het transactiesysteem worden verzameld en doorgestuurd naar een ander systeem om deze transacties te verwerken. Laten we er voor dit voorbeeld vanuit gaan dat het een eenvoudige (batch)verwerking is, waarbij data verzameld en zonder bewerking doorgestuurd worden om uiteindelijk te worden geladen in een datawarehouse. Extract-load, zonder transform dus. Maar er zijn natuurlijk ook complexere batchverwerkingen denkbaar, waarbij grote hoeveelheden data verzameld, geïntegreerd en bewerkt worden, om vervolgens geaggregeerd en opgeslagen te worden.

De testaanpak bij deze batch georiënteerde systemen is meestal grotendeels identiek, maar kan erg complex zijn; als er bijvoorbeeld historische opslag van de transacties plaatsvindt en de batchverwerking met meerdere tijdslijnen dient om te gaan. Gegeven blijft dat je een uitgangssituatie kunt definiëren, waarna een proces plaatsvindt en een uitkomst gecontroleerd kan worden.

In het algemeen kan je stellen dat batch georiënteerde systemen een proces met een kop en een staart kennen. Die kop en die staart zijn ideale ankerpunten om je testen op in te richten. Aan de kop zet je testdata klaar, je start de verwerking en na de verwerking controleer je de uitvoer van het proces. In dit concrete voorbeeld kan je er bijvoorbeeld voor kiezen om een X-aantal transacties in het bronsysteem klaar te zetten. Na het draaien van de batchverwerking dienen alle transacties geladen te zijn in het datawarehouse.

Het testen van streaming data verwerking

Bij streaming data verwerking is er zoals gezegd niet één moment en proces van verwerking, omdat data niet verzameld worden, maar verwerkt op het moment van ontstaan. In bovenstaand voorbeeld van het transactiesysteem bij een bank spaart het systeem bij streaming verwerking de transacties niet op tot het einde van de boekingsdag, maar verstuurt deze meteen op het moment van ontstaan voor verwerking naar het datawarehouse. Elke keer worden individuele transacties dus verstuurd en verwerkt, geaggregeerd met de bestaande data en opgeslagen.

Over het algemeen zijn deze verwerkingsprocessen minder complex, omdat geen grote hoeveelheden data met elkaar gecombineerd, geïntegreerd en geaggregeerd worden. Het systeem verwerkt transactie voor transactie en dat is daarmee overzichtelijker. Nadeel is dat deze processen geen kop en geen staart hebben, omdat verwerking op het moment van het ontstaan van de data al start. Met andere woorden, de kraan staat continu open.

Dit vergt dan ook een andere testaanpak. Je kunt testdata de pijplijn in stoppen, maar er is geen start en einde van het verwerkingsproces waar je een signaal van ontvangt dat de data verwerkt is. Dit start- en eindpunt ontbreekt omdat het verwerkingsproces, in tegenstelling tot batchverwerking, dus continue draait. Je hebt daardoor geen goede ankerpunten om je testen op in te richten.

Wanneer kun je de controle van de verwerking beginnen? De complexiteit bij de testaanpak ligt daarmee op een ander vlak dan bij batchverwerking. Waar je bij batchverwerking de uitdagingen in de testaanpak liggen in het testen van verschillende tijdslijnen of historische opslag van de gegevens, liggen deze uitdagingen voor het testen van een streaming data onder andere in de timing. Een oplossing hiervoor is het inbouwen van wachttijden in je testautomatisering, maar iedereen met enige ervaring in testautomatisering, bijvoorbeeld bij het testen van webpagina’s, weet dat dat eigenlijk een doodzonde is.

Een andere mogelijkheid is je testautomatisering afhankelijk te maken van de status van het proces. Zo zijn er bij streaming processen wachtrijen (als er veel wordt aangeboden, moeten de data geparkeerd worden als het verwerken niet meteen kan plaatsvinden) die je kunt uitvragen. Zijn alle wachtrijen leeg, dan zouden alle data verwerkt moeten zijn en kun je je eindstatus van het proces controleren. Dit kun je inbouwen in je testscript, maar je zou ook testbaarheid in je systeem kunnen inbouwen, door afhankelijk van de omgeving waarop het proces draait (testomgeving of productieomgeving) eventueel een testscript te starten bij het event dat de wachtrij leeg raakt.

De tester en streaming data

Een testspecialist kan in een batch georiënteerde wereld prima uit de voeten met de voor hem of haar bekende werkwijze. Deze is namelijk niet anders dan het testen van een ander informatiesysteem. Het gaat dan om testdata klaarzetten, actie uitvoeren en controles uitvoeren. In een landschap met streaming data moet de tester echter uit een ander vaatje tappen. Door constante verwerking is onder andere timing een issue. De bekende valkuilen van testautomatisering komen hierbij om de hoek kijken.

In onze volgende blog gaan we verder inzoomen op een andere dimensie voor testers in een data-logistieke wereld: gestructureerde en ongestructureerde data.

Xander Damen en Rein Hochstenbach, test consultants bij Bartosz ICT

Meer over

Testing

Deel

    Inschrijven nieuwsbrief Computable

    Door te klikken op inschrijven geef je toestemming aan Jaarbeurs B.V. om je naam en e-mailadres te verwerken voor het verzenden van een of meer mailings namens Computable. Je kunt je toestemming te allen tijde intrekken via de af­meld­func­tie in de nieuwsbrief.
    Wil je weten hoe Jaarbeurs B.V. omgaat met jouw per­soons­ge­ge­vens? Klik dan hier voor ons privacy statement.

    Whitepapers

    Computable.nl

    De weg van dataverzameling naar impact

    Iedere organisatie heeft data, maar niet iedereen weet hoe je het goed gebruikt. Hoe zet je waardevolle informatie om in actie?

    Computable.nl

    In detail: succesvolle AI-implementaties

    Het implementeren van kunstmatige intelligentie (AI) biedt enorme kansen, maar roept ook vragen op. Deze paper beschrijft hoe je als (middel)grote organisatie klein kunt starten met AI en gaandeweg kunnen opschalen.

    Computable.nl

    Maak kennis met digitale identiteiten

    De digitale economie groeit snel en de EU heeft strikte regelgeving ingevoerd om de veiligheid en privacy te waarborgen; in deze whitepaper ontdek je hoe digitale identiteiten deze transitie ondersteunen en wat dit voor jouw organisatie betekent.

    Meer lezen

    AchtergrondSecurity & Awareness

    ‘Testen software lastiger dan ontwikkelen software’

    Software testing
    OpinieSoftware & Development

    Testen: verschuiving naar hard skills terecht?

    OpinieSoftware & Development

    Pakketsoftware testen, hoe standaard is standaard?

    Geef een reactie Reactie annuleren

    Je moet ingelogd zijn op om een reactie te plaatsen.

    Populaire berichten

    Meer artikelen

    Footer

    Direct naar

    • Carrièretests
    • Kennisbank
    • Planning
    • Computable Awards
    • Magazine
    • Abonneren Magazine
    • Cybersec e-Magazine

    Producten

    • Adverteren en meer…
    • Jouw Producten en Bedrijfsprofiel
    • Whitepapers & Leads
    • Vacatures & Employer Branding
    • Persberichten

    Contact

    • Colofon
    • Computable en de AVG
    • Service & contact
    • Inschrijven nieuwsbrief
    • Inlog

    Social

    • Facebook
    • X
    • LinkedIn
    • YouTube
    • Instagram
    © 2025 Jaarbeurs
    • Disclaimer
    • Gebruikersvoorwaarden
    • Privacy statement
    Computable.nl is een product van Jaarbeurs