Functionele testvoorbeelden
An INFJ personality wielding brevity in speech and writing.
Om softwareproducten van hoge kwaliteit te bouwen, moet u weten wanneer en welke technieken u moet gebruiken. Functionele tests helpen organisaties tijdens het hele proces te voldoen aan de codevereisten van digitale producten.
In dit artikel gaan we enkele functionele tests bekijken, samen met voorbeelden.
Component testen:
Het controleert de afzonderlijke onderdelen van een applicatie uit het bredere systeem. Het testen van componenten wordt gedaan door testers in een black-box-formaat en wordt gebruikt om individuele objecten of delen van de software te valideren. Laten we zeggen dat er andere componenten zijn die afhankelijk zijn van de component die wordt getest, dan kan de tester een stub en een driver gebruiken om interacties daartussen te simuleren.
Voorbeeld: Een app voor het boeken van afspraken met een arts heeft een optie om een afspraak te maken met een tandarts. De stub heeft het gebruikersprofiel van de tandarts en de chauffeur biedt een gesimuleerd schema van de beschikbare afspraaktijden. Het middelste onderdeel, dat wordt getest, vindt de locatie van de gebruiker via GPS en geeft een lijst weer met tandartsen in de buurt. Het onderdeel dat geïsoleerd wordt getest, de tester zorgt ervoor dat de geolocatie goed werkt en heeft een lijst met locaties in de buurt op het display.
Testen van een eenheid:
Voordat u het softwareprogramma in zijn geheel test, moet u ervoor zorgen dat elk van de onderdelen afzonderlijk goed werkt. Unit testing zorgt ervoor dat elk van de units de gewenste resultaten oplevert. Het vormt de basis voor complexere geïntegreerde software. Unit testing helpt u met een applicatiecode van hogere kwaliteit en helpt bij het versnellen van het ontwikkelingsproces.
Voorbeeld: Een voorbeeld van een realistisch scenario dat door een unittest wordt gedekt, is controleren of uw fiets kan worden ontgrendeld. Hier test je of de fiets ontgrendeld kan worden met je fietssleutel, maar niet ontgrendeld kan worden met je huissleutel of een andere fietssleutel.
Sanity testen:
Testprofessionals voeren gezondheidstests uit op nieuwe versies van stabiele builds om te zien of de nieuwe functionaliteit problemen heeft of om bugs op te lossen. Het vertelt of een build klaar is voor meer testen. Er is geen script voor het testen van gezond verstand, aangezien het naar het gebied gaat dat een recente wijziging in de code heeft ondergaan.
Voorbeeld: Laten we zeggen dat er een fout zat in een mobiele app waarmee je online kunt betalen. Het ontwikkelteam wordt gevraagd de bug op te lossen . Na dit proces controleert het testteam of de bug er nog steeds is. Daarnaast controleren ze ook of de aangebrachte wijzigingen een impact hebben gehad op enig ander onderdeel van het systeem.
Rook testen:
Het vertelt of een nieuwe softwarebuild en de kritieke functionaliteit ervan stabiel presteren. Stel dat het systeem de rooktest doorstaat, dan betekent dit dat de build verder getest kan worden. Stel dat de rooktest mislukt, dan wordt de build afgewezen en krijgt het ontwikkelteam de opdracht om de problemen op te lossen en een nieuwe build te maken.
Het wordt ook wel build-verificatietest genoemd en controleert of een functionaliteit aan zijn doelstellingen voldoet. Rooktesten moeten de eerste test zijn die op elke build wordt uitgevoerd.
Voorbeeld: om de schermafdrukfunctie van een mobiele applicatie te controleren. Het verwachte resultaat is dat wanneer u tegelijkertijd op de volumeknop en de aan / uit-knop klikt, het verwachte resultaat het genereren van een screenshot is. Er wordt gezegd dat de status mislukt is als de rooktest geen screenshot retourneert.
Integratie testen:
Dit type functionele testen wordt uitgevoerd om individuele componenten te testen om te zien hoe ze samen werken. Het doel is om de modules te testen die afzonderlijk werkten en om te zien dat er geen bugs zijn wanneer ze samenwerken. Meestal bouwen ontwikkelaars tegelijkertijd verschillende modules van het systeem en concentreren ze zich niet op de andere. Integratietests helpen doorgaans bij het vinden van problemen met de timing van de bewerking, API-aanroepen, databasetoegang, de werking van de gebruikersinterface, UI-bewerkingen, gegevensindelingen, enz.
Voorbeeld: Wanneer we de aanmeld- en inlogfuncties van een sociale-mediawebsite controleren, beschouwen we ze als afzonderlijke entiteiten. We controleren de integratie tussen deze twee units alleen als je functionaliteiten nodig hebt waarvoor je je moet aanmelden of al lid moet zijn.
Regressietesten:
Wanneer er wijzigingen zijn in de functionaliteit of functies van een nieuwe build, kan dit leiden tot onverwacht gedrag. Regressietests worden uitgevoerd om er zeker van te zijn dat eventuele wijzigingen de bestaande functionaliteit niet hebben verbroken. Het doel van regressietesten is om te controleren of er bugs zijn die per ongeluk in het systeem zijn geïntroduceerd en ook om ervoor te zorgen dat de eerder verwijderde bugs niet meer werken.
Voorbeeld: Laten we zeggen dat er een app voor klantenloyaliteit is en dat er verschillende soorten opties beschikbaar zijn voor klanten om hun punten in te wisselen. Het bedrijf heeft onlangs een functionaliteit toegevoegd waarmee gebruikers punten aan hun account kunnen toevoegen onder een tabblad met de naam ‘Punten toevoegen’. Regressietests zullen identificeren of er nieuwe defecten zijn in de bestaande functies die zijn veroorzaakt door de updates.
Conclusie:
Bij Zuci zijn we er sterk van overtuigd dat functioneel testen een grote rol speelt bij het bouwen van krachtige applicaties. Het is onverstandig om digitale producten uit te brengen die veel tekortkomingen hebben, zowel voor de organisatie als voor de eindgebruikers. Wanneer u tijdens het ontwikkelingsproces op het juiste moment de vereiste functionele testen uitvoert, kunt u er zeker van zijn dat u een geweldig product uitbrengt. Op die manier is het een win-win voor elke stakeholder.