Junior
Hoe kun je een fout (exceptie) krijgen tijdens het testen?
sobes.tech AI
Antwoord van AI
Fouten kunnen worden verkregen via:
-
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.
-
Loganalyse en monitoring:
- Bekijken van serverlogs, applicatielogs.
- Gebruik van monitorsystemen om storingen en fouten in realtime te detecteren.
-
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) -
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.
-
Gebruik van code-analysetools:
- Statische code-analyse om potentiële fouten en kwetsbaarheden te vinden.
- Dynamische analyse om fouten tijdens het uitvoeren te detecteren.
-
Analyse van vereisten en specificaties:
- Het identificeren van afwijkingen tussen verwachte en feitelijke gedrag.
-
Retrospectieve analyse:
- Onderzoek van fouten uit het verleden om patronen en gemiste scenario's te identificeren.