Agile testen: Testen is geen fase!

Eerst testen, dan doen                                                   

Testen is niet langer een afgezonderde ontwikkelfase. In de huidige, Agile manier van werken worden allerhande testactiviteiten gedurende het gehele ontwikkeltraject uitgevoerd. Sterker nog, het begint vaak met testen. Het schrijven van code is, volgens methoden als Test-driven development (TDD) en Behaviour-driven development (BDD), bijvoorbeeld steeds vaker gebaseerd op testgevallen die vanuit een zogenaamde use case zijn opgesteld (de use case beschrijft het gedrag van een systeem naar aanleiding van een verzoek van een gebruiker). Deze verwevenheid van testen door het Agile ontwikkelproces zien we onder meer terug in het wijzigende profiel van de moderne (Agile) test professional als de wijze waarop er (geautomatiseerd en in de tooling geïntegreerd) getest wordt.

Daar komt techniek om de hoek kijken

Bij Agile softwareontwikkeling is continu behoefte aan inzicht in de kwaliteit van de opgeleverde software. Testen worden daarom bij voorkeur geautomatiseerd uitgevoerd. Om dat op een efficiënte manier te kunnen doen, is het voor de tester belangrijk om bij de programmeurs aan te kunnen geven hoe de testbaarheid van de code verhoogd kan worden. In een Agile ontwikkelteam kom je als test professional dus meer en meer in aanraking met de technische aspecten (lees: coderen, tooling, et cetera) van systeemontwikkeling.

De QA engineer

De moderne test professional weet functionele en technische kennis te combineren en is daarmee in staat om gedurende het gehele ontwikkeltraject van toegevoegde waarde te zijn (in de markt beginnen we voor dergelijke moderne test professionals ook wel de term QA engineer tegen te komen). Denk daarbij aan:

  • Het ondersteunen van de Product owner bij het vertalen van business requirements in user stories
  • Het challengen van programmeurs bij het refinen en pokeren van user stories
  • Het stellen van eisen aan de manier van coderen om de testbaarheid te vergroten;
  • Het samen met de ontwikkelaars definiëren van testcases voor de Unit- en Systemtesten;
  • De geautomatiseerde uitvoering van functionele-, acceptatie- en regressietesten mogelijk maken door een testframework in te richten.

Niet alleen focus op productkwaliteit

De focus van de moderne testprofessional heeft niet alleen betrekking op de kwaliteit van de opgeleverde software, maar ook  op de wijze waarop die tot stand komt. Denk daarbij aan de integratie van het ontwikkelwerk met de test-tooling en het testframework dat gebruikt wordt voor het geautomatiseerd testen. Dit resulteert in een snelle en repetitieve kwaliteitsmeting van de software op elk gewenst moment. Een concreet voorbeeld hiervan is het lokaal ontwikkelen en testen van nieuwe code. Om vervolgens met een druk op de knop de code te integreren met de mastercode en de deployment te starten naar de volgende omgeving. Het laatste gaat idealiter gepaard met de automatische regressietesten die gekoppeld zijn aan ditzelfde proces. Deze testaanpak is erg efficiënt, denk in termen van honderden stappen die gevalideerd worden binnen enkele minuten.

Integratie van testen in het ontwikkeltraject

In de moderne Agile praktijk is gefaseerd denken vanuit testoptiek verleden tijd. De functie is volledig geïntegreerd in het gehele ontwikkeltraject en reikt verder dan alleen het beoordelen van de productkwaliteit. In het Agile ontwikkelproces krijgt kwaliteit en daarmee testen steeds meer aandacht. De essentie is een geïntegreerde aanpak die uiteindelijk resulteert in een hogere teamsnelheid en een kortere ‘time-to-market’.

naar overzicht

Wilt u reageren of meer weten?

Heeft u iets in dit artikel gelezen dat uw interesse gewekt heeft? Laat het ons weten!

Deze post delen?

Trotse winnaar van een
FD Gazellen Award
2014 t/m 2018

© 2018 | Europalaan 12a | 5232BC 's-Hertogenbosch | T: +31 (0)85 0290550 | E: info@pancompany.com