Sobes.tech
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:

  1. Pokyčių analizė: Tyrinėjant Release Notes, dokumentaciją ir specifikacijas, siekiant suprasti naujoves, pataisymus ir pašalintas funkcijas.
  2. Regresinis testavimas: esamų testų vykdymas, siekiant patikrinti pagrindinės funkcionalumo stabilumą, kuris nebuvo keičiamas.
  3. 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.
  4. Testavimo aplinkos konfigūracija: Aplinkos (serverių, duomenų bazių, trečiųjų šalių integracijų) nustatymas pagal naujos versijos reikalavimus.
  5. Testų vykdymas: atnaujintos testų rinkinio paleidimas naujoje versijoje ar aplinkoje.
  6. Rezultatų analizė: nepavykusių testų tyrimas, pagrindinės priežastys, klaidų registravimas.
  7. 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")