Wat is functioneel testen?

Wat is functioneel testen?

In deze uitgebreide gids leer je alles over:

Wat is functioneel testen?

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

Zoals de naam aangeeft, controleert de test of alle functionaliteiten van de applicatie werken zoals verwacht en klaar zijn voor release. Omdat het om een black box-test gaat, 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 je bij het testen van functionaliteit?

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

Voorbeeldtestscenario: controleer of de gebruiker nieuwe herinneringen kan toevoegen – sms

  1. Inloggen op applicatie
  2. Muisaanwijzer op 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,

  • Functies identificeren die de toepassing moet uitvoeren
  • Maak de invoer op basis van de specificaties van de functie
  • Stel de output vast op basis van de specificaties van de functie
  • Voer de schriftelijke testgevallen uit
  • Vergelijk de uiteindelijke werkelijke en verwachte output

Laten we eens kijken naar de verschillende typen en hulpmiddelen voor het testen van functionaliteit,

  • Testen van een eenheid
  • Integratie testen
  • Rook testen
  • Systeem testen
  • Regressietesten
  • Gebruikersacceptatietesten
Soorten functionele tests

Voorbeelden van functionele testgevallen

Testen van een eenheid

Unit testing valideert in eenvoudige bewoordingen of de afzonderlijke code-eenheden goed functioneren. Het valideert bijvoorbeeld of een functie, lus, methode of een instructie 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’
  • Als het gelukt is, ga dan naar de volgende pagina
  • Zo niet, gooi dan een foutmelding en ga terug naar de inlogpagina
Voorbeelden van unit-testen

Integratie testen

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 winkelmandje -> Mijn tas ziet eruit als

Testcase-ID  Doel van testcase Beschrijving testcase  verwacht resultaat 
1 Controleer de interface tussen de module Toevoegen aan winkelwagen en Mijn winkelwagen op de startpagina van de e-commercetoepassing Selecteer op de startpagina het product en klik op de knop Toevoegen aan winkelwagen 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.

Rook testen

Rooktesten worden één keer uitgevoerd nadat ontwikkelaars de ‘nieuwe build’, meestal onstabiel, hebben gepubliceerd 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 kritische functionaliteit worden gekozen, uitgevoerd en geverifieerd. Zowel testers als ontwikkelaars voeren rooktesten uit en het testen is ‘build’-gericht.

Rookgezondheidstests 2

Sanity testen

Sanity Testing en rooktesten worden door elkaar gebruikt in testcontexten. Dit komt omdat beide tests worden uitgevoerd nadat de build is ontvangen. Sanity testing, een subset van regressietesten, is echter gericht 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-focused’.

Verschil tussen functionele en niet-functionele test

Functionele testen   Niet-functionele tests 
Test de acties en werkende functionaliteiten van de applicatie Test de niet-functionele kant van de applicatie. Dat wil zeggen, kijken en voelen.
Bijv., Prestaties, Beveiliging, Bruikbaarheid
Eerst uitgevoerd – van toepassing in Unit, Integration, System Testing Uitgevoerd na functionaliteitstesten – toepasbaar in de systeemtestfase
Focus ligt op gebruikers-/bedrijfsvereisten Focus ligt op gebruikersverwachtingen/ervaring
Test ‘Wat’ het systeem zou moeten doen Test ‘hoe’ het systeem zou moeten werken
Kan handmatige en geautomatiseerde tests uitvoeren Meestal geautomatiseerde tests
  • Testen van een eenheid
  • Integratie testen
  • Systeem testen
  • Acceptatie testen
  • Prestatietests
  • Beveiligingstests
  • Herstel testen
  • Bruikbaarheidstesten
Voorbeeld: Controleer de functionaliteit ‘Bestelling plaatsen’ Voorbeeld: gemakkelijk te navigeren naar de knop ‘Bestelling plaatsen’ en 100
aantal mensen moet kunnen bestellen
gelijktijdig, ongeacht de configuraties van het besturingssysteem/browser/apparaat

Functionaliteitstesttools

Enkele veelgebruikte tools voor het testen van functionaliteit zijn:

Selenium – Open-source, meest bekende testraamwerk 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 OS-platforms.

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

TestComplete – Functioneel testplatform dat oplossingen biedt voor het automatiseren van functioneel testen 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. Wordt gebruikt om zowel geautomatiseerde regressietests als functionele tests uit te voeren. Het biedt een volledige functieset voor API-, webservices- en GUI-tests 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-tests en de gecombineerde mogelijkheden daartussen.

Laatste woord

Functionaliteitstests zijn van cruciaal belang voor elke software/applicatie. Bedrijven die testprocessen als een poortwachter beschouwen 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 voor teams erg belangrijk 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.

Hulp bij het testen van software

WILT U DIGITAAL CONTROLEREN?
NEEM CONTACT MET ONS OP