Test-driven development, wat is het?

Ga je aan de slag met (nieuwe) software, dan is duurzaamheid een grote factor. Software kan immers een flinke investering zijn. Een manier om deze duurzaamheid te garanderen, is het inzetten van test-driven development. In deze blogpost zetten we uiteen wat het is, wat de voordelen ervan zijn en waarom het van grote waarde is voor jouw maatwerk softwarepakket.

Meer weten?

Ga het gesprek aan met Koen!

    Wat is test-driven development?

    Test-driven development (TDD) is een manier van coderen. Met TDD schrijven developers eerst tests van hun codes voordat ze de daadwerkelijke code schrijven. Het proces verloopt in korte cycli van maximaal een paar uur. Een cyclus begint met het schrijven van een code test. Iedere cyclus valt samen met de implementatie van een kleine feature, een software-eigenschap. Het is de bedoeling dat er net niet genoeg code wordt geschreven, zodat de test opzettelijk faalt. Het programma waarin de test wordt geschreven geeft dan suggesties voor verbetering. Vervolgens wordt de code weer aangepast en getest. De feature wordt al dan niet geïmplementeerd.

    Een cyclus is klaar op het moment dat de features perfect werken. Op deze manier test je met regelmaat waar je mee bezig bent en kun je het codeerproces tijdig bijsturen. Eventuele fouten haal je op die manier gemakkelijk uit de software, voordat deze online gaat. Met test-driven development werk je dus efficiënter naar foutloze codes toe.

    TDD en Spotify

    Spotify is een goed voorbeeld van een platform wat draait op TDD. Dagelijks heeft Spotify miljoenen gebruikers, die ieder op een andere manier het muziekplatform benutten. Er kan hier veel fout gaan. Het komt voor dat engineers het platform niet geheel in elkaar zetten waardoor gebruikers niet toegang hebben tot alle codes. Dat betekent dat ze niet alle liedjes of podcasts kunnen beluisteren. Om deze reden is het nodig dat Spotify constant wordt onderhouden en verbeterd. Test-driven development maakt dit mogelijk. Fouten worden zo tijdig opgespoord, voordat er een nieuwe versie “live” wordt gezet. Spotify is een soort levend organisme, dat constant aan verandering onderhevig is. Er is daarom niet altijd tijd om alles handmatig door te testen, dat zou niet kosteneffectief zijn.

    TDD en SevenLab

    Bij SevenLab werken we met Scrum. Scrum kenmerkt zich door korte sprints. In een periode van twee weken werken verschillende teams samen toe naar een deadline. Test-driven development past hier perfect bij. In korte cycli worden features al dan niet toegevoegd aan de software. Daarna wordt deze constant aan tests onderworpen waardoor fouten snel opgespoord en gecorrigeerd kunnen worden. Hierdoor is het waarschijnlijker dat de software minder fouten bevat dan wanneer deze via andere codeermethodes wordt gemaakt of handmatig wordt getest. Om die reden kan de software snel worden opgeleverd aan de klant. De combinatie van test-driven development en Scrum zorgt er dus voor dat we elke twee weken een volledig werkend deel van de software kan maken.

    De voordelen van test-driven development bij SevenLab

    1. Bij test-driven development wordt code geschreven vanuit het oogpunt van de gebruiker. De focus ligt op de meerwaarde die de software of app brengt voor de gebruiker. Er wordt dan meteen rekening gehouden met de functionaliteit van de software. Problemen met de interface van de software worden tijdig gedetecteerd en hersteld. Zo krijg je in korte tijd bruikbare software.
    2. Business analisten helpen bij ieder project van SevenLab. Zowel op bedrijfskundig als op technisch gebied is hij opgeleid. De business analist kan inschatten welke software nodig is om jouw bedrijfsproces te verrijken. Hij helpt je met het concretiseren van je idee en samen bepaal je hoe de software of app in elkaar moet zitten.
    3. Doordat de codes worden geschreven aan de hand van de tests die eraan voorafgaan, wordt alleen dát geïmplementeerd wat nodig is. Eventuele overbodige features die niet relevant zijn voor de gebruiker, worden meteen aan tests onderworpen en, waar nodig, geschrapt. Fouten worden in een zeer vroeg stadium al gedetecteerd. Hierdoor wordt de ontwikkelingstijd van software korter, ondanks dat er extra codes nodig zijn voor het schrijven van de tests. Het resultaat is compacte software zonder poespas.

    Doordat jouw software veelvuldig is getest en gemaakt in samenwerking met een business analist, is de software failproof. Zie je ook mogelijkheden voor jouw bedrijf in test-driven software van SevenLab? Neem dan contact met ons op!