Wat is functioneel testen?

Wat is functioneel testen?

Wat is functioneel testen?

Functioneel testen is een soort black box-test die de conformiteit van een systeem of component met de vermelde functionele vereisten evalueert. Functioneel testen specificeert wat het systeem doet.

Zoals de naam aangeeft, verifieert de test of alle functionaliteiten van de applicatie werken zoals verwacht en gereed zijn voor release. Omdat het een black box-test is, kent de tester de interne structuur van de app of de broncode niet. Het ontwikkelteam zal functionele unit-testcases maken met betrekking tot gebruikers-/bedrijfsvereisten en testers specificeren de functionaliteitsvereisten op basis van het gebruikersperspectief. Functioneel testen kan worden uitgevoerd door handmatige testteams of kan worden geautomatiseerd.

Wat test u bij het testen van functionaliteiten?

Functioneel testen, ook wel black box-testen genoemd verifieert

  • Functionaliteit
  • End-to-end-workflows
  • Bedrijfsscenario’s
  • Gegevensopslag in de database
Functionele testcomponenten

Voorbeeld van een functioneel testscenario

Voorbeeld van een testscenario: controleer of de gebruiker nieuwe herinneringen kan toevoegen – sms

  1. Meld u aan bij de toepassing
  2. Beweeg de muisaanwijzer over het schemamenu
  3. Selecteer Vervolgherinneringen’
  4. Klik op de knop ‘Nieuwe herinnering’
  5. Selecteer herinneringstype als ‘SMS’
  6. Selecteer de herinneringswaarde
  7. Klik op ‘Herinneringen bijwerken’

Hoe voer je functionele testen uit?

Functioneel testen volgt een stapsgewijs proces,

  • Identificeer functies die de toepassing moet uitvoeren
  • Maak de invoer op basis van de specificaties van de functie
  • Bepaal de uitvoer op basis van de specificaties van de functie
  • Voer de geschreven testgevallen
  • Vergelijk de uiteindelijke werkelijke en verwachte output

Laten we de verschillende soorten functionaliteitstests en tools bekijken,

  • Unit-testen
  • Integratietesten
  • Rooktest
  • Systeemtest
  • Regressietesten
  • Gebruikersacceptatietest
Soorten functionele tests

Unittesten 

Unit testing in eenvoudige bewoordingen valideert of de afzonderlijke code-eenheden goed functioneren. Het valideert bijvoorbeeld of een functie, lus, methode of een statement in het stuk code werkt zoals bedoeld. Het is geschreven door ontwikkelaars.

Voorbeeld van een Unit-test voor ‘Login’ ziet er als volgt uit:

  • Navigeer naar de inlogpagina
  • Voer in het veld ‘e-mail’ het e-mailadres van de geregistreerde gebruiker in
  • Klik op de knop ‘Volgende’
  • Voer het wachtwoord van de geregistreerde gebruiker in
  • Klik op ‘Aanmelden’
  • Ga bij succes naar de volgende pagina
  • Zo niet, geef dan een foutmelding en ga terug naar de inlogpagina
Voorbeelden van unit-testen

Integratietesten 

Integratietesten verifiëren de interfaces of de stroom tussen de units. De focus ligt op het verifiëren van de integrerende koppelingen. Voorbeeld integratietestcase voor het testscenario:  Toevoegen aan tas -> Mijn tas zal eruit zien,

Testcase-ID  Doel van de testcase Beschrijving testcase  verwacht resultaat 
1 Controleer de interface tussen de module Toevoegen aan winkelwagentje en Mijn winkelwagentje op de startpagina van de e-commercetoepassing Selecteer op de startpagina het product en klik op de knop Toevoegen aan winkelwagentje Het geselecteerde product zou in de map Mijn winkelwagen moeten verschijnen

Hier is het doel om de integratie tussen Toevoegen aan winkelwagen en mijn winkelwagen-map te verifiëren.

Rooktest 

Rooktesten worden één keer uitgevoerd nadat ontwikkelaars de ‘nieuwe build’ hebben gepubliceerd, meestal onstabiel, om kritieke functionaliteiten van het systeem te evalueren. Het doel van het testen is om de belangrijkste functionaliteiten van het systeem te verifiëren en niet om een uitputtend testproces uit te voeren. Testcases voor kritieke functionaliteit worden gekozen, uitgevoerd en geverifieerd. Zowel testers als ontwikkelaars voeren rooktesten uit en het testen is ‘build’ gericht.

Rookgezondheidstests 2

Sanity Test  

