Junior
Tooge näiteid, kuidas testimisprotsess algab.
sobes.tech AI
Vastus AI-lt
Testimise protsess võib alata erinevatel tarkvaraarendusel elutsükli etappidel, sõltuvalt valitud metoodikast ja projekti spetsiifikast.
Näited:
-
Varajane testimine (või Shift-Left Testing):
- Algab enne koodi kirjutamise etappe: nõuete kogumine ja analüüs, arhitektuuri ja kasutajaliidese disain.
- QA osaleb dokumentatsiooni (nõuded, spetsifikatsioonid) ülevaatuses, tuvastades ebaselgusi, vastuolusid ja potentsiaalseid probleeme juba varases staadiumis.
- Testjuhtumite, kontrollnimekirjade kirjutamine ja testimisstrateegia koostamine paralleelselt arendusega.
- Rakendatav Agile ja DevOps lähenemistes.
-
Testimine arendusfaasis (Unit Testing, Integration Testing):
- Alustatakse, kui arendajad hakkavad koodi kirjutama.
- Arendajad kirjutavad unit-teste, et kontrollida üksikuid mooduleid või funktsioone.
- QA võib osaleda integratsioonitestimise planeerimises, testjuhtumite kirjutamises või isegi integratsioonitestide kirjutamises, kui nad kasutavad samu raamistikke nagu arendajad (Automation QA).
-
Testimine pärast juurutamist (System Testing, Acceptance Testing, Regression Testing):
- Alustatakse pärast vastava funktsionaalsuse või mooduli arenduse lõpetamist ja nende ühendamist.
- Teostatakse terviklik süsteemi testimine.
- Kasutajad või tellija esindajad teevad vastuvõtutestid.
- Muudatuste tegemise järel teostatakse regressioonitestid, et veenduda, et uued muudatused ei ole rikkunud olemasolevat funktsionaalsust.
-
Vea avastamise testimine tootmises:
- Testimisprotsess võib alata, kui kasutaja või jälgimisvahendid avastavad töötab süsteemis vea.
- QA analüüsib viga, taasalustab selle reprodutseerimise, lokaliseerimise ja vea aruande koostamise.
- Algab paranduste tsükkel ja järgneva parandatud versiooni testimine.
# Näide QA osalemisest varajases testimises (nõuete ülevaatus)
def review_requirements(requirements_doc):
"""
Pseudo-kood funktsioon nõuete dokumendi ülevaatamiseks QA spetsialistina.
"""
issues_found = []
# Täpsuse kontroll
if not all_requirements_are_clear(requirements_doc):
issues_found.append("Mõned nõuded on ebaselged või kaheldavad.")
# Vastuolude kontroll
if has_conflicting_requirements(requirements_doc):
issues_found.append("Leitud vastuolulisi nõudeid.")
# Testitavuse kontroll
if not are_all_requirements_testable(requirements_doc):
issues_found.append("Mõned nõuded on raskesti või võimatu testida.")
return issues_found
# Eeldatavad abifunktsioonid
def all_requirements_are_clear(doc):
pass # Kontrolli loogika
def has_conflicting_requirements(doc):
pass # Vastuolude kontrolli loogika
def are_all_requirements_testable(doc):
pass # Testitavuse kontrolli loogika
Testimise alguspunkti valik sõltub projekti strateegiast, kuid tendents testimise nihutamiseks vasakule poole (varajane testimine) muutub üha populaarsemaks, et parandada kvaliteeti ja vähendada defektide parandamise kulusid.