Sobes.tech
Junior

Kaip galima gauti klaidą (išimtį) testavimo metu?

sobes.tech AI

Atsakymas iš AI

Klaidų galima gauti šiais būdais:

  1. 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.
  2. Žurnalų ir stebėjimo analizė:

    • Serverio žurnalų, programų žurnalų peržiūra.
    • Naudojant stebėjimo sistemas klaidų ir sutrikimų aptikimui realiu laiku.
  3. 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)
    
  4. Rankinis testavimas:

    • Sisteminė ir tyrimų testavimas, neaiškių scenarijų nustatymui.
    • Naudojimo patogumo testavimas (Usability Testing), kur neaiškūs scenarijai gali sukelti klaidų.
  5. Kodo analizės įrankių naudojimas:

    • Statinė kodo analizė, potencialių klaidų ir pažeidžiamumų paieškai.
    • Dinaminė analizė, klaidų nustatymui vykdymo metu.
  6. Reikalavimų ir specifikacijų analizė:

    • Skirtumų tarp tikėtino ir faktinio elgesio nustatymas.
  7. Retrospektyvinė analizė:

    • Anksčiau rastų klaidų nagrinėjimas, dėsningumų ir praleistų scenarijų nustatymas.