Sobes.tech
Junior

Kako dobiti grešku (izuzetak) tokom testiranja?

sobes.tech АИ

Одговор од АИ

Greške se mogu dobiti putem:

  1. Istraživanje funkcionalnosti:

    • Negativni testovi: Unos netačnih podataka, prekoračenje dozvoljenih granica, netačno formatiranje.
    • Testovi granica: Korišćenje minimalnih i maksimalnih dozvoljenih vrednosti.
    • Testovi opterećenja: Preopterećenje sistema.
    • Testovi bezbednosti: Pokušaji injekcija, neovlašćeni pristup.
    • Istraživanje zavisnosti: Isključivanje ili neispravno funkcionisanje eksternih servisa.
    • Testiranje kompatibilnosti: Korišćenje različitih pregledača, operativnih sistema, uređaja.
  2. Analiza logova i nadzor:

    • Pregled server logova, logova aplikacija.
    • Korišćenje sistema za nadzor za otkrivanje kvarova i grešaka u realnom vremenu.
  3. Automatizovani testovi:

    • Jedinični testovi: Provera pojedinačnih komponenti koda na greške.
    • Integracioni testovi: Provera interakcije modula.
    • End-to-End testovi: Simulacija akcija korisnika za pronalaženje grešaka u celokupnom toku.
    • Testovi opterećenja: Otkrivanje grešaka pri velikom opterećenju.
    • Fuzzing: Generisanje slučajnih ili poluslučajnih ulaznih podataka za pronalaženje padova i ranjivosti.
    # Primer testa koji može izazvati grešku deljenja nulom
    def divide(a, b):
        return a / b
    
    # Test: očekuje se ZeroDivisionError
    import pytest
    
    def test_divide_by_zero():
        with pytest.raises(ZeroDivisionError):
            divide(10, 0)
    
  4. Ručno testiranje:

    • Sistematsko i istraživačko testiranje za otkrivanje nejasnih scenarija.
    • Testovi upotrebljivosti, gde nejasni scenariji mogu dovesti do grešaka.
  5. Korišćenje alata za analizu koda:

    • Statika analiza koda za pronalaženje potencijalnih grešaka i ranjivosti.
    • Dinamička analiza za otkrivanje grešaka tokom izvršavanja.
  6. Analiza zahteva i specifikacija:

    • Otkrivanje razlika između očekivanog i stvarnog ponašanja.
  7. Retrospektivna analiza:

    • Istraživanje grešaka iz prošlosti za identifikaciju obrazaca i propuštenih scenarija.