Sobes.tech
Junior

Kuidas saab testimise käigus saada viga (erind)?

sobes.tech AI

Vastus AI-lt

Vigu saab saada järgmiselt:

  1. Funktsionaalsuse uurimine:

    • Negatiivne testimine: vale andmete sisestamine, lubatud väärtuste ületamine, vale vorming.
    • Piiritingimuste testimine: kasutades minimaalset ja maksimaalset lubatud väärtust.
    • Stressitestimine: süsteemi ülekoormus.
    • Turvatestimine: süstide katsetused, volitamata juurdepääs.
    • Sõltuvuste uurimine: väliste teenuste väljalülitamine või vale töö.
    • Ühilduvuse testimine: erinevate brauserite, operatsioonisüsteemide, seadmete kasutamine.
  2. Logide ja jälgimise analüüs:

    • Serveri logide, rakenduste logide vaatamine.
    • Reaalajas vigade ja tõrgete avastamiseks kasutatavate jälgimissüsteemide kasutamine.
  3. Automatiseeritud testimine:

    • Üksustestid: koodi eraldi komponentide kontrollimine vigade suhtes.
    • Integreerimistestid: moodulite vaheline koostöö.
    • Lõpust-lõpuni testid: kasutaja tegevuste jäljendamine kogu voos vigade leidmiseks.
    • Koormustestid: vigade avastamine suure koormuse korral.
    • Fuzzing: juhuslike või pooljuhuslike sisendandmete genereerimine kriššide ja haavatavuste leidmiseks.
    # Näide testist, mis võib põhjustada jagamise nulliga
    def divide(a, b):
        return a / b
    
    # Test: ootame ZeroDivisionError
    import pytest
    
    def test_divide_by_zero():
        with pytest.raises(ZeroDivisionError):
            divide(10, 0)
    
  4. Käsitsi testimine:

    • Süsteemne ja uurimuslik testimine, varjamatute stsenaariumite avastamiseks.
    • Kasutamise mugavuse testimine (Usability Testing), kus varjamatud stsenaariumid võivad põhjustada vigu.
  5. Koodi analüüsivahendite kasutamine:

    • Statiline koodi analüüs, potentsiaalsete vigade ja haavatavuste otsimiseks.
    • Dünaamiline analüüs, vigade avastamiseks jooksvalt.
  6. Nõuete ja spetsifikatsioonide analüüs:

    • Erinevuste leidmine oodatava ja tegeliku käitumise vahel.
  7. Retrospektiivne analüüs:

    • Varasemate vigade uurimine, mustrite ja vahelejäänud stsenaariumite avastamiseks.