Sobes.tech
Middle

Čo sa deje s testami pri prechodoch medzi verziami alebo prostrediami?

sobes.tech AI

Odpoveď od AI

Existuje potreba po prilagajanju testov na spremembe.

Ključne aktivnosti:

  1. Analýza zmien: Študij Release Notes, dokumentacije in specifikacij za razumevanje novosti, popravkov in odstranjene funkcije.
  2. Regresijsko testiranje: Izvajanje obstoječih testov za preverjanje stabilnosti osnovne funkcionalnosti, ki ni bila spremenjena.
  3. Posodobitev testov:
    • Testni primeri: Posodobitev korakov, pričakovanih rezultatov, predpogojev za skladnost z novo logiko. Dodajanje novih testnih primerov za pokrivanje nove funkcionalnosti. Odstranjevanje zastarelih.
    • Avtomatizirani testi:
      • Posodobitev lokatorjev elementov, če se je spremenila struktura UI.
      • Sprememba logike testov za skladnost z novo poslovno logiko.
      • Dodajanje novih avtomatiziranih testov.
      • Arhiviranje ali brisanje neaktualnih testov.
    • Testni podatki: Posodobitev ali ustvarjanje nove generacije podatkov v skladu z zahtevami nove izdaje ali okolja.
  4. Nastavitev testnega okolja: Konfiguracija okolja (strežniki, baza podatkov, zunanji vmesniki) v skladu z zahtevami nove verzije.
  5. Izvajanje testov: Zagon posodobljenega niza testov na novi verziji ali v novem okolju.
  6. Analiza rezultatov: Preučevanje neuspešnih testov, ugotavljanje root cause, vodenje defektov.
  7. Porocanje: Sestavljanje poročila o rezultatih testiranja, statusu test primerov in defektov.

Ob prehodu med okolišči (Dev -> Stage -> Prod) je glavni poudarek na preverjanju stabilnosti, zmogljivosti in integracij v pogojih, ki so čim bolj podobni produkciji. Testi morajo biti environment-agnostic, kolikor je mogoče.

Ob prehodu med verzijo (v1.0 -> v1.1) se osredotoča na testiranje nove funkcionalnosti, preverjanje popravkov in regresijo, da se zagotovi, da spremembe niso pokvarile obstoječe funkcionalnosti.

Primer prilagoditve avtomatiziranega testa:

# Stari koda (v1.0)
# Prehod na stran seznamov izdelkov
driver.find_element(By.CSS_SELECTOR, ".products-link").click()

# Nova koda (v1.1) - spremenjen lokator in dodan filter po kategoriji
# Prehod na stran izdelkov in uporaba filtra
driver.find_element(By.XPATH, "//nav/a[text()='Katalog']").click()
driver.find_element(By.ID, "category-filter").send_keys("Elektronika")