Hoofdstuk 2
Tips om softwaretesten eenvoudiger en efficiënter te maken in Agile
Ervaren Agile ontwikkelaars en test- of kwaliteitsmanagers (QA) weten dat de omvang van softwaretesten zich in de loop van een project steeds verder uitbreidt, doorgaans van unit-testen naar integratie tot algemene gebruikersacceptatietesten (UAT).
Tegelijkertijd neemt het aantal testers en de betrokkenheid van klanten toe, waardoor het moeilijker wordt om testgevallen op te stellen en testruns te beheren. Deze complexiteit wordt nog versterkt wanneer teams zowel handmatige als automatische softwaretesten uitvoeren. Deze tweeledige aanpak neemt meer tijd in beslag, maar resulteert wel in intensievere tests en is ideaal bij een grote geografische spreiding.
Daarom is het van cruciaal belang dat je over de juiste onderdelen en best practices beschikt. Om de impact en de efficiëntie van je Agile testproces te maximaliseren, moet je:
De juiste mensen inzetten.
Naast test- of kwaliteitsmanagers (QA) een groep potentiële eindgebruikertesters aanwijzen die elke groep stakeholders van je project vertegenwoordigen om tijdens de volledige ontwikkelfase te helpen bij de productevaluatie, in het bijzonder bij UAT. Deze eindgebruikers kunnen ook betrokken zijn bij de ontwikkelingssprints en evalueren de software naarmate zijn voltooiing nadert.
De juiste Agile ontwikkelingstools gebruiken.
Met moderne platforms voor testbeheer kun je eenvoudig testen personaliseren, resultaten registreren en met testers communiceren. Toonaangevende platformen bieden een eenvoudige manier om defecten en issues op te sporen tot ze opgelost zijn, en bieden je bedrijf een consistente structuur om de testen te managen en te analyseren.
Een consistent Agile testproces gebruiken bij het ontwerpen van testgevallen.
Het opstellen en ontwerpen van een goed testgeval houdt meer in dan alleen maar een ja-of-nee vraag voorleggen aan een tester. Volg de best practices voor het opstellen van testgevallen door het volgende op te nemen:
- De gegevensinvoer die nodig is om het systeem te valideren.
- De stappen die de tester moet nemen om bepaalde functies of werkstromen te evalueren.
- Eventuele gegevensvoorwaarden en de verwachte uitkomst.
- Een logische naamgeving waarmee het testgeval duidelijk te herleiden is.
Speciale testomgevingen voorzien.
Testomgevingen zijn een gecontroleerde omgeving waar testers hun testgevallen kunnen uitvoeren. Daarom moet je zo goed mogelijk een productieomgeving proberen na te bootsen.
Probeer hardware- en netwerkconfiguraties op te nemen die vergelijkbaar zijn met wat een potentiële eindgebruiker zal ervaren. Veel bedrijven kiezen ervoor om testomgevingen te creëren in de vorm van virtuele snapshots van de ontwikkelomgeving om zo het administratieve beheer van het testproces eenvoudiger te maken.
Agile gerichte testmethoden gebruiken.
Hoewel de Agile methode relatief jong is in vergelijking met de traditionele watervalmethode, hebben teams verschillende testmethoden ontwikkeld waarmee ze de manier van testen geoptimaliseerd hebben.
Afhankelijk van de behoeften kunnen een of meer van deze methoden gebruikt worden:
- Test-Driven Development (TDD): Hiermee wordt ervoor gezorgd dat de software tegemoet komt aan de behoeften van de klant door de testgevallen op te stellen voordat er tot ontwikkeling wordt overgegaan. De ontwikkeling wordt vervolgens unit voor unit uitgevoerd om aan de testgevallen te kunnen voldoen.
- Acceptance Test-Driven Development (ATDD): Dit is een gezamenlijk proces waarin gebruikers, productontwikkelaars en de productmanager bedrijfsgerichte testnormen opstellen die afgestemd zijn op de eisen van de eindgebruiker.
- Behavior-Driven Development (BDD): Met deze methode wordt de productfunctionaliteit vastgelegd door specificaties of voorbeelden op te stellen voor specifieke softwaregedragingen, scenario's of resultaten die de code moet opleveren.
- Exploratief testen: Deze methode biedt testers de mogelijkheid om zonder testgevallen door de software te navigeren en zo het ontwerp en de functionaliteit van het product te onderzoeken, verkennen en evalueren.