Algemeen

Testgedreven ontwikkeling, wat is dat?

Bas Alderding

Wanneer je begint met het werken met (nieuwe) software, is duurzaamheid een belangrijke factor. Software kan tenslotte een aanzienlijke investering zijn. Een manier om deze duurzaamheid te waarborgen is om test-gedreven ontwikkeling te gebruiken. In deze blogpost leggen we uit wat het is, wat de voordelen zijn en waarom het van grote waarde is voor je aangepaste softwarepakket.

Wat is testgedreven ontwikkeling?

Testgedreven ontwikkeling (TDD) is een manier van coderen. Met TDD schrijven ontwikkelaars eerst tests voor hun code voordat ze de eigenlijke code schrijven. Het proces wordt uitgevoerd in korte cycli van maximaal een paar uur. Een cyclus begint met het schrijven van een codetest. Elke cyclus valt samen met de implementatie van een kleine functie, een softwarefunctie. Het idee is om net niet genoeg code te schrijven zodat de test met opzet faalt. Het programma waarin de test is geschreven geeft dan suggesties voor verbetering. Vervolgens wordt de code opnieuw aangepast en getest. Het kan zijn dat de functie wel of niet geïmplementeerd wordt.

Een cyclus is klaar op het moment dat de functies perfect werken. Op deze manier test je regelmatig waar je aan werkt en kun je het codeerproces op tijd bijstellen. Zo kun je gemakkelijk fouten uit de software verwijderen voordat deze online gaat. Dus met testgedreven ontwikkeling werk je efficiënter naar foutloze codes toe.

TDD en Spotify

Spotify is een goed voorbeeld van een platform dat draait op TDD. Elke dag heeft Spotify miljoenen gebruikers, die elk op een andere manier gebruikmaken van het muziekplatform. Hier kan veel misgaan. Het gebeurt dat engineers het platform niet volledig samenstellen, wat betekent dat gebruikers niet toegang hebben tot alle codes. Dit betekent dat ze niet naar alle liedjes of podcasts kunnen luisteren. Om deze reden moet Spotify constant onderhouden en verbeterd worden. Testgedreven ontwikkeling maakt dit mogelijk. Fouten worden zo op tijd ontdekt, voordat er een nieuwe versie "live" wordt gezet. Spotify is een soort levend organisme dat voortdurend verandert. Er is daarom niet altijd tijd om handmatig alles door te testen, wat niet kosteneffectief zou 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 naar een deadline toe. Testgedreven ontwikkeling past hier perfect bij. Functies worden in korte cycli toegevoegd of niet toegevoegd aan de software. Achteraf wordt het constant aan tests onderworpen zodat fouten snel opgespoord en hersteld kunnen worden. Daardoor is de kans groter dat de software minder fouten bevat dan wanneer deze op andere manieren gecodeerd of handmatig getest zou worden. Daarom kan de software snel aan de klant worden geleverd. De combinatie van testgedreven ontwikkeling en Scrum zorgt ervoor dat we elke twee weken een volledig werkend stuk software kunnen produceren.

De voordelen van testgedreven ontwikkeling bij SevenLab

  1. In testgedreven ontwikkeling wordt de code geschreven vanuit het gebruikersperspectief. De focus ligt op de toegevoegde waarde die de software of app biedt voor de gebruiker. De functionaliteit van de software wordt dan direct meegenomen. Problemen met de interface van de software worden op tijd opgespoord en gerepareerd. Zo krijg je in een korte tijd bruikbare software.

  2. Bedrijfsanalisten helpen bij elk SevenLab-project. Ze zijn opgeleid in zowel zakelijke als technische gebieden. De bedrijfsanalist kan inschatten welke software nodig is om je bedrijfsproces te verrijken. Hij of zij helpt je je idee te concretiseren en samen bepalen jullie hoe de software of app moet worden gestructureerd.

  3. Omdat de codes geschreven zijn op basis van de tests die eraan voorafgaan, wordt alleen geïmplementeerd wat nodig is. Overbodige functies die niet relevant zijn voor de gebruiker worden direct getest en waar nodig verwijderd. Fouten worden in een zeer vroeg stadium ontdekt. Dit vermindert de softwareontwikkeltijd, ondanks het feit dat er extra code nodig is om de tests te schrijven. Het resultaat is compacte software zonder poespas.

SevenLab is een betrouwbare partner met een sterke klantgerichtheid. Ze denken actief met je mee, zijn enorm behulpzaam en flexibel.

Satish Bahwanidin

Projectleider VO-raad

Bekijk wat we de laatste tijd hebben geschreven

Algemeen

Bas Alderding

API: De digitale voordelen van het koppelen van software

Algemeen

Bas Alderding

De voordelen van een Progressive Web App in één oogopslag

Algemeen

Bas Alderding

Het tijdperk van de Progressive Web App

Algemeen

Bas Alderding

Hoe maak ik een Progressive Web App?

Algemeen

Bas Alderding

API: De digitale voordelen van het koppelen van software

Algemeen

Bas Alderding

De voordelen van een Progressive Web App in één oogopslag

Algemeen

Bas Alderding

API: De digitale voordelen van het koppelen van software

Algemeen

Bas Alderding

De voordelen van een Progressive Web App in één oogopslag

Algemeen

Bas Alderding

API: De digitale voordelen van het koppelen van software

Algemeen

Bas Alderding

De voordelen van een Progressive Web App in één oogopslag

Algemeen

Bas Alderding

Het tijdperk van de Progressive Web App

Klaar om je project met ons te bespreken?

Maak kennis met het SevenLab-team en de oprichters