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:
- Analýza zmien: Študij Release Notes, dokumentacije in specifikacij za razumevanje novosti, popravkov in odstranjene funkcije.
- Regresijsko testiranje: Izvajanje obstoječih testov za preverjanje stabilnosti osnovne funkcionalnosti, ki ni bila spremenjena.
- 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.
- Nastavitev testnega okolja: Konfiguracija okolja (strežniki, baza podatkov, zunanji vmesniki) v skladu z zahtevami nove verzije.
- Izvajanje testov: Zagon posodobljenega niza testov na novi verziji ali v novem okolju.
- Analiza rezultatov: Preučevanje neuspešnih testov, ugotavljanje root cause, vodenje defektov.
- 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")