Sanity Testing en rooktesten worden door elkaar gebruikt in testcontexten. Dit komt omdat beide tests worden uitgevoerd nadat de build is ontvangen. Gezondheidstesten, een subset van regressietesten, richten zich echter op het uitvoeren van testgevallen die verband houden met de wijzigingen die in de builds zijn aangebracht. In eenvoudige bewoordingen, wanneer een build, meestal stabiel, wordt ontvangen met kleine wijzigingen, wordt een gezondheidstest uitgevoerd. Het wordt uitgevoerd door testers en is ‘release gericht’.

Functietesten   Niet-functionele tests 
Test de acties en werkende functionaliteiten van de applicatie Test de niet-functionele kant van de applicatie. Dat wil zeggen kijk en voel. Bijv. prestaties, beveiliging, bruikbaarheid
Als eerste uitgevoerd – toepasbaar in unit-, integratie- en systeemtesten Uitgevoerd na functionaliteitstests – van toepassing in de systeemtestfase
Focus ligt op gebruikers-/bedrijfsvereisten Focus ligt op verwachtingen/ervaringen van gebruikers
Test ‘Wat’ het systeem zou moeten doen Test ‘hoe’ het systeem zou moeten werken
Kan handmatige en geautomatiseerde tests uitvoeren Meestal geautomatiseerde tests
  • Unit-testen
  • Integratietesten
  • Systeemtest
  • Acceptatietest
  • Prestatietesten
  • Beveiligingstests
  • Herstel testen
  • Gebruikstests
Voorbeeld: controleer de functie ‘Bestelling plaatsen’ Voorbeeld: eenvoudig navigeren naar de knop ‘Bestelling plaatsen’ en 100
aantal mensen moet een bestelling kunnen plaatsen
gelijktijdig, ongeacht configuraties van besturingssysteem/browser/apparaat

Lees meer: Functioneel testen en niet-functioneel testen: alles wat u moet weten

Functionaliteitstesttools

Enkele veelgebruikte tools voor het testen van functionaliteit zijn onder meer:

Selenium – Open-source, het meest bekende testframework dat wordt gebruikt voor functionele testautomatisering voor browsergebaseerde webapplicaties. Het ondersteunt verschillende programmeertalen voor het schrijven van testscripts zoals PHP, Java, C#, Groovy, Python, Ruby en Perl. Het ondersteunt ook meerdere browsers op verschillende OS-platforms.

Ranorex Studio – Gebouwd met Selenium-webstuurprogramma, wordt het gebruikt voor functionele testautomatisering< voor web-, desktop- en mobiele toepassingen. Het ondersteunt GUI (Graphical User Interface) en biedt opname en weergave voor naïeve testers.

TestComplete – Functioneel testplatform dat oplossingen biedt voor het automatiseren van functionele tests voor web-, desktop- en mobiele applicaties. Het ondersteunt een reeks programmeertalen zoals DelphiScript, C++Script, C#Script, JavaScript, Python, VBScript en JScript.

UFT – voorheen bekend als QuickTestProfessional (QTP), door HP. Gebruikt om geautomatiseerde regressietesten uit te voeren, evenals functionele tests. Het biedt een volledige functieset voor API, webservices en GUI-testen van desktop-, web- en mobiele applicaties op verschillende platforms. Het staat bekend om zijn gebruiksvriendelijkheid, op afbeeldingen gebaseerde objectherkenningsfunctie, herbruikbare testcomponenten en geautomatiseerde documentatie.

Katalon studio – De software is gebouwd bovenop de open-source automatiseringsframeworks zoals Selenium, Appium met een gespecialiseerde IDE die fungeert als een one-stop-shop voor alle API-, WebUI-, Desktop- en Mobile-testen en de gecombineerde capaciteiten daaronder.

Laatste woord

Functionaliteitstesten zijn van cruciaal belang voor elke software/toepassing. Bedrijven die testprocessen beschouwen als een poortwachter en deze cruciale fase overslaan om producten snel op de markt te brengen, zullen de woede van hun eindgebruikers onder ogen moeten zien wanneer de app niet werkt zoals bedoeld.

Daarom is het erg belangrijk voor teams om de juiste combinatie van handmatige test- en automatiseringstools te kiezen om het meeste uit functioneel testen te halen en bedrijven te helpen een kwaliteitsproduct te leveren.

Wilt u de functionaliteit van uw product verbeteren? Bekijk Zuci’s functionele testservices en zie hoe u Zuci kunt inzetten voor uw zakelijke behoeften.

Geïnteresseerd in een korte handleiding voor functioneel testen? Klik hier

WILT U DIGITAAL CONTROLEREN?