Een testorganisatie test in 3 eenvoudige stappen!
Wanneer je een nieuwe software hebt ontwikkeld of een nieuwe applicatie gebouwd hebt, wil je deze natuurlijk zo snel mogelijk op de markt brengen. Om zeker te weten of alle functies ook echt werken, is het goed om vóór de lancering de software nog eens te testen aan de hand van een gestructureerd plan. Zo voorkom je reputatieschade en kan jouw klant er zorgeloos mee werken. Maar hoe pak je de test aan? In dit blog geven we jou de 3 stappen die essentieel zijn om jouw software testen en hoe een testorganisatie jou daarbij ondersteunt.
Wanneer testen binnen het testproces?
De meest logische denkwijze is om de software te testen als deze klaar is. Dan kun je de eventuele bugs er in één ronde uithalen. Het heeft echter zeker ook veel voordelen om agile te testen; gedurende de ontwikkeling van de software. Het agile ontwikkelproces zorgt ervoor dat je van te voren voor elk specifiek onderdeel een test uitschrijven, zodat je tussendoor kleinere testrondes hebt en gemakkelijk veranderingen aan kunt brengen. De stukken waar de programmeur onlangs nog mee gewerkt heeft, kunnen dan eenvoudig aangepast worden. Dit scheelt tijd (en dus kosten) en zorgt ervoor dat fouten zich niet kunnen verergeren gedurende de verdere ontwikkeling, of de oorsprong daarvan steeds lastiger te achterhalen is.
Soorten testen
Er zijn twee soorten testen die je door kunt voeren:
- Functioneel testen: hierbij kies je ervoor om de functionaliteit van de software te testen.
- Niet functioneel testen: je kijkt naar de meer technische aspecten van de software en niet alleen naar de functies die de software voor de gebruiker moet vervullen.
Functioneel testen
Functioneel testen houdt in dat je de nieuw ontwikkelde software test op vooraf opgestelde functie-eisen. Vragen die je daarbij stelt zijn:
- Welke functies moet de software beschikken?
- Op welke manier testen we deze functies?
- Welke uitkomst verwachten we van deze test?
- Kunnen zich uitzonderingen voordoen en zo ja, welke?
Je stelt zelf zogeheten ‘wat als’ testcases op: situaties die zich voor kunnen doen die je zelf uitvoert. Bijvoorbeeld een verkeerd wachtwoord opgeven of een formulier onjuist invullen. Je analyseert hoe het systeem in deze cases reageert en zoekt een oplossingen voor de problemen die zich voor doen.
Functioneel testen is verder onder te verdelen in zes aanpak mogelijkheden:
- Unit testing: de softwareontwikkelaar test de code op volledigheid en methode
- Smoke testing: je test of de basisfunctionaliteiten op orde zijn
- Sanity testing: deze test komt na de smoke test, om te checken of de belangrijke functies van de code ook werken
- Regressie test: je kijkt of alle systeemonderdelen functioneren na wijzingen die in de software doorgevoerd zijn
- Integratie test: deze test voer je uit waar verschillende onderdelen van de software samenwerken
- Acceptatietest: in deze test check je of de software doet wat ervan verwacht wordt
Het risico hierbij is, dat de eindgebruiker in de praktijk tegen andere problemen aanloopt dan bijvoorbeeld alleen het niet werken van een knop.
Niet functioneel testen
Om deze risico’s te voorkomen, maak je gebruik van niet functionele tests. De aspecten die hierbij komen kijken zijn:
- Veiligheid
- Betrouwbaarheid
- Belastbaarheid
- Schaalbaarheid
- UI/UX
- Integratie met andere systemen
Door ook deze onderdelen te testen, krijg je inzicht in het bredere functioneren van de software. Bijvoorbeeld wanneer veel mensen tegelijkertijd de app opstarten, of wanneer een beveiligingslek zich voordoet.
Bij dit soort testen kun je denken aan de gebruikerstest, A/B testen of de stresstest. Maar hoe bepaal je welke testen nodig zijn voor jouw software? En welk software test plan volg je? Dat is afhankelijk van de omgeving waar de software in gebruikt genomen wordt en het einddoel dat je voor ogen hebt. Daarom zet je net als testorganisaties de volgende drie stappen om tot de juiste test te komen om jouw nieuwe software te testen:
Stap 1 Quick scan
Bij de quick scan ga je terug naar de basis. Wat was het startpunt voor de software en wat was het oorspronkelijke idee? Het kan zijn dat er tijdens de ontwikkeling nieuwe inzichten gekomen zijn. Voldoet de het eindproduct aan al deze verwachtingen?
Stap 2 Planmatige aanpak
Nu je deze vragen in kaart gebracht hebt, kun je een plan voor testen opstellen. Je beschrijft hierin wat er getest moet worden en hoe de test uitgevoerd gaat worden. In het uiteindelijke testplan wordt duidelijk welke testen je moet uitvoeren en welke verwachtingen je hieraan kunt binden. Ook staan hier de soorten testen in die je uit wilt voeren en hoe je dit aanpakt.
De QA en test professionals krijgen hierdoor een structureel stappenplan. Maar ook het development team, de productowner of de leverancier weet wat er van ze verwacht wordt.
Stap 3 Uitvoering op basis van de doelen
In deze laatste stap voer je de daadwerkelijke test uit. Gespecialiseerde testteams kunnen de verschillende soorten testen volgens de vooraf beschreven uitgangspunten doorlopen. Ze houden hiervan alle resultaten bij, zodat je precies weet welk deel van de software is getest, waar is getest en wat de eventuele problemen zijn.
Test tools van een testorganisatie
Om software testen te vergemakkelijken, kun je gebruik maken van test tools. Dan hoeft de tester niet handmatig de resultaten bij te houden, maar wordt alles digitaal vastgelegd en geautomatiseerd. Je hoeft niet alle mogelijke situaties handmatig bij langs te gaan, want deze maken standaard onderdeel uit van de tooling. Wel moet je de testcases zelf uitschrijven in invoeren in het systeem. De tool spoort dan voor jou de eventuele fouten in de software op. Deze optie geeft inzicht in welke testen zijn doornomen, de resultaten en welk deel van de software is getest.
Voordelen van de test tool is:
- Tijdbesparing op complexe testen
- Vroeg signaleren van eventuele fouten
- Inzicht in het ontwikkelproces
- Vergroten van het vertrouwen in de kwaliteit middels automatische testen
Tooling maakt gebruik van overzichtelijke grafieken, tabellen en dashboards, zodat je in één opslag de resultaten kunt zien. Je krijgt inzicht in de kwaliteit van software en je kunt de groei in het vertrouwen van jouw software bijhouden na de lancering.
Testwerkzaamheden: wat doet een tester precies?
Wat de goed opgeleide testers uiteindelijk doen, is fouten in het programma opsporen vanuit de testomgevingen, zodat de developer deze fouten kan herstellen. Door middel van professioneel testen geeft de tester inzicht in de gebruikskwaliteit van de software middels een objectief en onafhankelijk beeld. Daarbij evalueert de tester het gehele testproces, de belangrijke eigenschappen van de software. Hierdoor weet je of jouw software voldoet aan de vooraf gestelde eisen, functionaliteiten en implementatie eisen.
Een professionele, daarvoor opgeleide en ervaren test engineer doet echter meer dan fouten opsporen. Zo zal een test engineer een advies kunnen geven over:
- Waar de mogelijke risico’s kunnen gaan zitten met betrekking tot het maken van fouten.
- Hoe in de toekomst bepaalde fouten kunnen worden voorkomen.
- En hoe het beste bepaalde fouten op te lossen.
Een goed test engineer is dus niet alleen op zoek naar eventuele fouten die een ontwikkelaar kan maken, maar werkt middels korte ontwikkelcycli om kwaliteitswinst en maximaal resultaat te behalen. Daarnaast profiteren jouw software engineers van de gemaakte rapportages, die de wijzigingen bijhouden en testautomatisering beheren. De communicatie tussen de tester en eht ontwikkelteam levert daardoor maximaal resultaat voor de software op.
Zelf testen of uitbesteden aan een testorganisatie
Wat je nodig hebt om de nieuwe software te testen is dus een software tester, software test plan en eventueel een test tool. Door de inzet van een professionele testorganisatie bespaar je echter op deze kosten. Door testen uit te besteden, kun je eventuele risico’s achterhalen en oplossingen aandragen voor verbetering.
Addcode kan jou als professionele testorganisatie hierbij ondersteunen. Wij beschikken over de tools en QA testers om jouw software middels de juiste testsoorten te analyseren. Wil je weten welke soort test jouw software benodigd? Of wil je meer informatie over software testen? Neem gerust contact met ons op. Addcode geeft jou vrijblijvend advies.