EN
NL

FAST: Flexibile Approach in Software Testing

Er was eens: -niet testen-, - zomaar wat checken-, -gestructureerd checken-

Maar nu is er: FAST: gestructureerd checken en testen in een agile omgeving. Flexibel, snel, aanpasbaar en praktisch toepasbaar.

Er ontstaat een groeiend bewustzijn dat testen meer is dan alleen het door een tester laten checken of het ontwikkelde systeem is gebouwd conform de specificaties. Hiermee heb je onvoldoende inzicht in de kwaliteit en risico’s die gelopen zijn. Middels het alleen checken van de feiten (specificaties) ontbreekt inzicht in 3 van de 4 onderstaande gebieden waarin je inzicht wilt krijgen.

  • De known knowns ofwel facts; de feiten c.q. specificaties.
  • De known unknowns ofwel questions; de zaken waarvan we weten dat we ze nog niet weten en waardoor we middels het stellen van vragen proberen inzicht te krijgen.
  • De unknown knowns ofwel intuition; de zaken waarvan we instinctief aanvoelen dat er iets niet klopt.
  • De unknown unknowns ofwel exploration; dat waar we geen inzicht in hebben en die we middels gestructureerd onderzoek nader moeten bekijken.

Inzicht in alle 4 de gebieden zijn noodzakelijk om een weloverwogen en geïnformeerde beslissing te kunnen nemen of een product verantwoord kan worden uitgeleverd naar klanten.

Testautomatisering speelt een steeds belangrijkere rol in de systeemontwikkeling. Dit is een trend die verder door zal zetten. Er is een groeiend bewustzijn dat testautomatisering alleen de ‘known knowns’ kan controleren en dat we daarmee weliswaar het controleren van ‘facts’ kunnen versnellen en verbeteren, maar dat daarmee de noodzaak om ook de ‘unknowns’ inzichtelijk te maken niet verdwenen is. Een geautomatiseerde test zal immers geen vragen gaan stellen om onduidelijke zaken duidelijk te krijgen.

De belangrijkste rollen/taken van een moderne hedendaagse tester zijn:

  • Het team helpen, middels training, mentorschap en coaching, om te denken vanuit risico’s en kwaliteit van start tot einde. Bijvoorbeeld door risico sessies te organiseren en afspraken te maken met het team om de kwaliteit optimaal te kunnen borgen (quality built-in), maar ook presentaties over biases, teamdynamiek en veranderingen.
  • Helpen om inzicht te houden in de known knowns. Bijvoorbeeld door samen met het team tot een set geautomatiseerde (unit) testen te komen
  • Het stellen van de juiste vragen om zaken die onduidelijk of incompleet zijn in eenduidige feiten om te zetten. Bijvoorbeeld door tijdens een refinement kritische vragen te stellen. Denk daar bij aan vragen als ‘Wat als?’ en ‘Waarom willen we dit?’ of ‘Willen we dit nu?’. Daarnaast is ook doorvragen van belang, net zo lang tot het helemaal duidelijk is. Het stellen van vragen geeft ook inzicht of iedereen de zaken wel op dezelfde wijze heeft begrepen.
  • Inzicht geven in een wereld vol complexiteit, verwarring en halve waarheden (de unknowns). Bijvoorbeeld door het stellen van kritische vragen, inzicht te geven in project, product en risico’s, en het onderzoeken van de software (exploratory testing). Context-driven testers zijn in staat de uitdagingen van testen in een software ontwikkeltraject te onderkennen en aan te pakken. De reden hiervoor is eenvoudig: context-driven testen brengt testers de vaardigheden bij die nodig zijn om het testwerk aan te laten sluiten bij het project. Context-driven testen begint met het kijken naar de behoeftes van de klant in relatie tot het product, het team en de organisatie. Vanuit de klantvraag wordt gekeken naar mogelijke oplossingen die kunnen bijdragen aan het invullen van die behoeftes; starten bij de behoefte in plaats van de oplossing (tool of werkwijze). Door het ontwikkelen en inzetten van eerdergenoemde vaardigheden ondersteunt deze wijze van testen op een effectieve manier de softwareontwikkeling. Testers zijn sneller inzetbaar omdat ze minder afhankelijk zijn van documentatie. Ze werken efficiënter omdat ze geen onnodige documentatie produceren. Hierdoor zijn testers beter in staat software te doorgronden en daardoor bij te dragen aan een goede oplossing. Ze voegen direct waarde toe aan een team.

Veranderende vaardigheden

Deze nieuwe rol/taken vereisen ook een andere set aan skills dan die in het verleden op de rol van tester werden geplakt. Door Agile en DevOps verandert het werk van een tester.

Om teamleden testvaardigheden bij te brengen is het van belang om zelf excellente testvaardigheden te hebben. Mentorschap/Coaching skills zijn vaardigheden die van steeds groter belang worden om teams mee te nemen in kwaliteitsbewustzijn tijdens de hele Software Development Life Cycle (SDLC).

Daarnaast moeten testers ook de techniek begrijpen om de technische zwaktes van software bloot te kunnen leggen en dit helpt tevens in de communicatie met de technisch georiënteerde teamleden.

 

FAST is ontwikkeld in de praktijk en wordt ook al jaren met groot succes toegepast door veel testconsultants.

De methodiek kent diverse doelgroepen:

  • Organisaties die op een agile manier werken en op zoek zijn naar een gestructureerde aanpak van testen binnen de agile context
  • Organisaties op zoek naar een flexibele aanpasbare en praktische invulling van testen binnen hun Software Development LifeCycle
  • Organisaties die het testen verder willen professionaliseren en sneller inzicht willen verkrijgen in de kwaliteit van software

 

FAST is primair geschreven als handleiding en naslagwerk voor testers, maar heeft ook zeker waarde voor alle overige teamleden in een agile ontwikkelteam en de direct betrokken managers.

 

Binnenkort is de pdf versie van FAST hier te downloaden.

Alain Bultink | Directeur
alain@deagiletesters.nl
06-15361077

Carlo van Driel | Directeur
carlo@deagiletesters.nl
06-12913682

Theo Janssen | Business Development
theo@deagiletesters.nl
06-15022781