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.

  • ๐ŸŽฏ Kwaliteitsfocus: Niet-functionele testen meten hoe een systeem presteert, in plaats van wat het doet.
  • ๐Ÿ“ Meetbare criteria: Elke eis wordt gekwantificeerd, waardoor subjectieve formuleringen zoals 'goed', 'beter' of 'best' worden geรซlimineerd.
  • ๐Ÿ” Kritische parameters: Beveiliging, betrouwbaarheid, schaalbaarheid, gebruiksgemak en overdraagbaarheid staan โ€‹โ€‹centraal bij niet-functionele verificatie.
  • ๐Ÿงช Diverse testtypen: Prestatie-, belasting-, stress-, herstel- en compatibiliteitstesten pakken elk specifieke kwaliteitsrisico's aan.
  • ๐Ÿ“Š Zakelijke impact: Grondige niet-functionele tests verlagen de productiekosten, de uitvaltijd en de klantontevredenheid bij elke release.

Niet-functioneel testen

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.

Wat is een overzichtsdiagram van niet-functionele testen?

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:

  1. Beveiliging: Meet de mate waarin een systeem beveiligd is tegen opzettelijke en onopzettelijke aanvallen van interne of externe bronnen. Geverifieerd door middel van beveiligingstests.
  2. Betrouwbaarheid: De mate waarin een systeem continu en zonder storingen zijn gespecificeerde functies uitvoert. Geverifieerd door middel van betrouwbaarheidstesten.
  3. Overlevingsvermogen: Bevestigt dat het systeem blijft functioneren en zichzelf herstelt na een storing. Geverifieerd door middel van hersteltesten.
  4. Beschikbaarheid: Bepaalt de mate waarin een gebruiker tijdens de werking op het systeem kan vertrouwen. Geverifieerd door middel van stabiliteitstesten.
  5. Usability: Het gemak waarmee gebruikers het systeem kunnen leren kennen, bedienen, invoer kunnen voorbereiden en uitvoer kunnen verwerken. Geverifieerd door middel van gebruiksvriendelijkheidstests.
  6. schaalbaarheid: De mate waarin een softwareapplicatie zijn verwerkingscapaciteit kan uitbreiden om aan een stijgende vraag te voldoen. Geverifieerd door middel van schaalbaarheidstesten.
  7. interoperabiliteit: Controleert hoe een softwaresysteem samenwerkt met andere softwaresystemen. Dit wordt geverifieerd door middel van interoperabiliteitstesten.
  8. Efficiรซntie: De mate waarin het systeem de capaciteit, hoeveelheid en reactietijd onder belasting aankan.
  9. Flexibiliteit: Het gemak waarmee de applicatie kan werken met verschillende hardware- en softwareconfiguraties, zoals variรซrende RAM- of CPU-specificaties.
  10. Draagbaar: De flexibiliteit van de software om van de huidige hardware- of softwareomgeving naar een andere te migreren.
  11. Herbruikbaarheid: Verwijst naar het gedeelte van een softwaresysteem dat kan worden aangepast voor gebruik in een andere toepassing.

Diagram met parameters voor niet-functionele testen

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

Veelgestelde vragen

Functionele testen verifiรซren wat het systeem doet aan de hand van gespecificeerde eisen. Niet-functionele testen meten de prestaties van het systeem, waaronder snelheid, betrouwbaarheid, gebruiksgemak en beveiliging, en zorgen ervoor dat de applicatie voldoet aan kwaliteitsnormen die verder gaan dan alleen het gedrag van de kernfunctionaliteit.

Populaire tools zijn onder andere JMeter en LoadRunner voor betere prestaties. Selenium voor gebruiksvriendelijkheidsautomatisering, Burp Suite en OWASP ZAP voor beveiliging, en BrowserStack voor compatibiliteit. Elk hulpmiddel richt zich op een specifiek niet-functioneel gebied dat QA-teams willen meten.

Niet-functionele tests moeten beginnen zodra het systeem functioneel stabiel is en vรณรณr belangrijke releases. Prestatie-, beveiligings- en betrouwbaarheidstests worden meestal in latere testfasen gepland, maar strategieรซn zoals 'shift left' bevorderen een eerdere uitvoering, parallel aan de ontwikkeling.

Elke parameter wordt gemeten aan de hand van kwantificeerbare drempelwaarden. De prestaties worden gemeten in responstijd en doorvoer, de beveiliging aan de hand van het aantal kwetsbaarheden, de gebruiksvriendelijkheid aan de hand van het voltooiingspercentage van taken en de betrouwbaarheid aan de hand van de gemiddelde tijd tussen storingen. Numbers Vervang subjectieve meningen.

Beide. Prestatie-, belasting-, stress- en beveiligingstests zijn vanwege de schaalbaarheid en herhaalbaarheid sterk afhankelijk van automatisering. Gebruiksvriendelijkheids- en toegankelijkheidstests vereisen vaak handmatige observatie, beoordelingen door experts of controles met behulp van ondersteunende technologie, naast geautomatiseerde tools.

AI genereert belastingprofielen, voorspelt prestatieknelpunten, prioriteert risicovolle testgevallen en analyseert automatisch loggegevens. AI-gestuurde platforms verkorten de uitvoeringstijd en brengen regressies sneller aan het licht, waardoor problemen sneller kunnen worden opgelost.ping QA-teams schalen de niet-functionele dekking over verschillende releases heen.

Nee. AI versnelt scans, het creรซren van basislijnen en het detecteren van afwijkingen, maar ervaren testers interpreteren nog steeds de resultaten, valideren exploitketens en ontwerpen testscenario's. AI ondersteunt het menselijk oordeel bij niet-functionele tests, in plaats van ervaren QA-engineers te vervangen.

Vat dit bericht samen met: