Junior
Sniedziet piemērus, kā sākas testēšanas process.
sobes.tech AI
Atbilde no AI
Testēšanas process var sākties dažādos dzīves cikla posmos atkarībā no izvēlētās metodoloģijas un projekta specifikas.
Piemēri:
-
Agrīna testēšana (vai Shift-Left Testing):
- Sākas pirms koda rakstīšanas posmiem: prasību vākšana un analīze, arhitektūras un lietotāja saskarnes projektēšana.
- QA piedalās dokumentācijas (prasību, specifikāciju) pārskatīšanā, identificējot neskaidrības, pretrunas un potenciālas problēmas jau pašā sākumā.
- Testa gadījumu, pārbaudes sarakstu rakstīšana un testēšanas stratēģijas izstrāde paralēli izstrādei.
- Piemērojama Agile un DevOps pieejās.
-
Testēšana izstrādes posmā (Unit Testing, Integration Testing):
- Sākas, kad izstrādātāji sāk rakstīt kodu.
- Izstrādātāji raksta Unit-testus, lai pārbaudītu atsevišķas moduļus vai funkcijas.
- QA var piedalīties integrācijas testēšanas plānošanā, testu gadījumu rakstīšanā vai pat pašu integrācijas testu rakstīšanā, ja tie izmanto tās pašas ietvarus kā izstrādātāji (Automation QA).
-
Testēšana pēc izvietošanas (System Testing, Acceptance Testing, Regression Testing):
- Sākas pēc tam, kad noteiktas funkcionalitātes vai moduļa izstrāde ir pabeigta un tie ir apvienoti kopā.
- Veic visaptverošu sistēmas testēšanu kopumā.
- Lietotāji vai pasūtītāja pārstāvji veic pieņemšanas testēšanu.
- Pēc izmaiņu veikšanas tiek veikta regresijas testēšana, lai pārliecinātos, ka jaunas izmaiņas nav sabojājušas esošo funkcionalitāti.
-
Testēšana defektu atklāšanai ražošanā:
- Testēšanas process var tikt uzsākts, atklājot defektu darbībā esošā sistēmā lietotāja vai monitoringa rīku dēļ.
- QA veic defekta analīzi, to reproducēšanu, lokalizāciju un defekta ziņojuma izveidi.
- Sākas labojumu cikls un turpmāka labotās versijas testēšana.
# Piemērs QA iesaistei agrīnā testēšanā (prasību pārskatīšana)
def review_requirements(requirements_doc):
"""
Pseudo-koda funkcija prasību dokumenta pārskatīšanai QA speciālista lomā.
"""
issues_found = []
# Pilnības pārbaude
if not all_requirements_are_clear(requirements_doc):
issues_found.append("Dažas prasības ir neskaidras vai dvēselīgas.")
# Pretrunu pārbaude
if has_conflicting_requirements(requirements_doc):
issues_found.append("Atklātas pretrunīgas prasības.")
# Testējamības pārbaude
if not are_all_requirements_testable(requirements_doc):
issues_found.append("Dažas prasības ir grūti vai neiespējami pārbaudīt.")
return issues_found
# Sagaidāmās palīgfunkcijas
def all_requirements_are_clear(doc):
pass # Pārbaudes loģika
def has_conflicting_requirements(doc):
pass # Pretrunu pārbaudes loģika
def are_all_requirements_testable(doc):
pass # Testējamības pārbaudes loģika
Izvēle testa sākuma posma ir atkarīga no projekta stratēģijas, taču tendence uz testēšanas pārcelšanu uz kreiso pusi (agrīnu testēšanu) kļūst arvien izplatītāka, lai uzlabotu kvalitāti un samazinātu defektu labojuma izmaksas.