Junior
Kaip galima gauti klaidą (išimtį) testavimo metu?
sobes.tech AI
Atsakymas iš AI
Klaidų galima gauti šiais būdais:
-
Funkcionalumo tyrimas:
- Neigiamas testavimas: neteisingų duomenų įvedimas, viršijant leidžiamas reikšmes, netinkamas formatavimas.
- Ribinių sąlygų testavimas: naudojant minimalias ir maksimalias leidžiamas reikšmes.
- Streso testavimas: perteklinis apkrovimas sistemai.
- Saugumo testavimas: injekcijų bandymai, neleistinas prieigos bandymas.
- Priklausomybių tyrimas: išjungimas arba netinkamas išorinių paslaugų veikimas.
- Suderinamumo testavimas: naudojant skirtingas naršykles, operacines sistemas, įrenginius.
-
Žurnalų ir stebėjimo analizė:
- Serverio žurnalų, programų žurnalų peržiūra.
- Naudojant stebėjimo sistemas klaidų ir sutrikimų aptikimui realiu laiku.
-
Automatizuotas testavimas:
- Vienetinių testų: atskirų kodo komponentų patikrinimas klaidų atžvilgiu.
- Integracinių testų: modulių sąveikos patikrinimas.
- End-to-End testai: naudotojo veiksmų imitacija visame sraute klaidų paieškai.
- Krovimo testai: klaidų nustatymas esant dideliam apkrovimui.
- Fuzzing: atsitiktinių arba pusiau atsitiktinių įvesties duomenų generavimas klaidų ir pažeidžiamumų paieškai.
# Pavyzdinis testas, kuris gali sukelti dalybos iš nulio klaidą def divide(a, b): return a / b # Testas: tikimės ZeroDivisionError import pytest def test_divide_by_zero(): with pytest.raises(ZeroDivisionError): divide(10, 0) -
Rankinis testavimas:
- Sisteminė ir tyrimų testavimas, neaiškių scenarijų nustatymui.
- Naudojimo patogumo testavimas (Usability Testing), kur neaiškūs scenarijai gali sukelti klaidų.
-
Kodo analizės įrankių naudojimas:
- Statinė kodo analizė, potencialių klaidų ir pažeidžiamumų paieškai.
- Dinaminė analizė, klaidų nustatymui vykdymo metu.
-
Reikalavimų ir specifikacijų analizė:
- Skirtumų tarp tikėtino ir faktinio elgesio nustatymas.
-
Retrospektyvinė analizė:
- Anksčiau rastų klaidų nagrinėjimas, dėsningumų ir praleistų scenarijų nustatymas.