Ga naar hoofdinhoud

Lesprogramma

1. Testen met Gherkin

Klassikaal bespreken van (goede) stap implementaties en het komen tot zinnige Cucumber Expressions.

Hierbij willen we rekening houden met de natuurlijke taal van de relevante domeinexperts.

fc15f6b5212806567ea43477e29e95ad

PlantUML broncode voor "TDD workflow"
@startuml
!pragma useVerticalIf on
start
label inventarisatie
:1. Schrijf een lijst van alle (test) scenario's die je wil afdekken;
repeat
:2. Verander exact één scenario van de lijst in een actueel, concreet uitvoerbare test;
:3. Verander de code zodat de test (en alle voorgaande testen) slaagt;
if (behoefte aan nieuwe test) then (ga naar stap 2)
goto inventarisatie;
else (nee)

endif
:4. Optioneel refactor om het ontwerp en de implementatie te verbeteren;
repeat while (lijst is leeg) is (ja)
->nee;
stop;
@enduml

Sequentiediagram met 0 deelnemers: .

canon TDD

2. Cucumber reference

We maken gebruik van Gherkin om het gedrag van software in duidelijke termen te beschrijven. Echter, als het gaat om het ontwerpen van testscenario's in Gherkin, kom je vaak situaties tegen waarin je met concrete data wil werken. Voor die situaties kan gebruik worden gemaakt van een aantal technische oplossingen binnen Cucumber. De belangrijkste mogelijkheden daarin zijn data tabellen, "scenario outline", parameters, hooks en achtergrond stappen. Cucumber heeft een referentie pagina waar de syntax van al deze mogelijkheden nader staat beschreven.

Hier zoomen we op in, oefenen met de mogelijkheden en onderzoeken wanneer deze te gebruiken zijn voor effectieve en onderhoudbare test scenarios.

Data Table vs Scenario Outline

3. API testen met Gherkin

Het geautomatiseerd testen van een (Spring Boot) back-end met (REST) API heeft wat aanvullende uitdagingen. Zie hiervoor de optionele sectie (geen toetsstof) over het testen van een API Spring Boot applicatie.

4. UI testen met Gherkin

Het geautomatiseerd testen van een (React) front-end met UI-elementen heeft wat aanvullende uitdagingen. Zie hiervoor de optionele sectie (geen toetsstof) over het testen van een React applicatie.

5. De weekcasus specificatie executeerbaar maken

Alle kennis die je deze week hebt opgedaan kan nu ingezet worden om een onderhoudbare executeerbare specificatie op te stellen voor de week casus.