Middle
Kas vyksta su testais pereinant tarp versijų ar aplinkų?
sobes.tech AI
Atsakymas iš AI
Yra poreikis pritaikyti testus prie pokyčių.
Pagrindinės veiklos:
- Pokyčių analizė: Tyrinėjant Release Notes, dokumentaciją ir specifikacijas, siekiant suprasti naujoves, pataisymus ir pašalintas funkcijas.
- Regresinis testavimas: esamų testų vykdymas, siekiant patikrinti pagrindinės funkcionalumo stabilumą, kuris nebuvo keičiamas.
- Testų atnaujinimas:
- Testų atvejai: žingsnių, laukiamų rezultatų, išankstinių sąlygų atnaujinimas, kad atitiktų naują logiką. Naujų testų pridėjimas naujai funkcionalumui padengti. Senų pašalinimas.
- Automatizuoti testai:
- Elementų lokatorių atnaujinimas, jei UI struktūra pasikeitė.
- Testų logikos keitimas, kad atitiktų naują verslo logiką.
- Nauji automatizuoti testai.
- Pasenusių testų archyvavimas arba ištrynimas.
- Testų duomenys: naujų duomenų generavimas arba atnaujinimas, atitinkantis naujo leidimo ar aplinkos reikalavimus.
- Testavimo aplinkos konfigūracija: Aplinkos (serverių, duomenų bazių, trečiųjų šalių integracijų) nustatymas pagal naujos versijos reikalavimus.
- Testų vykdymas: atnaujintos testų rinkinio paleidimas naujoje versijoje ar aplinkoje.
- Rezultatų analizė: nepavykusių testų tyrimas, pagrindinės priežastys, klaidų registravimas.
- Ataskaitų rengimas: testavimo rezultatų, testų atvejų ir klaidų ataskaitos sudarymas.
Per pereinant tarp aplinkų (Dev -> Stage -> Prod), pagrindinis dėmesys skiriamas stabilumo, našumo ir integracijų patikrinimui, esant kuo artimesniems gamybos sąlygoms. Testai turi būti environment-agnostic, kiek įmanoma.
Per pereinant tarp versijų (v1.0 -> v1.1), dėmesys sutelkiamas į naujos funkcionalumo, pataisymų ir regresijos testavimą, siekiant įsitikinti, kad pakeitimai nesugadino esamos.
Automatizuoto testo pritaikymo pavyzdys:
# Senasis kodas (v1.0)
# Pereiti į prekių sąrašo puslapį
driver.find_element(By.CSS_SELECTOR, ".products-link").click()
# Naujas kodas (v1.1) - pakeistas lokatorius ir pridėtas filtras pagal kategoriją
# Pereiti į prekių puslapį ir taikyti filtrą
driver.find_element(By.XPATH, "//nav/a[text()='Katalogas']").click()
driver.find_element(By.ID, "category-filter").send_keys("Elektronika")