Sobes.tech
Middle

Co se děje s testy při přechodech mezi verzemi nebo prostředími?

sobes.tech AI

Odpověď od AI

Je třeba přizpůsobit testy změnám.

Klíčové aktivity:

  1. Analýza změn: Studium Release Notes, dokumentace a specifikací pro pochopení novinek, oprav a odstraněných funkcí.
  2. Regresní testování: Spuštění stávajících testů pro ověření stability hlavní funkčnosti, která se nezměnila.
  3. Aktualizace testů:
    • Testovací případy: Aktualizace kroků, očekávaných výsledků, předpokladů tak, aby odpovídaly nové logice. Přidání nových testovacích případů pro pokrytí nové funkčnosti. Odstranění zastaralých.
    • Automatizované testy:
      • Aktualizace lokalizátorů prvků, pokud se změnila struktura UI.
      • Změna logiky testů tak, aby odpovídala nové obchodní logice.
      • Přidání nových automatizovaných testů.
      • Archivace nebo odstranění nerelevantních testů.
    • Testovací data: Aktualizace nebo tvorba nových dat odpovídajících požadavkům nové verze nebo prostředí.
  4. Konfigurace testovacího prostředí: Nastavení prostředí (servery, databáze, externí integrace) podle požadavků nové verze.
  5. Spuštění testů: Spuštění aktualizovaného souboru testů na nové verzi nebo v novém prostředí.
  6. Analýza výsledků: Vyšetření neúspěšných testů, identifikace příčiny, zaznamenání chyb.
  7. Zpráva: Vypracování zprávy o výsledcích testování, stavu testovacích případů a chyb.

Při přechodu mezi prostředími (Dev -> Stage -> Prod) je hlavní zaměření na kontrolu stability, výkonu a integrací za podmínek, které jsou co nejblíže produkci. Testy by měly být prostředí-nezávislé, pokud je to možné.

Při přechodu mezi verzemi (v1.0 -> v1.1) se zaměření přesouvá na testování nové funkčnosti, kontrolu oprav a regresí, aby bylo zajištěno, že změny nezpůsobily poruchu stávajících funkcí.

Příklad přizpůsobení automatizovaného testu:

# Starý kód (v1.0)
# Přechod na stránku seznamu produktů
driver.find_element(By.CSS_SELECTOR, ".products-link").click()

# Nový kód (v1.1) - změněný lokalizátor a přidání filtru podle kategorie
# Přechod na stránku produktů a použití filtru
driver.find_element(By.XPATH, "//nav/a[text()='Каталог']").click()
driver.find_element(By.ID, "category-filter").send_keys("Электроника")