Junior
Kuidas saab testimise käigus saada viga (erind)?
sobes.tech AI
Vastus AI-lt
Vigu saab saada järgmiselt:
-
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.
-
Logide ja jälgimise analüüs:
- Serveri logide, rakenduste logide vaatamine.
- Reaalajas vigade ja tõrgete avastamiseks kasutatavate jälgimissüsteemide kasutamine.
-
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) -
Käsitsi testimine:
- Süsteemne ja uurimuslik testimine, varjamatute stsenaariumite avastamiseks.
- Kasutamise mugavuse testimine (Usability Testing), kus varjamatud stsenaariumid võivad põhjustada vigu.
-
Koodi analüüsivahendite kasutamine:
- Statiline koodi analüüs, potentsiaalsete vigade ja haavatavuste otsimiseks.
- Dünaamiline analüüs, vigade avastamiseks jooksvalt.
-
Nõuete ja spetsifikatsioonide analüüs:
- Erinevuste leidmine oodatava ja tegeliku käitumise vahel.
-
Retrospektiivne analüüs:
- Varasemate vigade uurimine, mustrite ja vahelejäänud stsenaariumite avastamiseks.