Sobes.tech
Junior

Hoe kun je een fout (exceptie) krijgen tijdens het testen?

sobes.tech AI

Antwoord van AI

Fouten kunnen worden verkregen via:

  1. Functionaliteitsonderzoek:

    • Negatieve tests: Invoer van onjuiste gegevens, overschrijding van toegestane grenzen, onjuiste opmaak.
    • Grenswaardetests: Gebruik van minimale en maximale toegestane waarden.
    • Stress-tests: Overbelasting van het systeem.
    • Beveiligingstests: Pogingen tot injectie, ongeautoriseerde toegang.
    • Onderzoek naar afhankelijkheden: Uitschakeling of onjuiste werking van externe diensten.
    • Compatibiliteitstests: Gebruik van verschillende browsers, besturingssystemen, apparaten.
  2. Loganalyse en monitoring:

    • Bekijken van serverlogs, applicatielogs.
    • Gebruik van monitorsystemen om storingen en fouten in realtime te detecteren.
  3. Geautomatiseerde tests:

    • Unit-tests: Controle van afzonderlijke codecomponenten op fouten.
    • Integratietests: Controle van de interactie tussen modules.
    • End-to-End tests: Simulatie van gebruikersacties om fouten in de volledige stroom te vinden.
    • Load-tests: Detectie van fouten onder hoge belasting.
    • Fuzzing: Generatie van willekeurige of semi-willekeurige invoergegevens om crashes en kwetsbaarheden te vinden.
    # Voorbeeld van een test die een ZeroDivisionError kan veroorzaken
    def divide(a, b):
        return a / b
    
    # Test: verwacht ZeroDivisionError
    import pytest
    
    def test_divide_by_zero():
        with pytest.raises(ZeroDivisionError):
            divide(10, 0)
    
  4. Handmatige tests:

    • Systematische en exploratieve tests om niet-voor de hand liggende scenario's te identificeren.
    • Gebruikerstest (Usability Testing), waarbij niet-voor de hand liggende scenario's tot fouten kunnen leiden.
  5. Gebruik van code-analysetools:

    • Statische code-analyse om potentiële fouten en kwetsbaarheden te vinden.
    • Dynamische analyse om fouten tijdens het uitvoeren te detecteren.
  6. Analyse van vereisten en specificaties:

    • Het identificeren van afwijkingen tussen verwachte en feitelijke gedrag.
  7. Retrospectieve analyse:

    • Onderzoek van fouten uit het verleden om patronen en gemiste scenario's te identificeren.