Junior
Pateikite pavyzdžių, kaip prasideda testavimo procesas.
sobes.tech AI
Atsakymas iš AI
Testavimo procesas gali prasidėti skirtinguose programinės įrangos kūrimo gyvavimo ciklo etapuose, priklausomai nuo pasirinktos metodologijos ir projekto ypatybių.
Pavyzdžiai:
-
Ankstyvas testavimas (arba Shift-Left Testing):
- Pradedamas etapais, kurie yra prieš rašant kodą: reikalavimų rinkimas ir analizė, architektūros ir naudotojo sąsajos projektavimas.
- QA dalyvauja dokumentacijos (reikalavimų, specifikacijų) peržiūroje, nustatydamas neaiškumus, prieštaravimus ir potencialias problemas pačioje ankstyviausioje stadijoje.
- Testų scenarijų, kontrolinių sąrašų rašymas ir testavimo strategijos formavimas paraleliai su kūrimu.
- Taikoma Agile ir DevOps metodikose.
-
Testavimas kūrimo etape (Unit Testing, Integration Testing):
- Pradedamas, kai programuotojai pradeda rašyti kodą.
- Programuotojai rašo vienetinius testus, tikrinančius atskirus modulius ar funkcijas.
- QA gali dalyvauti integracinio testavimo planavime, testų scenarijų rašyme ar net pačių integracinių testų rašyme, jei jie naudoja tas pačias framework'us kaip ir programuotojai (Automation QA).
-
Po diegimo vykdomas sisteminis testavimas, priėmimo testavimas, regresijos testavimas:
- Pradedamas, kai tam tikra funkcionalumas ar modulis yra užbaigtas ir sujungtas į visumą.
- Vykdomas išsamus visos sistemos testavimas.
- Naudotojai arba užsakovo atstovai atlieka priėmimo testavimą.
- Po pakeitimų atliekamas regresijos testavimas, siekiant įsitikinti, kad nauji pakeitimai nesugadino esamos funkcionalumo.
-
Klaidų aptikimo testavimas gamybos aplinkoje:
- Testavimo procesas gali būti inicijuotas aptikus klaidą veikiantį sistemą naudotojo ar stebėjimo įrankių.
- QA analizuoja klaidą, ją atkartoja, lokalizuoja ir sudaro ataskaitą.
- Pradedamas taisymo ciklas ir vėlesnis pataisyto versijos testavimas.
# QA dalyvavimo pavyzdys ankstyvame testavime (reikalavimų peržiūra)
def review_requirements(requirements_doc):
"""
Pseudo-kodas reikalavimų dokumento peržiūrai QA specialistu.
"""
issues_found = []
# Pilnumo patikrinimas
if not all_requirements_are_clear(requirements_doc):
issues_found.append("Kai kurie reikalavimai nėra aiškūs arba dviprasmiški.")
# Kontradiktorių patikrinimas
if has_conflicting_requirements(requirements_doc):
issues_found.append("Aptikti prieštaringi reikalavimai.")
# Testuojamumo patikrinimas
if not are_all_requirements_testable(requirements_doc):
issues_found.append("Kai kurie reikalavimai yra sunkiai arba neįmanoma ištestuoti.")
return issues_found
# Pagalbinės funkcijos
def all_requirements_are_clear(doc):
pass # Logika patikrinti aiškumą
def has_conflicting_requirements(doc):
pass # Logika patikrinti prieštaravimus
def are_all_requirements_testable(doc):
pass # Logika patikrinti testuojamumą
Testavimo pradžia priklauso nuo projekto strategijos, tačiau tendencija yra perkelti testavimą į ankstesnius etapus (ankstyvas testavimas), siekiant pagerinti kokybę ir sumažinti klaidų taisymo išlaidas.