Niet-functioneel testen
โก Slimme samenvatting
Niet-functionele testen valideren hoe een softwareapplicatie presteert op het gebied van betrouwbaarheid, gebruiksgemak, beveiliging, schaalbaarheid en andere kwaliteitskenmerken. Deze handleiding beschrijft de doelstellingen, parameters, kenmerken, veelvoorkomende testtypen en praktische voorbeeldtests die door kwaliteitsborgingsteams worden gebruikt.

Wat is niet-functioneel testen?
Niet-functioneel testen Functionele testen vormen een categorie softwaretesten die de niet-functionele aspecten van een applicatie valideren, zoals prestaties, gebruiksgemak, betrouwbaarheid en vergelijkbare kwaliteitskenmerken. Ze beoordelen de gereedheid van het systeem aan de hand van criteria die bij functionele testen nooit aan bod komen, waardoor wordt gegarandeerd dat de applicatie voldoet aan de verwachtingen van de organisatie onder realistische omstandigheden.
Een klassiek voorbeeld van niet-functionele testen is het meten van het aantal gelijktijdige gebruikers dat kan inloggen op een applicatie zonder prestatieverlies. Niet-functionele testen zijn net zo belangrijk als functionele testen, omdat ze direct van invloed zijn op de klanttevredenheid en de algehele perceptie van het product.
Doelstellingen van niet-functionele testen
Niet-functionele testen worden uitgevoerd om de algehele kwaliteit en levensduur van een product te verbeteren. De belangrijkste doelstellingen zijn:
- Verbeter de gebruiksvriendelijkheid, efficiรซntie, onderhoudbaarheid en draagbaarheid van het product.
- Verminder het productierisico en de kosten die gepaard gaan met niet-functionele defecten.
- Optimaliseer de manier waarop het product wordt geรฏnstalleerd, geconfigureerd, uitgevoerd, beheerd en gemonitord.
- Verzamel meetgegevens en statistieken voor intern onderzoek en ontwikkeling.
- Verbeter het inzicht in het gedrag van het product en de gebruikte technologieรซn.
Kenmerken van niet-functionele testen
De volgende kenmerken bepalen hoe niet-functionele testen moeten worden gepland en uitgevoerd:
- Het moet meetbaar zijn, zonder ruimte voor subjectieve beschrijvingen zoals goed, beter of best.
- De exacte aantallen zijn meestal niet bekend aan het begin van het eisenproces.
- De vereisten moeten worden geprioriteerd, zodat de gebieden met het hoogste risico als eerste worden aangepakt.
- Kwaliteitskenmerken worden tijdens de softwareontwikkelingsfase nauwkeurig vastgesteld.
Niet-functionele testparameters
Er worden doorgaans elf parameters gebruikt om de reikwijdte van niet-functionele testactiviteiten te bepalen:
- Beveiliging: Meet de mate waarin een systeem beveiligd is tegen opzettelijke en onopzettelijke aanvallen van interne of externe bronnen. Geverifieerd door middel van beveiligingstests.
- Betrouwbaarheid: De mate waarin een systeem continu en zonder storingen zijn gespecificeerde functies uitvoert. Geverifieerd door middel van betrouwbaarheidstesten.
- Overlevingsvermogen: Bevestigt dat het systeem blijft functioneren en zichzelf herstelt na een storing. Geverifieerd door middel van hersteltesten.
- Beschikbaarheid: Bepaalt de mate waarin een gebruiker tijdens de werking op het systeem kan vertrouwen. Geverifieerd door middel van stabiliteitstesten.
- Usability: Het gemak waarmee gebruikers het systeem kunnen leren kennen, bedienen, invoer kunnen voorbereiden en uitvoer kunnen verwerken. Geverifieerd door middel van gebruiksvriendelijkheidstests.
- schaalbaarheid: De mate waarin een softwareapplicatie zijn verwerkingscapaciteit kan uitbreiden om aan een stijgende vraag te voldoen. Geverifieerd door middel van schaalbaarheidstesten.
- interoperabiliteit: Controleert hoe een softwaresysteem samenwerkt met andere softwaresystemen. Dit wordt geverifieerd door middel van interoperabiliteitstesten.
- Efficiรซntie: De mate waarin het systeem de capaciteit, hoeveelheid en reactietijd onder belasting aankan.
- Flexibiliteit: Het gemak waarmee de applicatie kan werken met verschillende hardware- en softwareconfiguraties, zoals variรซrende RAM- of CPU-specificaties.
- Draagbaar: De flexibiliteit van de software om van de huidige hardware- of softwareomgeving naar een andere te migreren.
- Herbruikbaarheid: Verwijst naar het gedeelte van een softwaresysteem dat kan worden aangepast voor gebruik in een andere toepassing.
Type softwaretesten
Softwaretesten worden over het algemeen in drie categorieรซn ingedeeld:
- Functioneel testen
- Niet-functioneel testen
- Onderhoud testen
Elke categorie bevat meerdere testniveaus, die teams vaak aanduiden als testtypen. Verschillende boeken en naslagwerken kunnen ze iets anders classificeren, dus houd rekening met kleine verschillen.
De lijst met testtypen is niet volledig โ er bestaan โโmeer dan 100 verschillende testtypen, en er komen er steeds nieuwe bij. Niet elk type is van toepassing op elk project; de reikwijdte hangt af van de aard, het risicoprofiel en de complexiteit van de te testen applicatie.
Soorten niet-functionele tests
De meest voorkomende soorten niet-functionele testen die door QA-teams worden uitgevoerd, zijn onder andere:
- Performance Testing
- load Testen
- Failover-testen
- Compatibiliteitstesten
- Usability Testing
- Stress testen
- Onderhoudbaarheidstesten
- Schaalbaarheid testen
- Volume testen
- Beveiligingstests
- Disaster Recovery-testen
- Nalevingstests
- Draagbaarheid testen
- Efficiรซntie testen
- Betrouwbaarheidstesten
- Basislijn testen
- Uithoudingsvermogen testen
- Documentatie testen
- Herstel testen
- Internationalisering testen
Voorbeelden van testgevallen voor niet-functionele testen
De volgende voorbeelden illustreren hoe niet-functionele testgevallen in echte projecten worden geschreven:
| Testcase # | Testgeval | Domein |
|---|---|---|
| 1 | De laadtijd van de applicatie mag niet langer dan 5 seconden zijn wanneer maximaal 1000 gebruikers de applicatie gelijktijdig gebruiken. | Performance Testing |
| 2 | De software moet installeerbaar zijn op alle ondersteunde versies. Windows en macOS. | Compatibiliteitstesten |
| 3 | Alle webafbeeldingen moeten beschrijvende alt-tags bevatten. | Toegankelijkheid testen |


