Handmatige testen (IT)Tester (QA-engineer)

Wat is positieve en negatieve testing, wat zijn de verschillen en waarom zijn beide soorten belangrijk?

Slaag voor sollicitatiegesprekken met de Hintsage AI-assistent

Antwoord.

Historie van de vraag:

Handmatige testing was oorspronkelijk gebaseerd op de gewoonte om alleen die scenario's te testen die overeenkomen met de eisen en het verwachte gedrag van het systeem (de zogenaamde "positieve scenario's"). Na verloop van tijd werd duidelijk dat software vaak faalt onder onverwachte of onjuiste voorwaarden waaraan niet was gedacht.

Probleem:

Alleen positieve scenario's garanderen niet de stabiliteit en betrouwbaarheid van de applicatie. Als negatieve scenario's (bijvoorbeeld onjuiste invoer, ongeoorloofde handelingen) niet worden getest, kunnen ernstige defecten worden gemist die zich bij echte gebruikers kunnen voordoen.

Oplossing:

Beide testsoorten uitvoeren:

  • Positieve testing — controleert of het systeem werkt volgens de eisen bij correcte gegevens en handelingen van de gebruiker.
  • Negatieve testing — controleert het systeem op stabiliteit en weerbaarheid tegen onjuiste, ongebruikelijke of incorrecte handelingen en gegevens.

Belangrijke kenmerken:

  • Het is niet mogelijk om kwaliteit te waarborgen met slechts één type testing.
  • Negatieve testing helpt fouten te vinden die minder vaak optreden bij normaal gebruik.
  • Positieve cases zijn gebaseerd op eisen, negatieve op hun schending.

Misleidende vragen.

Kan negatieve testing worden genegeerd als het product een volledige set positieve scenario's doorstaat?

Nee. Fouten die optreden in negatieve scenario's hebben vaak een kritische invloed op de veiligheid en betrouwbaarheid van het product.

Moeten negatieve tests per se leiden tot programmatuurfouten?

Nee, een goed uitgevoerde programmatuur moet onjuiste gegevens correct verwerken in negatieve scenario's, zonder "te crashen" of onjuiste resultaten weer te geven.

Is het even belangrijk om positieve en negatieve tests voor alle delen van het systeem te schrijven?

Nee, soms kan de omvang van negatieve scenario's voor niet-kritische of gevestigde delen van systemen worden verminderd, maar voor kwetsbare en kritische punten is dit noodzakelijk.

Typische fouten en anti-patronen

  • Volledige negeren van negatieve scenario's.
  • Te oppervlakkige negatieve testing (bijvoorbeeld: slechts één onjuiste invoer gecontroleerd).
  • Onbegrip van het verschil tussen positieve en negatieve testing.

Voorbeeld uit het leven

Negatieve case

Bij een bedrijf werd tijdens de testing van het registratieformulier op de website alleen gecontroleerd op correcte waarden (toegestane e-mail, wachtwoorden, enz.), zonder rekening te houden met onjuiste opties.

Voordelen:

  • Snel ontwikkelings- en testproces.

Nadelen:

  • Na de lancering konden gebruikers het formulier indienen met ongeldige e-mails, wat leidde tot fouten in de mailing en negatieve feedback.

Positieve case

De tester voegde tests toe voor het invoeren van ongeldige e-mail, te korte en te lange wachtwoorden en speciale tekens in alle velden.

Voordelen:

  • Het systeem is bestand tegen gebruikersfouten, de datastructuur is altijd geldig.

Nadelen:

  • Er was extra tijd nodig voor het uitwerken van negatieve scenario's, maar dit werd gecompenseerd door het verminderen van het aantal bugs in gebruik.