Development

Software-ontwikkeling

Testen wordt flexibel

18 april 2014

Het testen van systemen is aan het veranderen. Robert Lourens stelt in zijn artikel ‘Softwaretesters zijn geen trendsetters’ (AutomatiseringGids 27 februari 2014) dat deze verandering is ingegeven door trends in de markt. Dit is grotendeels waar: als systeemontwikkeling op de agile-toer gaat komen de testers met agile-testen en als we de cloud ingaan komen de testers met cloud-testen. Voor een deel komen de recente veranderingen op het gebied van testen echter ook van binnenuit, uit de testwereld zelf. Essentie van de verandering is dat het testen flexibiliseert. Omdat testers de laatste jaren de beschikking hebben gekregen over veel meer testaanpakken kunnen zij zich veel meer aanpassen aan de specifieke kenmerken van de organisatie, het project of het systeem. Hoe is deze ontwikkeling tot stand gekomen? Wat is de essentie van de verandering en wat zijn de gevolgen voor IT-projecten?

Verandering

Testen wordt in veel organisaties gezien als een inflexibele, dure maar noodzakelijke stap in systeemontwikkeling. Dit komt onder andere door de drang vroeg in een ICT-project betrokken te zijn, door de grote hoeveelheid documentatie die door sommige testmanagers en testers moet worden gemaakt, en het feit dat (zeker ook in Nederland) meestal een one-size-fits-all-benadering van testen wordt toegepast. Ongeacht de organisatie, het project of het systeem wordt vrijwel altijd een bepaalde methode of een variant op die methode toegepast, alternatieven zijn internationaal wel bekend maar in Nederland niet of nauwelijks.

Dit is aan het veranderen. In de eerste plaats door externe ontwikkelingen zoals agile, mobile en cloud. In de tweede plaats verlangen business en projectleiders meer flexibiliteit van testen. In tijden dat werkende software belangrijker is dan uitputtende documentatie, en personen en interactie belangrijker zijn dan methoden en tools kom je als tester niet meer weg met een in beton gegoten testmethode. In de derde plaats bereiken internationale ontwikkelingen zoals Rapid Software Testing en context-driven testing Nederland. Dit heeft onder andere al geleid tot het in Nederland ontwikkelde situationeel testen.

Context

De essentie van de verandering is dat de aanpak van testen niet meer wordt bepaald door de methode maar door de organisatie, het project en het systeem. De context (of situatie) bepaalt de aanpak en niet andersom. Het wat aanpassen van een methode, bekend onder de naam adaptief, volstaat dan niet. Afhankelijk van de situatie kan een hele andere methode worden gekozen.

Dit lijkt allemaal heel logisch maar dat was het (bij testen) voor velen tot voor kort niet. De gevolgen van deze verandering zijn ook groter dan velen in eerste instantie verwachten. Voor de tester zijn de gevolgen misschien wel het grootst; waar de Nederlandse tester over het algemeen kon volstaan met het beheersen van één methode, volstaat dat niet meer. Professionele testers beheersen meerdere methoden en technieken en zijn in staat in te schatten wanneer ze welke methode of techniek moeten toepassen.

Daarnaast kan de individuele tester zich in de toekomst niet meer verschuilen achter de frase ‘Ik heb de methode goed toegepast, dus ik heb mijn werk goed gedaan’. Testen moet in de toekomst optimaal, transparant en aantoonbaar bijdragen aan het projectsucces. Als het onderliggende probleem dat met het project opgelost moet worden, niet wordt opgelost, is ook het testen niet succesvol. Wat dat betreft worden functionele specificaties en het vaststellen of het systeem aan deze specificaties voldoet minder belangrijk. Testers zullen beter moeten begrijpen wat de verschillende belanghebbenden echt willen en uitgebreider samen moeten werken met alle partijen om hieraan optimaal bij te dragen. Dit betekent voor de testers dat ze zullen moeten laten zien wat ze waard zijn, dat ze uit hun ivoren toren moeten komen en de samenwerking moeten zoeken.

Het laatste gevolg van het flexibiliseren is dat testers soepeler om moeten gaan met teststrategieën en testplannen. Deze zijn vaak gebaseerd op gebrekkige informatie vooraf, waarna ze wel in beton gegoten werden. Tijdens het testen, dus ver nadat de strategie en de planning zijn opgesteld, krijgen de testers allemaal nieuwe informatie over het systeem. Deze informatie moeten ze meenemen in de testen die ze nog moeten doen. Vreemd genoeg was dit geen algemeen gebruik bij testen in het verleden.

Goedkoper

Al met al brengt de flexibilisering van testen grote veranderingen voor de tester met zich mee. Door het toepassen van de juiste aanpak wordt het testen namelijk niet alleen beter maar in veel gevallen ook goedkoper en sneller. Maar daarmee wordt het testen zeker niet gemakkelijker. Om als tester je mannetje te staan, zullen testers zich moeten blijven verbeteren en nieuwe vaardigheden moeten leren. Door de focus op het oplossen van het onderliggende probleem in plaats van op een methode, draagt testen beter bij aan de projectdoelstellingen. Door de grotere gerichtheid op testuitvoering en minder op testvoorbereiding (lees: het maken van documentatie) wordt minder kostbare projecttijd besteed aan niet-direct-productieve activiteiten.

Er gaat in de toekomst dus veel meer gevraagd worden van het vakmanschap, de kennis en flexibiliteit van de tester. En voor veel testers zal dit een grote aanpassing vragen. Een aanpassing die niet door iedereen even makkelijk te maken is. Maar de omgeving vraagt om deze verandering en de mogelijkheden zijn beschikbaar, dit maakt het flexibiliseren van testen onvermijdelijk. En zoals bij iedere evolutie zullen alleen zij overleven die in staat zijn zich aan te passen aan de nieuwe omgeving.

Handvatten bij flexibiliseren van testen

Twee mogelijke handvatten bij het flexibiliseren van testen zijn context-driven testen en situationeel testen.

  • Context-driven testing (CDT) is een visie op testen waarbij de testaanpak wordt afgestemd op de omgeving. CDT is gebaseerd op een set uitgangspunten voor flexibel testen en een community. De uitgangspunten zijn:
    1. De waarde van iedere aanpak hangt af van de context.
    2. Er zijn goede practices in een context, er zijn geen best practices.
    3. Mensen die samenwerken zijn het meest belangrijke deel van de context van een project.
    4. Projecten ontwikkelen zich in de tijd op een onverwachte manier.
    5. Producten zijn oplossingen, als het probleem niet wordt opgelost werkt het product niet.
    6. Goed software testen is een uitdagend intellectueel proces.
    7. Alleen door beoordeling en vaardigheden, uitgevoerd in samenwerking met het hele project, zijn we in staat de juiste dingen op het juiste moment te doen om effectief producten te testen.

    De CDT-community bestaat uit een groeiend aantal testprofessionals die niet alleen de uitgangspunten van CDT omarmen maar ook actief in praktijk kunnen brengen en promoten. Een actieve Nederlandse CDT-community staat bekend onder de naam DEWT (Dutch Exploratory Workshop on Testing).

  • Situationeel testen biedt testers handvatten om testen te flexibiliseren. Het gaat uit van twee centrale aspecten: ‘waarom’ en ‘hoe’ testen we. Bij het eerste aspect, waarom testen we, moet de business aangeven wat hij verwacht. Moet helder worden gemaakt of de gewenste functionaliteit is gerealiseerd? Moet worden vastgesteld of de performance en security voldoende zijn? Moet worden vastgesteld of het systeem gebruiksvriendelijk is? Moet worden vastgesteld of met de oplevering van het systeem het project succesvol is? Er zijn nog veel meer vragen te stellen. Iedere vraag van de business kan beantwoord worden maar het beantwoorden van een vraag kost wel tijd en geld. En het gaat erom hoeveel tijd en geld de business over heeft om de vragen beantwoord te krijgen.

    Het tweede aspect van situationeel testen is ‘hoe’ we testen. Er worden zes vormen van testen onderkend: factory based testing, global scripting, session based testing, bug hunts, test tours en freestyle exploratory testing. Afhankelijk van de organisatie, het project en het systeem wordt een testvorm of een combinatie van meerdere testvormen gekozen.

Bronnen

Veel bronnen van het flexibiliseren van testen zijn vrij toegankelijk. Informatie over context-driven testen vindt men op context-driven-testing.com. Informatie over de Nederlandse ‘context-driven testen’-community DEWT op dewt.wordpress.com en over situationeel testen op www.sysqa.nl/publicatie/white-paper-pragmatischer-en-flexibeler-testen-met-zekerheid-situationeel-testen. De trends in de IT en de gevolgen voor het testen zijn beschreven in ‘Bepaal je koers! Toekomst en trends in testen’. Dit boek is gratis te downloaden op de website van TestNet (www.testnet.org). Een overzicht van blogs en andere bronnen met betrekking tot context-driven testen is te vinden op www.huibschoots.nl/links.

 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Laat de klantenservice je terugbellen!