Exploratief testen is een specifieke vorm van softwaretesten die veel voordelen heeft voor een applicatie, waardoor deze zijn volledige potentieel kan bereiken.
De manier waarop een team verkennende tests in hun routinecontroles integreert, kan zelfs bepalend zijn voor het functioneren van de software, vooral omdat de testprocedures hierdoor op nieuwe en onverwachte manieren worden benaderd. Dit helpt testers problemen binnen de applicatie te ontdekken die anders onopgemerkt blijven tot de lancering en ertoe leiden dat belangrijke functies niet werken.
Inzicht in de processen, soorten en benaderingen van verkennende tests kan u helpen de organisatie en haar testteams te sturen op de wijze waarop zij deze kunnen integreren in hun gebruikelijke controles.
Er zijn ook een aantal gratis hulpmiddelen die het team kan gebruiken om deze inspecties te vergemakkelijken en problemen op te merken voordat ze mogelijk een obstakel voor de ontwikkeling worden.
In deze gids tonen we de voordelen van verkennende tests en de belangrijkste overwegingen waarmee een team rekening moet houden vóór de implementatie.
Wat is verkennende tests?
Verkennend testen combineert de fasen testontwerp en uitvoering, waardoor de tester volledige operationele vrijheid heeft en zijn werk voortdurend kan stroomlijnen.
Terwijl deze teams de software controleren, zullen zij waarschijnlijk nieuwe onderdelen ontdekken die een grondige inspectie vereisen en kunnen zij gemakkelijk nieuwe tests bedenken die de toepassing ten goede komen.
Verkennend testen is vergelijkbaar met ad hoc testen, maar volgt een veel rigoureuzere documentatie en omvat ook een actiever leerproces.
De minder gestructureerde aanpak helpt testers na te gaan hoe een applicatie waarschijnlijk zal reageren op realistische scenario’s en testcases en dient als een essentiële aanvulling op scripted testing.
De kwaliteit van de verkennende tests van een team hangt vaak af van de vaardigheid van de individuele testers, aangezien de controles creativiteit en een grondig begrip van de software vereisen. Dit is een proces van voortdurende ontdekking – een proces waarbij testers deductieve redeneringen gebruiken om hun algemene techniek te sturen.
Verkennende tests zijn vooral nuttig omdat ze weergeven hoe gebruikers de software zouden kunnen gebruiken. De meeste gebruikers vinden bugs en problemen per ongeluk, dus deze niet-gescripte processen kunnen testers helpen problemen te vinden die vooraf bepaalde controles misschien niet aan het licht brengen.
Een team kan deze procedure ook automatiseren om de efficiëntie te vergroten.
1. Wanneer moet u verkennende tests uitvoeren?
Verkennend testen is over het algemeen nuttig in bijna elk softwaretestproces, maar het blinkt vooral uit in het geven van snelle feedback over een toepassing.
Het team kan deze controles ook inbouwen als de gescripte tests op zijn. Zonder een duidelijke richting voor hun software-inspecties kunnen verkennende tests problemen aan het licht brengen die buiten de standaardcontroles vallen.
Door te zorgen voor diverse testprocedures kunnen de testers deze software in elk stadium op een veel dieper niveau begrijpen, maar ze vroegtijdig uitvoeren kan meer voordelen bieden.
Het is mogelijk voor teams om later eventueel opnieuw verkennende tests uit te voeren voor extra gemoedsrust.
2. Wanneer u geen verkennende tests hoeft te doen
Er zijn een paar scenario’s waarin verkennende tests geen voordelen bieden, hoewel het voor testers nuttiger kan zijn te wachten tot de software zijn kernfunctionaliteit heeft.
De functies van een applicatie kruisen of interageren meestal met elkaar, wat betekent dat verkennende tests op één functie achterhaald kunnen zijn zodra het ontwikkelingsteam meer aan deze software toevoegt.
Het is ook mogelijk om deze tests zonder problemen naast gescripte controles uit te voeren, ervan uitgaande dat de testers kunnen zorgen voor een sterke mate van documentatie om verwarring te voorkomen.
Verkennend testen is zeer veelzijdig in vergelijking met andere soorten testen, waardoor deze controles zeer toepasbaar zijn.
3. Wie is betrokken bij verkennende tests?
Bij verkennende tests zijn in zeker opzicht veel medewerkers betrokken:
– Softwaretesters van elk niveau kunnen deze tests uitvoeren, hoewel teamleden met een beter begrip van de software een grotere verscheidenheid aan controles kunnen ontwerpen.
Ervaring kan ook van invloed zijn op hun vermogen om de meest nuttige tests te bepalen.
– Softwareontwikkelaars die de resultaten van deze tests erkennen, zullen eventuele suggesties opvolgen en vaak hun eigen oplossing voor het probleem ontwikkelen.
Hun reactie op de tests is wat de applicatie in staat stelt een geschikte staat te bereiken voor een succesvolle vrijgave.
– Projectmanagers die dit hele proces begeleiden en zelfs degenen kunnen zijn die beslissen welke testtypes de teams gebruiken.
Zij kunnen ook verantwoordelijk zijn voor de aanschaf van software voor de teams die tests kunnen stroomlijnen of zelfs automatiseren.
Levenscyclus van verkennende tests
Het verkennende testproces is sterk gericht op de vrijheid van de tester, maar volgt toch een specifieke structuur.
De belangrijkste drie fasen van deze aanpak zijn:
Fase 1: Leren
Testers beginnen met het ontwikkelen van een goed begrip van de software en de functionaliteit ervan – ze analyseren kritisch hoe de software in elkaar steekt.
Zo kan de tester de gebruikelijke inputs achterhalen die een gebruiker zou kunnen maken, hoewel hij misschien al op de hoogte is van de toepassing en de werking ervan.
De leerfase kan zelfs een tutorial vereisen over de werking van de software. Dit is de exploratiefase en voorziet de tester van alle informatie die nodig is om een uitgebreide reeks nuttige tests te ontwerpen.
Fase 2: Testontwerp
Exploratory test design omvat weliswaar verschillende regels en parameters, maar biedt toch aanzienlijk meer vrijheid in vergelijking met scripted testing – waarvan de details al bekend zijn voordat het testen begint.
De tester kan controles bedenken die volgens hem beter bij de toepassing passen en kan mogelijk waardevolle gegevens voor het ontwikkelingsteam aan het licht brengen, waaronder opmerkelijke fouten die zij kunnen herstellen.
Testteams gebruiken deze fase om vast te stellen welke aanpak moet worden gevolgd en hoe het werk tussen de verschillende testers kan worden verdeeld op een manier die aansluit bij hun sterke punten.
Fase 3: Uitvoering
Na het ontwerpen van de te gebruiken controles kunnen de testers nu de toepassing inspecteren op de manieren die zij het meest effectief achten – zij kunnen dit onmiddellijk na het bedenken van de specifieke test doen.
Dit is de fase waarin testers actief zoeken naar problemen en hoe eventuele problemen die zij aan het licht brengen kunnen doorwerken in andere kenmerken en functies.
Hoewel er enige mate van intuïtief werk komt kijken bij het uitvoeren van verkennende tests, volgt het toch vaste processen en doelen, waardoor een vloeiende test gemakkelijk kan worden aangepast aan de specifieke testdoelen.
Verkennend versus gescript testen
Verkennende tests zijn in feite het tegenovergestelde van gescripte tests, hoewel beide belangrijk kunnen zijn om ervoor te zorgen dat een applicatie klaar is voor vrijgave. Deze laatste is meestal formeler en gestructureerder, en omvat veel brede tests in vergelijking met verkennende controles, die vaak specifieker zijn voor de functionaliteit van de toepassing.
Als onderdeel hiervan zijn verkennende tests ook aanzienlijk beter aanpasbaar, terwijl scripted tests het moeilijk kunnen krijgen als er grote veranderingen in de software zijn. Verkennende tests kunnen sneller bugs aan het licht brengen en daartegen optreden, waardoor de eerste bijzonder nuttig is in gevallen waarin snelle feedback van het grootste belang is.
1. Actieve verkennende tests
Bij actieve verkennende tests ontwerpt een tester een geautomatiseerd script voor zijn controles, dat door een andere tester wordt uitgevoerd. Deze scripts houden rekening met de vorige tests, indien van toepassing.
De twee testers wisselen gewoonlijk van rol tijdens de inspectieprocedure om de betrouwbaarheid van deze scripts en processen dubbel te controleren.
Actieve tests hebben een bredere dekking zonder de handelsmerkspecificiteit van verkennende controles op te offeren. Deze scripts maken ook een betere documentatie mogelijk, zodat problemen die testers vinden gemakkelijker kunnen worden gereproduceerd.
Documentatie is een essentieel onderdeel van actieve tests, omdat dit de belanghebbenden ook helpt de algemene voortgang van de toepassing te zien.
2. Passieve verkennende tests
Voor passieve verkennende tests is slechts één tester nodig, hoewel het proces nog verder kan worden gestroomlijnd door met z’n tweeën te werken.
Deze aanpak omvat specifieke software die de handelingen van de testers registreert, zodat zij gemakkelijk stappen kunnen ondernemen om een door hen ontdekt probleem te repliceren. Dit gebeurt meestal in de vorm van een video waarbij de tester commentaar geeft en zijn handelingen stap voor stap uitlegt.
Het vastleggen van het testproces geeft ook inzicht in de prestaties van de applicatie, zoals hoe snel deze reageert op invoerverzoeken.
Passief testen levert zowel de testers als het ontwikkelingsteam een schat aan gedetailleerde informatie op over hoe de software functioneert.
Technieken voor verkennende tests
Verkennende tests volgen meestal een ‘rondleiding’ – waarbij een tester de software op de meest efficiënte manier verkent.
Er zijn verschillende tours waaruit het team kon kiezen, waaronder:
– Reisgidsen
Deze aanpak geeft voorrang aan de belangrijkste functionaliteit van de applicatie, waarbij nauwgezet wordt nagebootst hoe een gemiddelde gebruiker met de software omgaat en problemen aan het licht komen die hij natuurlijk zou vinden.
– Geschiedenis rondleidingen
Deze tour inspecteert de oudste functies van de applicatie om er zeker van te zijn dat ze nog functioneren; dit is vooral belangrijk als de ontwikkelaars nieuwe functies hebben toegevoegd die hiermee in strijd zijn.
– Geld tour
Deze verkennende test controleert de kritieke functies van de applicatie, met name die waarvoor klanten en cliënten geld betalen – dit zijn doorgaans de hoogste prioriteiten van het testteam.
– Crime spree tour
Testers werken soms actief aan het breken van een applicatie of het opwekken van negatieve scenario’s, bijvoorbeeld door ongeldige informatie in te voeren en te onderzoeken hoe de applicatie daarop reageert.
– Back alley tour
Dit proces omvat functies die minder klanten waarschijnlijk zullen gebruiken; deze zijn net zo essentieel voor elke testaanpak, vooral omdat ze zullen interageren met andere functies.
– Intellectuele rondleiding
Bij deze rondleiding wordt de toepassing verder uitgediept, waarbij de meest ingewikkelde functies worden getest met hogere (soms maximale) waarden om de verwerkingssnelheid van de software te bepalen.
Benaderingen voor verkennende tests
Er zijn twee belangrijke benaderingen van verkennende tests:
1. Op sessie gebaseerde verkennende tests
Dit is een op tijd gebaseerde techniek die tot doel heeft het testproces te kwantificeren door dit te verdelen in “sessies” met twee componenten: opdrachten en charters.
De missie is het doel en de duur van die specifieke sessie, waardoor een verkennende tester een duidelijke focus krijgt.
In een charter wordt de reikwijdte van elke sessie vastgelegd en worden de specifieke doelen die de tester wil bereiken in detail beschreven. Dit resulteert in een hoger niveau van verantwoording (en documentatie) door deze controles op te splitsen in meer beheersbare componenten.
Sessiegebaseerde tests verbeteren ook de productiviteit en bieden een tester duidelijke metriek en informatie voor probleemoplossing.
2. Op paren gebaseerde verkennende tests
Pair-based testing is vergelijkbaar met active exploratory testing, omdat er voornamelijk in paren wordt gewerkt – meestal op hetzelfde apparaat – om de applicatie continu gelijktijdig te controleren. Bij deze regeling stelt de ene tester een reeks testgevallen voor en maakt aantekeningen over de voortgang, terwijl de andere de software test.
Communicatie is essentieel bij pair-based testing, omdat dit ervoor zorgt dat beide testers op de hoogte zijn van de controles en hun doel.
Als u deze paren zelf toewijst, zorg er dan voor dat u rekening houdt met de sterke en zwakke punten van elke tester, want zo kunt u sterkere verkennende testprocessen opbouwen.
Welke factoren zijn van invloed op verkennende tests?
De factoren die de kwaliteit van de verkennende tests van een team kunnen beïnvloeden zijn onder meer:
– Het overkoepelende doel en de kernfunctionaliteit van de software.
– De specifieke testdoelstellingen voor de huidige fase van een applicatie.
– De individuele rollen en capaciteiten van elke tester in het team.
– De beschikbare hulpmiddelen, zoals gratis software om tests te automatiseren.
– De steun die testers krijgen van collega’s of het management.
– De wensen van de klant en de huidige brede trends in de markt.
– Het gebruiksgemak van de toepassing, zoals de soepelheid van de interface.
– De tijd die de testers hebben om de testfase te voltooien.
– De inputs en andere gegevens die de testers willen gebruiken.
– De functies die ontwikkelaars in de loop der tijd aan de software toevoegen.
Soorten verkennende tests
De drie belangrijkste soorten verkennende tests die een team zou kunnen toepassen zijn:
1. Freestyle verkennende tests
Freestyle testing omarmt de ad hoc benadering van het controleren van een applicatie. Dit heeft weinig regels om rekening mee te houden, zodat de doeltreffendheid ervan kan variëren; sommige software en onderdelen rechtvaardigen een robuustere methode.
Deze controles kunnen nog veel voordelen bieden door testers te helpen vertrouwd te raken met deze toepassing en het werk van een vorige tester te valideren.
Zelfs zonder strikte regels kunnen ervaren en bekwame testers dit gemakkelijk in hun voordeel gebruiken. Ze kunnen zich met gemak door elk aspect van de software bewegen – in sommige situaties zijn de testregels beperkend en kunnen ze de resultaten van het team onbedoeld beperken.
2. Op scenario’s gebaseerde verkennende tests
Bij tests op basis van scenario’s worden realistische situaties gebruikt als basis voor elke test, bijvoorbeeld door inputs te controleren die gebruikers waarschijnlijk zullen maken tijdens de typische werking van deze software.
Testers werken hard om ervoor te zorgen dat elk scenario dat ze bedenken overeenkomt met hoe een gebruiker de toepassing gebruikt.
Tijd zou een beperking kunnen zijn, aangezien het team ernaar streeft zoveel mogelijk scenario’s te testen; afhankelijk van de komende deadlines zal dit waarschijnlijk niet alle mogelijkheden kunnen omvatten.
Testers moeten een breed scala van tests in verschillende categorieën gebruiken.
3. Op strategie gebaseerde verkennende tests
Testen op basis van strategie omvat een breed scala aan specifieke methoden, waaronder grenswaardetests, gelijkwaardigheidstechnieken, risicogebaseerde technieken en meer. Dit geeft over het algemeen de voorkeur aan testers die al vertrouwd zijn met de toepassing, omdat zij op maat gesneden strategieën kunnen ontwikkelen waarin deze individuele methoden zijn verwerkt.
Een op strategie gebaseerde aanpak richt zich voornamelijk op de functionaliteit van de software (en de interne werking ervan) zonder te kijken naar de mogelijke scenario’s die een gebruiker ertoe kunnen brengen de problemen te ondervinden die zich voordoen. Dit kan leiden tot een bredere analyse van een toepassing en de verschillende kenmerken ervan, mogelijk met meer diepgang dan diverse andere benaderingen.
Handmatige of geautomatiseerde verkennende tests?
Testteams kunnen verkennende controles uitvoeren, handmatig of geautomatiseerd. Beide opties kunnen enorme voordelen bieden; de juiste optie hangt vaak af van de specifieke kenmerken van het project.
Handmatige verkennende tests
Handmatige verkennende tests maken een groter scala aan controles op maat mogelijk. Hoewel dit langer kan duren omdat menselijke testers trager zijn dan computers, kan handmatige inspectie een belangrijke rol spelen bij het bepalen van de gebruikerservaring.
Een tester controleert niet alleen of alle functies van een applicatie naar behoren werken, maar ook of de gebruikers er gemakkelijk mee kunnen werken. Dit is misschien wel de meest voorkomende vorm van verkennende tests, maar daarom nog niet de meest effectieve.
1. Voordelen van het handmatig uitvoeren van verkennende tests
De voordelen van handmatige verkennende tests zijn onder meer:
Meer aandacht voor bruikbaarheid
Geautomatiseerde verkennende tests kunnen afwijkingen in de software opmerken, maar kunnen deze problemen niet op dezelfde manier interpreteren als een menselijke tester.
Dit houdt ook in dat men begrijpt hoe de gebruikers van de software waarschijnlijk zullen navigeren of met de toepassing zullen omgaan, iets waarmee automatisering geen rekening kan houden.
Handmatige verkennende testers kunnen meer feedback geven, inclusief specifieke details over hoe de door hen gevonden problemen de algehele software of algemene ervaring beïnvloeden.
Kan real-time wijzigingen aanbrengen
Een van de belangrijkste sterke punten van verkennende tests is dat het mogelijk is de noodzaak van een test vast te stellen en deze relatief snel uit te voeren voordat de noodzakelijke verbeteringen worden geveild.
Geautomatiseerd testen is over het algemeen een veel sneller proces, maar testers moeten wachten tot alles compleet is voordat ze wijzigingen aanbrengen – handmatige testers kunnen dit doen terwijl het verkennende testproces nog aan de gang is.
Dit is echter vaak alleen mogelijk voor fouten in kleine delen van de software.
Meer aandacht voor details
Bij exploratief testen gaat het vooral om het ontdekken van nieuwe manieren om een toepassing te testen en deze tegelijkertijd te begrijpen; dit kan soms betekenen dat de ene test tot de andere leidt door de tester op ideeën te brengen.
Geautomatiseerde tests houden hier wellicht geen rekening mee, omdat ze relatief hands-off zijn voor het testteam. Handmatige testers verbeteren voortdurend hun kennis van de software en bedenken nieuwe maar even belangrijke tests – maar dit kan moeilijk zijn als software van derden ze automatiseert.
Kan fouten vinden buiten de code
Handmatige verkennende controles laten testers alle facetten van de toepassing en de software bekijken, ook buiten de code zelf.
Veel geautomatiseerde benaderingen beperken zich tot de code en hoe die functioneert, waardoor testteams problemen die in andere delen van de applicatie kunnen opduiken, niet opmerken.
Dit hangt vooral af van de automatiseringssoftware die u hebt, aangezien sommige oplossingen een bredere aanpak van verkennende tests kunnen bieden.
Zorgt voor kwaliteit in het hele project
Geautomatiseerde verkennende controles zoeken alleen naar fouten en metrieken binnen de applicatie; handmatige testers zouden in plaats daarvan de software kunnen inspecteren en hun eigen uitgebreide feedback geven.
Ze kunnen bijvoorbeeld de code testen en vaststellen dat die te complex is – vooral belangrijk omdat dode code de prestaties kan vertragen, maar in feite onopgemerkt zou blijven door geautomatiseerde processen.
De kennis van een tester van de software kan van pas komen bij de diagnose van problemen die zich tijdens andere testfasen voordoen.
2. Uitdagingen van manuele verkennende tests
De uitdagingen van handmatige verkennende tests omvatten:
Mogelijkheid van menselijke fouten
Geautomatiseerde verkennende tests kunnen zo vaak als nodig exact dezelfde controle uitvoeren zonder dat het exacte verloop verandert, waardoor consistentie en betrouwbare resultaten worden gegarandeerd.
Handmatige verkennende tests zijn kwetsbaar voor menselijke fouten, wat betekent dat de tester de verkeerde waarde kan invoeren. Meestal is het mogelijk om deze tests dubbel te controleren en eventuele discrepanties te corrigeren, aangezien deze zelfs op het eerste gezicht duidelijk lijken.
Een test overdoen na het ontdekken van een fout kan echter meer tijd kosten.
Over het algemeen meer tijdrovend
Zelfs als de testers elke verkennende controle correct en zonder menselijke fouten uitvoeren, kost dit totale proces een aanzienlijke hoeveelheid tijd in vergelijking met geautomatiseerde software die de tests veel sneller kan berekenen.
Dit kan een verschil zijn van minimaal enkele uren; tijd die testers zouden kunnen besteden aan delen van de applicatie die geen baat hebben bij automatisering.
Voor verkennende tests is ook voortdurend toezicht nodig, terwijl tests dankzij automatisering ’s nachts kunnen worden uitgevoerd.
Langdurig documentatieproces
Evenzo kan handmatige documentatie tijdens en na het handmatig testen een onnodige belasting vormen voor het verkennende testproces.
Dit maakt het moeilijker om veranderingen en softwarebewerkingen in de tijd te volgen – geautomatiseerde software kan hier meestal intuïtief rekening mee houden bij het uitvoeren van tests.
Ook dit is een administratieve kwestie die tijd en energie wegneemt van andere zaken, waardoor de reikwijdte en breedte van de totale softwaretestprocedure effectief worden beperkt.
Moet de software goed kennen
Handmatige testers van elk vaardigheidsniveau kunnen de toepassing inspecteren en grondig testen. Dit komt door het werk dat zij steken in het begrijpen van de software – de eerste fase van het verkennende proces.
Maar als een tester moeite heeft of verzuimt te leren hoe deze toepassing werkt, zal hij waarschijnlijk moeite hebben een geschikte reeks tests te bedenken en uit te voeren.
Door de software goed te kennen, kunnen testers verder gaan dan de gebruikelijke testparameters.
Duur in onderhoud
Een beroep op handmatige verkennende tests vereist gewoonlijk een groter testteam, wat op lange termijn tot hogere kosten kan leiden in vergelijking met geautomatiseerde controles. De software van derden die deze verkennende tests uitvoert, kan een enorme waarde bieden of zelfs helemaal gratis zijn.
Afhankelijk van de complexiteit van de taken kan een bedrijf hoogopgeleide testers met jarenlange ervaring nodig hebben om de toepassing volledig te controleren. Dit kan de testkosten aanzienlijk verhogen in vergelijking met het gebruik van gratis automatiseringssoftware.
3. Wanneer handmatige verkennende tests gebruiken?
Handmatige verkennende tests gaan vaak gepaard met verschillende uitdagingen, maar zijn nog steeds een essentieel onderdeel van grondige softwaretests. Dit komt omdat er aspecten van de software zijn die door automatisering niet volledig kunnen worden meegenomen en die ook een sterke focus vereisen.
Software kan bijvoorbeeld geen betrouwbare feedback geven over gebruikersinterfaces of gebruikerservaringstests. Testers kunnen alleen een goed idee krijgen van hoe een toepassing in de praktijk werkt als ze er handmatig op testen. Dit betekent dat zowel ontwikkelaars als testteams moeten overwegen ten minste enige mate van handmatige verkennende tests in hun controles te integreren.
Geautomatiseerde verkennende tests
Geautomatiseerd testen maakt gebruik van software van derden om bepaalde controles te automatiseren – testers kunnen dit meestal aanpassen om vrijwel elke test te kunnen uitvoeren.
Dit vereist echter meestal dat het team de controle ten minste eenmaal handmatig uitvoert om de automatisering te kalibreren. Dit kan het proces voor zowel de test- als de ontwikkelingsteams aanzienlijk stroomlijnen.
Hoewel het automatiseren van verkennende tests ongebruikelijk kan zijn, zijn er verschillende duidelijke voordelen voor uw toepassing en de prestaties ervan.
1. Voordelen van verkennende testautomatisering
De belangrijkste voordelen van verkennende testautomatisering zijn:
Consistente testuitvoering
Menselijke fouten kunnen gemakkelijk leiden tot testfouten die zowel tijd als geld kosten om te herstellen; met geautomatiseerde verkennende controles kunnen testteams dit probleem omzeilen.
Testers leren automatiseringssoftware effectief hoe een test correct moet worden uitgevoerd, en zorgen ervoor dat deze elke keer identiek wordt uitgevoerd. Dit verbetert de algehele betrouwbaarheid van de tests en vermindert de tijd die ontwikkelaars besteden aan het wachten op resultaten – vooral omdat testers dit gemakkelijk kunnen instellen om ’s nachts te draaien.
Bespaart tijd voor iedereen
Met geautomatiseerde tests kunnen ontwikkelaars veel sneller beginnen met het oplossen van problemen, terwijl de testers ook een breder scala aan verkennende controles kunnen uitvoeren. Er zijn slechts zoveel scenario’s die het team kan verwerken, ongeacht de deadline, wat betekent dat het belangrijk is dat de testers zoveel mogelijk controles in hun toegestane tijdsbestek inpassen.
Automatisering helpt door deze verkennende tests veel sneller uit te voeren dan handmatige testers.
Een kosteneffectieve aanpak
Afhankelijk van de software die het team kiest, kan automatisering veel kosteneffectiever zijn dan handmatig testen – dit kan zelfs gratis zijn.
Hoewel handmatige testers nog steeds cruciaal zijn om aan te nemen en sommigen van hen verantwoordelijk zullen zijn voor het kalibreren van de automatiseringsprocedures, geeft het automatiseren van zoveel mogelijk verkennende tests als praktisch mogelijk het bedrijf een kans om de personeelskosten te verlagen.
Zodra het team de automatiseringssoftware begrijpt, kan het deze aanpassen aan een breed scala van taken.
Aanpasbaar voor meerdere apparaten
Handmatig testen kan personeel vereisen met ervaring op verschillende apparaten, zoals kennis van verschillende telefoonbesturingssystemen, waaronder Android en iOS, als u een mobiele toepassing bouwt.
Geautomatiseerde software kan hiermee rekening houden en testen op meerdere apparaten om ervoor te zorgen dat de applicatie consistent goed kan presteren. Testteams met kennis van deze apparaten kunnen het proces vervelend vinden; automatisering is opnieuw in staat de gebruikelijke verkennende testprocessen te stroomlijnen en elke iteratie tegelijkertijd te testen.
Herbruikbare scripts
Als het team meerdere versies van dezelfde software of zelfs meerdere producten met een vergelijkbare architectuur of functies test, is het mogelijk om scripts van de ene testcyclus naar de volgende te hergebruiken.
Als er aanpassingen nodig zijn om de compatibiliteit te garanderen, kunnen handmatige testers die veel sneller uitvoeren dan het schrijven van een gloednieuw script.
Automatisering optimaliseert vrijwel elke fase van het verkennende testproces en is eenvoudig in te stellen in verschillende softwareconfiguraties.
2. Uitdagingen van het automatiseren van verkennende tests
Dit proces brengt ook verschillende uitdagingen met zich mee, zoals:
Vertegenwoordigt slechts één kant van het testen
Het is niet praktisch of verstandig om bij het testen van de applicatie elke controle te automatiseren, omdat er aspecten zijn waarover alleen een handmatige tester op betrouwbare wijze feedback kan geven.
Dit omvat de gebruikerservaring, hoewel het mogelijk is om via automatisering grondige analyses van de prestaties en de belasting te krijgen, afhankelijk van de software die u kiest.
Bij exploratieve testautomatisering ontbreekt het aan menselijk inzicht en kan voor sommige controles het best naast een handmatige tester worden gewerkt.
Onrealistische verwachtingen van capaciteiten
Op soortgelijke wijze kunnen geautomatiseerde verkennende testprocedures enorme voordelen opleveren voor een applicatie, naast het gehele project.
Deze aanpak is echter niet altijd het antwoord. Organisaties die in elke fase sterk vertrouwen op automatisering kunnen een onvolledig perspectief van de software hebben.
Automatisering signaleert problemen, maar de test- en ontwikkelingsteams zijn verantwoordelijk voor het oplossen ervan. Het is belangrijk om een overkoepelende automatiseringsstrategie te bepalen, zodat iedereen in het project de mogelijkheden en beperkingen ervan begrijpt.
Hogere vaardigheidseisen
Automatisering houdt meestal in dat men weet hoe complexe controles moeten worden uitgevoerd, naast hoe ze moeten worden geprogrammeerd en daadwerkelijk geautomatiseerd. Hiervoor is vaak jarenlange ervaring met scripts nodig, hoewel automatiseringssoftware deze processen aanzienlijk kan helpen optimaliseren.
Het is van cruciaal belang dat het bedrijf testers aanwerft met diverse en sterke vaardigheden om effectieve automatisering mogelijk te maken.
Testers met ervaring in automatisering weten ook welke functies prioriteit moeten krijgen bij het selecteren uit de beschikbare software van derden, zodat het team een goed product krijgt.
Onjuiste strategieën en communicatie
Het communiceren van een coherente strategie is van het grootste belang voor succesvolle automatisering; ontwikkelaars, testers en zelfs projectmanagers moeten tijdens het testen op één lijn zitten.
De teams moeten samenwerken om de omvang en het tijdschema van hun komende procedures vast te stellen. Dit geldt voor elk testproces, maar is vooral essentieel vanwege de extra complexiteit van automatisering. Dankzij betere communicatielijnen en een gebrek aan informatiesilo’s kunnen uw teams hun tests efficiënter uitvoeren.
De juiste automatiseringssoftware kiezen
Bij automatisering wordt meestal een toepassing van derden gekozen die compatibel is met de testdoelstellingen van het team. Elke optie heeft verschillende prijsplannen en functionaliteiten. Dit kan een aanzienlijke uitgave op lange termijn zijn, zelfs als de software met succes geautomatiseerde tests uitvoert en een aanzienlijke hoeveelheid waarde levert.
Er zijn een aantal gratis opties die een indrukwekkende functionaliteit bieden die vergelijkbaar is met premium alternatieven. Het is essentieel dat het testteam alle beschikbare opties onderzoekt, inclusief gratis software.
Conclusie: Automatisering van verkennende tests vs. handmatige verkennende tests
Er zijn maar weinig projecten die baat hebben bij volledig handmatig testen of volledig geautomatiseerd testen, omdat allerlei toepassingen beter presteren met een combinatie van beide.
Hoewel geautomatiseerde tests het proces voor de ontwikkelings- en kwaliteitsbewakingsteams kunnen optimaliseren, vereisen sommige aspecten van het ontwerp handmatige verkennende tests; dit is de enige manier om gebruikersbewuste feedback te verkrijgen.
Na verloop van tijd werken meer organisaties aan de invoering van hyperautomatisering, een proces dat erop gericht is de automatisering op intelligente wijze te maximaliseren, zodat het bedrijf over een efficiënte strategie beschikt – dit kan nog steeds bestaan naast handmatig testen.
Geautomatiseerd testen wordt steeds toegankelijker voor bedrijven door de toegenomen verspreiding van automatiseringssoftware, vooral omdat er verschillende gratis opties beschikbaar zijn met veel mogelijkheden. Dit maakt het voor bedrijven gemakkelijker om een gecombineerde handmatige/geautomatiseerde verkennende testaanpak toe te passen.
De toenemende populariteit van Agile (een projectmanagementtechniek die gericht is op incrementele maar significante vooruitgang) in de ontwikkeling is ook een factor geweest, aangezien dit korte testcycli vereist. Een gecombineerde teststrategie zou deze en diverse andere ontwikkelingsstrategieën kunnen ondersteunen, zoals Continuous Integration, waarvoor ook herhaalde tests nodig zijn om het succes van vele iteraties van dezelfde software te waarborgen.
Wat je nodig hebt om met verkennende tests te beginnen
De voorwaarden voor verkennende tests zijn:
1. Duidelijke testdoelen
Hoewel exploratief testen synoniem is met vrijheid en soms verward wordt met ad hoc testen, volgt dit toch specifieke regels of definieerbare doelen. De enige manier voor een QA-team om met succes door bijna elke teststructuur te navigeren, is te weten wat het verwachte resultaat van elke test is, vooral omdat de testers deze controles meestal zelf ontwerpen.
2. Creatieve, intuïtieve testers
Verkennend testen richt zich op het ontwerpen van nieuwe en creatieve tests die problemen met een toepassing aan het licht kunnen brengen. Zelfs testers met beperkte ervaring kunnen dit doen, ervan uitgaande dat zij de software begrijpen.
Het is belangrijk dat de testers de toepassing en de werking ervan begrijpen; zo kunnen zij intuïtief een reeks nuttige controles ontwikkelen.
3. Samenhangende documentatie
Elk type test moet sterk gedocumenteerd zijn om ervoor te zorgen dat elk teamlid een verwacht testschema volgt en dat niemand per ongeluk een controle herhaalt.
Dit is een essentieel aspect van de communicatie binnen één afdeling en over meerdere afdelingen heen, zoals ontwikkelaars die regelmatig testupdates nodig hebben om uit te zoeken hoe problemen kunnen worden opgelost.
4. Het perspectief van de klant
Verkennend testen omvat vele strategieën en scenario’s, waaronder die welke weerspiegelen hoe gebruikers in de praktijk met de toepassing zullen omgaan. Het is essentieel dat testteams hiermee rekening houden tijdens hun controles, zelfs als ze geen op scenario’s gebaseerde tests uitvoeren.
Hierdoor kan een tester het testen vanuit verschillende perspectieven benaderen, wat de kwaliteit van deze controles ten goede komt.
5. Geautomatiseerde testsoftware
Aangezien het team waarschijnlijk een aanzienlijk deel van de tests die zij ontwerpen kan automatiseren, is het belangrijk dat zij geautomatiseerde testsoftware van hoge kwaliteit kunnen aanschaffen voordat de uitvoeringsfase begint.
De ontwikkelaars en het testteam kunnen hun inzicht in het project gebruiken om te bepalen welke toepassing van derden aan hun eigen eisen voldoet.
Proces van verkennende tests
De specifieke stappen voor verkennende tests zijn als volgt:
1. Classificeer de testprocedure
De eerste stap van verkennende tests is dat de betrokken teamleden begrijpen hoe zij deze controles kunnen aanpakken, bijvoorbeeld door veel voorkomende fouten te classificeren en een oorzakenanalyse uit te voeren.
Hier ontwikkelen testers zelf hun ideeën voor de tests; afhankelijk van hun exacte methodologie kunnen zij ook een testhandvest opstellen.
Daarin worden de reikwijdte en de tests voor die sessie of werkdag vastgelegd.
2. Begin de tests
Hoewel de exacte parameters (zoals de tijd voor elke test of een algemene sessie) afhangen van de eigen voorkeuren van het team en de eisen van het project, hebben alle verkennende tests bepaalde gemeenschappelijke kenmerken.
Na de indeling van de relevante controles begint het kwaliteitsborgingspersoneel met de uitvoering van de tests en de registratie van de resultaten.
Als de controles geautomatiseerd moeten worden, kunnen de testers dit ’s nachts laten werken of zelf overdag controleren.
3. Beoordelen van de resultaten
In de volgende fase worden de resultaten bekeken en vergeleken met de standaard- en verwachte resultaten. Indien deze tests belangrijke onverwachte afwijkingen van welke aard ook opleveren, kunnen de testers de controle herhalen of onmiddellijk beginnen uit te zoeken hoe dit kan worden hersteld. De suggesties die zij doen aan ontwikkelaars kunnen van belang zijn bij het bepalen van de juiste aanpak – en hun bugrapporten kunnen dit in detail uiteenzetten.
4. De debriefing van de test
Na het veilen van de testresultaten begint het kwaliteitsborgingsteam de testprocedure zelf te beoordelen en gebruikt dit om te bepalen of hun verkennende testaanpak geschikt was.
In dit samenvattende testrapport kan zelfs worden geconcludeerd dat er tijdens de controles operationele fouten zijn gemaakt die een nieuwe test noodzakelijk maken. Het testteam kan de toepassing ook opnieuw controleren zodra de ontwikkelaars deze problemen hebben verholpen, om na te gaan of ze succesvol waren.
Beste praktijken voor verkennende tests
De meest effectieve praktijken voor verkennende tests zijn onder meer:
1. Testers koppelen
Veel vormen van verkennende tests hebben baat bij samenwerking tussen testers – dit stroomlijnt het proces verder en maakt meerdere perspectieven op dezelfde controles mogelijk.
Pair testing voorkomt ook de mogelijkheid van tunnelvisie en moedigt een creatiever testontwerp aan.
Meerdere mensen die aan dezelfde tests werken kunnen leiden tot een grotere nauwkeurigheid over de hele linie, en door de werklast te verdelen gaat het testen ook veel sneller voor het hele team.
2. Mix van manuele en geautomatiseerde tests
Sommige bedrijven worstelen nog steeds met de invoering van automatisering, terwijl andere er te veel gebruik van maken, zelfs wanneer handmatige perspectieven voordeliger zouden kunnen zijn. Door deze controles samen te voegen kan het testteam meer bases bestrijken en de kwaliteit van de hele toepassing waarborgen, ook voor meer subjectieve aspecten zoals de interface van de software.
Handmatige en geautomatiseerde tests samen uitvoeren is de enige manier om een volledige testdekking van elke functie te garanderen.
3. De markt begrijpen
Het is belangrijk dat de testers tijdens het testproces zowel hun doelgroep als hun concurrenten kennen; dit helpt hen in te schatten hoe mensen waarschijnlijk zullen reageren op de huidige functionaliteit van de applicatie.
Er is veel vraag naar bepaalde functies, en het testteam kan er baat bij hebben deze tijdens de controles prioriteit te geven. Hoewel zij ook een brede testdekking moeten handhaven. Dit kan de richting voor het testen bepalen, naast het potentiële succes van de software bij de lancering.
4. Echte apparaten gebruiken om te testen
Softwaretestteams kunnen gebruik maken van emulators om hun verkennende controles te vergemakkelijken; dit kan nuttig zijn, maar weerspiegelt zelden een praktische gebruikersomgeving.
Echte apparaten helpen de betrouwbaarheid van verkennende tests te verbeteren door een meer realistische ervaring te genereren – emulatoren zijn onvolmaakt en kunnen fouten bevatten die bij klanten niet aanwezig zijn.
Emulatie is een snelle manier om meerdere platforms te testen, maar het is geen vervanging voor de echte apparaten.
Soorten resultaten van een verkennende test
Er zijn verschillende outputs die testers kunnen ontvangen na het uitvoeren van een controle, waaronder:
1. Testresultaten
De resultaten zelf nemen vele vormen aan, aangezien verkennende tests honderden unieke tests kunnen omvatten. Deze resultaten vormen het grootste deel van de output van een testroutine en bieden essentiële informatie over de toestand van de toepassing en het vermogen ervan te voldoen aan de behoeften van de gebruiker.
De testers kunnen het systeem opnieuw controleren en de informatie valideren na ontvangst van deze resultaten om hun volgende actie te bepalen.
2. Testlogboeken
De eigen logboeken van een applicatie onthullen vaak fouten en problemen tijdens het testproces; deze bieden de sterkste aanwijzingen voor waarom de software een test niet heeft doorstaan. Senior testers zijn vooral bedreven in het interpreteren van de logboeken van een applicatie, waardoor ze de oorzaak van ingewikkelde problemen kunnen achterhalen.
Hoe meer informatie testers uit deze logs halen, hoe meer ze ontwikkelaars kunnen helpen.
3. Testverslagen
Afhankelijk van de automatiseringsprocedure van het team kan hun output automatisch een bugrapport genereren. Hierin worden alle fouten in een aanvraag vermeld, eventueel met inbegrip van de oorzaken ervan en andere gegevens die relevant zijn voor de ontwikkelaars.
De testers kunnen hiermee hun eigen mening geven over de vraag of de software klaar is voor lancering, wat algemeen bekend staat als een go/no-go beslissing.
Voorbeelden van verkennende tests
Hier volgen drie voorbeelden van hoe een bedrijf verkennende tests zou kunnen gebruiken:
1. Een mobiele gaming app
Als een gamebedrijf een grote update voor een mobiele app wil uitbrengen, kunnen verkennende testers zowel oude als nieuwe functies controleren om te bepalen of de applicatie nog stabiel is. Dit kan de software zo complex maken dat deze op bepaalde apparaten niet meer werkt.
Testers proberen de effecten hiervan te minimaliseren en tegelijkertijd de bruikbaarheid op zoveel mogelijk platforms te garanderen.
Verkennende testers controleren het spel en de vele ingewikkelde scenario’s grondig om ervoor te zorgen dat elke functie werkt zoals bedoeld; voor dit proces is meestal een handmatige tester nodig.
2. De website van een dienstverlener
Websites ondergaan ook verkennende tests om ervoor te zorgen dat ze werken voor zowel gebruikers als personeel, dus testers kunnen beginnen door in te loggen op de website. Dit test de mogelijkheid van de site om nieuwe gebruikersprofielen aan te maken en controleert of gebruikers geen toegang hebben tot administratieve functies.
De testers gaan vervolgens over tot het controleren van de dienst, wat de vorm kan aannemen van het boeken van een afspraak of het doen van een bestelling. Zij voltooien dan de aankoop om te controleren of de kassa goed werkt, waarna zij de e-mailbevestiging van de bestelling en de geschiedenis van de rekening bekijken.
3. Het beheersysteem van een ziekenhuis
Allerlei toepassingen en systemen kunnen baat hebben bij verkennende tests. Voor ziekenhuisbeheersystemen kan een tester kijken naar de interactie tussen de betalingsmodule en andere functies.
Hogere integratieniveaus zouden zonder rigoureuze tests tot aanzienlijke fouten kunnen leiden. Deze controles kunnen bestaan uit een architectuurdiagram waarin de vele onderdelen van het systeem en hun onderlinge samenhang worden aangegeven.
Testers kijken ook naar de problemen in eerdere iteraties van het systeem en testen specifiek of deze nog steeds aanwezig zijn, waarbij ze snel actie ondernemen als ze fouten ontdekken.
Soorten fouten en bugs die via verkennende tests worden opgespoord
Fouten die testers tijdens verkennende tests aan het licht kunnen brengen zijn onder meer:
1. Onverenigbare functies
Het is mogelijk dat bepaalde functies in de applicatie niet met elkaar samenwerken zoals verwacht – wat ertoe kan leiden dat gebruikers geen aankopen kunnen doen of de app niet kunnen gebruiken. Testers controleren de functies afzonderlijk en in combinatie met elkaar om er zeker van te zijn dat alles bij elkaar past.
2. Onjuist UI-ontwerp
De gebruikersinterface van een applicatie bepaalt precies hoe iemand de software gebruikt. Als bijvoorbeeld belangrijke functies niet zichtbaar zijn voor klanten, merken zij misschien niet dat deze functies bestaan, waardoor zij minder plezier beleven aan de toepassing.
Handmatige UI-tests identificeren en corrigeren gebruikersonvriendelijk ontwerp.
3. Authenticatiefouten
Bij veel toepassingen en websites kan een gebruikersprofiel met bepaalde rechten worden aangemaakt. Het is essentieel dat de testers nagaan of doorsnee gebruikers op de een of andere manier toegang kunnen krijgen tot gevoelige gegevens of zelfs administratieve functies terwijl ze de software op onverwachte manieren gebruiken.
4. Dode code
Testers kunnen verouderde code aantreffen in de applicatie, die zelfs de oorzaak kan zijn van opmerkelijke prestatieproblemen. Dode code maakt de werking van de applicatie te ingewikkeld en kan leiden tot vermijdbare fouten. Door dit te identificeren en te optimaliseren wordt de software responsiever voor personeel en gebruikers.
Gemeenschappelijke metrieken voor verkennende tests
De gebruikelijke statistieken die testers tijdens hun verkennende tests kunnen tegenkomen, zijn onder meer:
1. Prestatiemetingen
Verkennende tests die de algemene prestaties van een applicatie bekijken, kunnen een breed scala aan statistieken opleveren. Dit kan minimale, gemiddelde en maximale reactietijden omvatten, naast faal- en succespercentages om de stabiliteit te bepalen.
2. Metriek van de testdekking
Testdekking is belangrijk omdat dit bepaalt hoeveel categorieën en facetten van een applicatie de tests omvatten. Requirements coverage percentage, bijvoorbeeld, beoordeelt of er functies zijn die verdere testrondes nodig hebben.
3. Algemene testefficiëntie
Het bijhouden van het aantal succesvolle en mislukte controles helpt testers bij het bepalen van de algemene gezondheid van een applicatie. Bovendien kan het team bijhouden hoeveel van de fouten die zij ontdekken kritiek zijn.
4. Verdeling van de gebreken
Op soortgelijke wijze laat de controle van de defectenverdeling zien welke onderdelen of functies het meest vatbaar zijn voor fouten. Dit kunnen delen van de applicatie zijn die vaak in wisselwerking staan met andere, waardoor het essentieel is om deze tests prioriteit te geven.
5. Regressiemetriek
Exploratieve regressietests laten testers zien hoe verschillende iteraties van dezelfde software zich gedragen en hoe dit de prestaties kan beïnvloeden.
De defect injection rate en defects per build zijn de specifieke statistieken die hierbij helpen.
Opheldering van wat verwarring: Verkennend testen versus ad hoc testen
Met een sterke nadruk op de vrijheid van de tester, verwarren sommige mensen exploratief testen vaak met ad hoc testen. De twee formaten hebben een aantal belangrijke overeenkomsten, maar dienen uiteindelijk verschillende doelen.
1. Wat is ad hoc testen?
Ad hoc testen is een volledig ongestructureerde aanpak die breekt met het conventionele testontwerp om defecten te vinden die anders misschien niet aan het licht zouden komen.
Bij deze vorm van testen is er meestal geen documentatie, waardoor problemen moeilijk te reproduceren zijn, tenzij de tester absoluut zeker is van de oorzaak.
Een voorbeeld hiervan is “monkey testing”, een controle waarbij willekeurige gegevens worden ingevoerd en die uiteindelijk tot doel heeft het systeem te breken.
Net als bij verkennende tests werken veel ad hoc testers met z’n tweeën om deze controles uit te voeren; dit komt de betrouwbaarheid ten goede. Een ad-hocaanpak kan nuttig zijn na de formele testuitvoering om er zeker van te zijn dat de controles rekening houden met alle mogelijkheden; dit helpt ook wanneer er weinig tijd is om verdere tests uit te voeren. Met de juiste uitvoering zijn ad hoc tests zeer nuttig.
2. Verschillen tussen verkennende tests en ad hoc tests
Bij ad hoc tests is er meestal geen formele documentatie. Dit staat in schril contrast met verkennende proeven, waarbij het geïmproviseerde karakter van deze controles het bijhouden van gegevens nog belangrijker maakt.
Exploratieve tests maken gebruik van een grotere verscheidenheid aan formele testtechnieken, terwijl ad-hoccontroles dit vermijden door buiten de conventionele testetiquette te kijken. Dit helpt hen bugs te ontdekken die testers anders nooit zouden vinden.
Verkennend testen heeft duidelijke doelen en grenzen, maar laat teamleden toch toe creatieve tests uit te voeren. Ad-hoc tests hebben meestal geen definieerbare einddoelen buiten het pushen van de software hoe het ook kan. Ad hoc tests impliceren vaak ook een reeds bestaande kennis van de software en de functies ervan, terwijl verkennende tests het leren van de toepassing in de gebruikelijke processen integreren.
Verkennend testen in Agile
Agile methodologie bevordert sterk continue verbetering. Dit betekent dat het goed samengaat met verkennende tests, vooral nu de vraag naar frequente software-updates toeneemt.
Door verkennende tests te combineren met Agile kunnen teamleden een sterkere teststructuur krijgen door releaseplanning en sprintuitvoering in hun schema’s op te nemen. Een bedrijf dat Agile-technieken omarmt, kan dit nog verder uitbuiten door het te combineren met verkennende tests; dit is een geweldige manier om elk afzonderlijk softwareonderdeel van een applicatie te testen. Aangezien testers verkennende controles kunnen uitvoeren zonder scripts, bespaart dit zowel de kwaliteitsmedewerkers als de ontwikkelaars veel kostbare tijd.
Geautomatiseerde verkennende tests maken deze besparingen nog groter en helpen bedrijven om de laatste iteraties van hun applicatie veel sneller te controleren, mogelijk zelfs van de ene dag op de andere. Verkennende controles leveren snelle, bruikbare resultaten op, en de ontwikkelaars kunnen eventuele noodzakelijke veranderingen doorvoeren als onderdeel van hun volgende sprint.
Handmatige verkennende tests bieden nog steeds veel voordelen in combinatie met Agile, omdat ze problemen kunnen opsporen die een geautomatiseerde aanpak zou kunnen missen. Andere vormen van testen duren gewoon te lang of bieden te weinig voordelen om gemakkelijk binnen het Agile-kader te passen. Verkennende controles kunnen ervoor zorgen dat elke Agile-fase de software en de functionaliteit ervan aanzienlijk verbetert.
7 fouten en valkuilen die u moet vermijden bij het uitvoeren van verkennende tests
Hier volgen zeven veelgemaakte fouten die bedrijven vaak maken bij het uitvoeren van verkennende tests, en hoe bedrijven deze problemen kunnen vermijden:
1. Onevenwichtige handmatige/automatische tests
Uitzoeken welke tests het beste werken met handmatige controles en welke tests baat hebben bij automatisering kost tijd, maar laat de teams veel efficiënter testen.
Het automatiseren van te veel tests kan leiden tot een applicatie die log is of niet gebruiksvriendelijk bij gebrek aan een menselijke tester.
2. Tijdsbeperkingen
Verkennend testen is sneller dan veel andere vormen van testen, maar de realiteit van projectdeadlines betekent dat er nog steeds grenzen zijn aan hoeveel testen het team kan uitvoeren.
Tijdsbeheer en een streven naar testdekking helpen het testteam zoveel mogelijk controles uit te voeren in een groot aantal brede categorieën.
3. Inflexibele testers
Hoewel verkennende testers geen voorafgaande kennis van de software of bijzonder diepgaande vaardigheden nodig hebben, berusten de controles nog steeds op de capaciteiten en het initiatief van individuele teamleden.
De projectmanager moet deze testrollen verstandig toewijzen en ze zo nodig reserveren voor de meer creatieve en intuïtieve leden van het team.
4. Moeilijkheden met het repliceren van mislukkingen
Het is niet altijd duidelijk welke acties bijdragen tot een testfalen; het kan ook onduidelijk zijn welke aspecten van de toepassing de schuldige zijn.
Daarom worden bij veel verkennende benaderingen testers aan elkaar gekoppeld of wordt zelfs het scherm van een tester rechtstreeks opgenomen om een duidelijker inzicht te krijgen in de problemen en de precieze oorzaken ervan.
5. Onduidelijke documentatie
Of het nu gaat om een geautomatiseerd bugrapport of een handmatig verslag van de afgeronde tests, goede documentatie maakt het voor ontwikkelaars eenvoudiger om te handelen naar aanleiding van de bevindingen van het testteam.
Het testteam moet zich inzetten voor een kwalitatief hoogstaande registratie bij elke controle, waarbij elk rapport zo gedetailleerd mogelijk moet zijn.
6. Hoge verwachtingen
Verkennend testen is nuttig voor bijna elk softwareproject, maar is nog steeds beperkt in zijn toepassingsgebied – het werkt het best in combinatie met andere testmethoden.
Testteams moeten deze controles uitvoeren naast de gebruikelijke scripted tests; dit is de enige manier waarop kwaliteitsborgingsafdelingen een consistent brede testdekking kunnen garanderen.
7. Onjuiste automatisering
Het is belangrijk dat het testteam en de projectmanager begrijpen welke automatiseringssoftware de meeste voordelen biedt voor die specifieke toepassing.
Verschillende opties van derden bieden hun eigen unieke kenmerken, dus de keuze van het team kan bepalend zijn voor het succes van hun robotische procesautomatisering; ze moeten elke optie voor zich overwegen.
5 Beste gratis tools voor verkennende tests
De vijf beste tools voor verkennende tests die teams voor kwaliteitsborging gratis kunnen gebruiken, zijn onder meer:
1. ZAPTEST GRATIS Editie
ZAPTEST Free biedt functionaliteit van topniveau voor absoluut nul procent, waardoor elke organisatie kan profiteren van een eenvoudige implementatie van verkennende tests.
Deze toepassing kan elk platform, apparaat en browser automatiseren met de innovatieve 1SCRIPT-technologie.
ZAPTEST biedt ook flexibele RPA-automatisering, zodat u deze kunt combineren met een handmatige aanpak.
2. XRAY Verkennende App
Met XEA kunnen gebruikers uitgebreide test charters maken en eenvoudig hun voortgang vastleggen, waardoor de fase van het rapporteren van bugs bij verkennende tests wordt gestroomlijnd.
Deze optie richt zich volledig op het gebruikersperspectief en biedt een gecentraliseerde resultatenhub om andere testers bij te werken.
XRAY heeft momenteel echter geen geïntegreerde automatisering, hetgeen de doeltreffendheid ervan op lange termijn zou kunnen beperken.
3. Insectenmagneet
Met Bug Magnet, een browserextensie die grondige verkennende tests biedt, kunnen testers edge cases en andere problematische waarden controleren.
Deze uitbreiding biedt ook eenvoudige integratie van dummytekst, e-mailadressen en meerdere tekensets.
Dit is echter alleen beschikbaar voor Firefox- en Chrome-gebaseerde browsers, waardoor het een minder veelzijdige keuze is dan zijn concurrenten.
4. Azure testplannen
Azure Test Plans is een belangrijk onderdeel van Microsofts Azure-platform en stelt testers in staat om rijke gegevens vast te leggen in tal van scenario’s.
Deze optie is geschikt voor zowel desktop- als webgebaseerde toepassingen en biedt tevens een end-to-end traceerbaarheid die de ontwikkeling van de software duidelijk vastlegt.
Deze aanpak vereist echter vaak een diepere integratie met Azure en gaat dus ten koste van de flexibiliteit.
5. Testiny
Testiny is gespecialiseerd in handmatige verkennende tests en biedt een slimme editor waarmee testers controles kunnen ontwerpen met behulp van een boomstructuur voor maximale flexibiliteit.
Elke wijziging aan een run of testcase blijft in de geschiedenis van de toepassing, zodat volledige verantwoording en traceerbaarheid gewaarborgd zijn.
Dit is echter alleen gratis voor kleine teams en open-source projecten.
Wanneer moet u Enterprise vs. gratis Exploratory Test tools gebruiken?
Hoewel verkennende tests een waardevolle investering zijn en premium toepassingen meestal meer functionaliteit bieden, zijn er veel gratis opties die meer dan genoeg mogelijkheden bieden.
Verkennend testen kan een aanzienlijke operationele uitgave zijn als u zich verbindt tot een topmodel, maar niet elk softwareontwikkelingsbedrijf of -team heeft daar het geld voor. De beste selectie van software van derden hangt vaak af van de specifieke vereisten van het bedrijf.
Een betaalde oplossing kan de enige manier zijn om aan de behoeften van dat project te voldoen; het team moet de verschillende keuzes onderzoeken voordat het zich vastlegt op een toepassing.
Bedrijven met kleinere teams kunnen het meest profiteren van gratis testtools, omdat veel van de opties gratis zijn voor een beperkt aantal gebruikers.
Als alternatief kunnen zij opties selecteren zonder deze beperking en opties die de schaal van het testteam aankunnen. Dit zou het nog haalbaarder kunnen maken om verkennende testers te koppelen om nauwkeurigere resultaten te garanderen – het team zal natuurlijk minder gebruikersprofielen nodig hebben.
Veel diensten bieden een gratis proefversie van hun software aan, zodat organisaties kunnen zien of deze aan hun behoeften voldoet; deze proefversie duurt meestal maar een paar weken.
Checklist, tips en trucs voor verkennende tests
Er zijn veel aanvullende tips waarmee testers rekening kunnen houden wanneer zij hun verkennende controles beginnen, waaronder
1. Verdeel de functies en modules op passende wijze
Om miscommunicatie te voorkomen moeten testteams een duidelijke lijst maken van elke functie en de controles die zij van plan zijn uit te voeren. Dit betekent ook dat de tests voldoende over de softwarefuncties moeten worden gespreid.
Voor de beste resultaten is het van het grootste belang dat het testteam onderhandelt welke leden elke test uitvoeren op basis van hun respectieve vaardigheden en sterke punten.
2. Werken om de software te begrijpen
De leerfase is een cruciaal onderdeel van verkennende tests. Dit betekent dat de testers zich actief met de software moeten bezighouden en moeten uitzoeken hoe deze werkt voordat ze tests opstellen.
Leren over de innerlijke werking van deze software kan een gezamenlijk proces zijn, dat zorgt voor een beter begrip in het hele team. Hierdoor kunnen de testers betere controles en testcases ontwikkelen.
3. Probleemgebieden uitzoeken
Elke toepassing heeft kenmerken of onderdelen die raakvlakken hebben met andere. Naarmate software complexer wordt, is de kans op fouten groter; dit kan meer testen vergen. Het team moet actief nagaan welke onderdelen extra hulp nodig hebben.
Zij kunnen specifieke testrondes inzetten die het beste aansluiten bij de behoeften van de toepassing en de algemene testprioriteiten van het team.
4. Begin met basis gebruikersscenario’s
Kwaliteitsteams kunnen verkennende tests uitvoeren in een willekeurige volgorde, indien nodig, maar het kan nuttiger zijn om te beginnen met eenvoudigere controles voordat men zich in ingewikkeldere functies verdiept.
Dit zorgt voor een soepele progressie in termen van complexiteit, waardoor testers de kans krijgen de software te begrijpen. Het helpt ook om te testen of de basisfuncties werken zoals verwacht.
5. Testers aan elkaar koppelen
Gekoppelde verkennende tests stroomlijnen en valideren de kwaliteitsborgingsfase, zodat testers bij elke controle met absoluut vertrouwen kunnen werken. Samenwerking maakt elke vorm van testen effectiever doordat elk teamlid beter vertrouwd raakt met de software.
Door hun individuele invalshoek kunnen zij ook veel diepgaander bugrapporten indienen, waardoor de ontwikkelaars over meer informatie beschikken om mee te werken.
6. Verschillende tests uitvoeren
De mogelijkheid van het team om een aanvraag opnieuw te testen hangt af van het tijdschema en de deadlines die voor hen liggen. Maar als het mogelijk is, kan een dubbele controle van bijzonder problematische onderdelen nuttig zijn.
Bovendien kan bij herhaalde tests worden nagegaan of een eerder ontdekt probleem nu is opgelost en de software niet verder zal beïnvloeden. Deze zorgvuldigheid is soms nodig om ervoor te zorgen dat het testen succesvol verloopt.
Conclusie
Verkennende tests hebben veel te bieden aan alle soorten softwareontwikkelingsbedrijven, als aanvulling op gescripte tests en vele andere controles.
Met behulp van verkennende tests kunnen kwaliteitsborgingsteams toepassingen testen volgens een hogere norm, waardoor de uiteindelijke kwaliteit van de software wordt verbeterd en ontwikkelaars worden geholpen eventuele fouten te herstellen.
Een combinatie van handmatige en geautomatiseerde verkennende tests kan voor de meeste voordelen zorgen, waarbij alle softwarecomponenten evenveel aandacht krijgen.
Als uw bedrijf verkennende automatiseringssoftware nodig heeft, biedt ZAPTEST FREE Edition een veel bredere en flexibelere functionaliteit dan andere premium applicaties, waardoor testers deze controles gemakkelijk kunnen optimaliseren.
FAQ’s en hulpmiddelen
1. Beste cursussen over verkennende testautomatisering
Zowel nieuwe als ervaren verkennende testers kunnen baat hebben bij cursussen om hun vaardigheden te verbeteren. Dit omvat het uitzoeken hoe nieuwe software moet worden benaderd.
Nuttige cursussen die hierbij kunnen helpen zijn:
– Udemy’s Complete 2023 Software Testing Bootcamp; dit leert breed software testen over 28 uur.
– Coveros’s Exploratory Testing; deze richt zich op het ontwikkelen van charters en het toepassen van exploratory tests op API’s.
– Polteq’s Tweedaagse Exploratory Testing Training; deze gaat in op hoe exploratory tests werken in een Agile context.
– LinkedIn’s Exploratory Testing; dit laat zien hoe moderne softwaretests verkennende controles hebben omarmd.
– Coursera’s Introduction to Software Testing; dit helpt beginnende testers de typische procedures te begrijpen.
2. Wat zijn de top 5 interviewvragen over Exploratory Testing?
Bij sollicitatiegesprekken voor functies op het gebied van verkennende tests is het belangrijk dat wervingsmanagers goede vragen stellen om de vaardigheden en ervaring van een kandidaat nauwkeurig te beoordelen.
De vijf belangrijkste vragen zijn:
– Wat zijn, naast hun geschiktheid, de belangrijkste verschillen tussen scripted en exploratory testing?
– Welke uitdagingen bent u tegengekomen als verkennende tester en hoe hebt u die overwonnen?
– Geef voorbeelden van verkennende tests die het meest gebaat zouden zijn bij robotische procesautomatisering.
– Wat is volgens u de belangrijkste vaardigheid (technisch of anderszins) voor een verkennende tester?
– Welk advies zou u geven aan een tester die moeite heeft om de software te begrijpen en te controleren?
3. Beste YouTube-tutorials over verkennende tests
Er zijn veel gratis tutorials beschikbaar op video-sharing websites zoals YouTube, die toekomstige testers kunnen helpen de kernbeginselen ervan te begrijpen. Sommige maken deel uit van een serie, andere zijn single-video deep dives in het onderwerp.
Kanalen die deze tutorials aanbieden zijn onder andere:
– The Testing Academy, biedt honderden video’s die elk aspect van het testen van software behandelen.
– Software Testing Mentor, die eveneens uitgebreide video’s aanbiedt over de fundamenten van softwaretests.
– QAFox, die ook praktijkvoorbeelden en live-projecten biedt als aanvulling op al hun video’s.
– SDET-QA Automation Techie, met een aantal uitgebreide video’s over verschillende testbenaderingen.
– GlitchITSystem, dat verschillende websites met verkennende tests bekijkt om te proberen glitches te ontdekken.
4. Hoe onderhoud je verkennende tests?
Goed uitgevoerde verkennende tests bevatten sterke documentatie waar ontwikkelaars en toekomstige testers naar terug kunnen grijpen voor nieuwe iteraties van de software.
Bij belangrijke updates van een applicatie moeten de primaire functies ervan opnieuw worden getest om ervoor te zorgen dat deze toevoegingen geen negatieve gevolgen hebben voor reeds bestaande functies.
Dit is de enige manier om te garanderen dat de verkennende tests op lange termijn succesvol blijven. Het helpt ook om bij het ontwerp van de oorspronkelijke toepassing en de controles daarvan rekening te houden met toekomstige plannen zoals voorlopige voorzieningen.
QA-medewerkers moeten deze tests adequaat plannen en uitzoeken wanneer de applicatie opnieuw moet worden gecontroleerd; geautomatiseerde testtools kunnen het team hierbij helpen.
5. Zijn verkennende tests black-box tests?
Exploratief testen lijkt sterk op black-box testing, dat verwijst naar het controleren van een toepassing door naar de kenmerken ervan te kijken zonder de code rechtstreeks te inspecteren.
Er is geen expliciete grens aan de soorten controles die onder verkennende tests vallen; deze aanpak kan elk aspect van de software omvatten, inclusief de code.
Een van de belangrijkste overeenkomsten tussen deze twee soorten tests is het gebrek aan voorkennis van de tester. Black-box testers zijn meestal niet bekend met de software voordat zij deze testen en explorerende testers leren hoe de software werkt als onderdeel van hun eerste onderzoek.
Hoewel verkennende tests in het algemeen niet altijd onder black-box testing vallen, is het waar dat er een aanzienlijke mate van kruisbestuiving is tussen deze twee benaderingen.