Sobes.tech
Middle

Kas notiek ar testiem, pārejot starp versijām vai vidēm?

sobes.tech AI

Atbilde no AI

Ir ir nepieciešama testu pielāgošana izmaiņām.

Galvenās aktivitātes:

  1. Izmaiņu analīze: Pētījums par Release Notes, dokumentāciju un specifikācijām, lai saprastu jauninājumus, labojumus un noņemtās funkcijas.
  2. Regresijas testēšana: esošo testu izpilde, lai pārbaudītu galvenās funkcionalitātes stabilitāti, kas nav mainījusies.
  3. Testu atjaunināšana:
    • Testu gadījumi: soļu, gaidāmo rezultātu, priekšnosacījumu atjaunināšana, lai atbilstu jaunajai loģikai. Jaunu testu pievienošana jaunas funkcionalitātes pārklājumam. Veco noņemšana.
    • Automatizētie testi:
      • Elementu lokatoru atjaunināšana, ja UI struktūra ir mainījusies.
      • Testu loģikas maiņa, lai atbilstu jaunajai biznesa loģikai.
      • Jaunu automatizētu testu pievienošana.
      • Novecojušo testu arhivēšana vai dzēšana.
    • Testu dati: jaunu datu ģenerēšana vai atjaunināšana, atbilstoši jaunajam izlaišanas vai vidējas prasībām.
  4. Testēšanas vides konfigurācija: Vides (serveru, datu bāzes, trešo pušu integrāciju) konfigurācija atbilstoši jaunās versijas prasībām.
  5. Testu izpilde: atjauninātās testu kopas palaišana jaunajā versijā vai vidē.
  6. Rezultātu analīze: neveiksmīgu testu izpēte, galveno iemeslu noteikšana, defektu reģistrēšana.
  7. Ziņošana: testēšanas rezultātu, testu gadījumu un defektu ziņojumu sastādīšana.

Pārejot starp vidēm (Dev -> Stage -> Prod), galvenais uzsvars tiek likts uz stabilitātes, veiktspējas un integrāciju pārbaudi, maksimāli tuvu ražošanas apstākļiem. Testiem jābūt environment-agnostic, cik vien iespējams.

Pārejot starp versijām (v1.0 -> v1.1), uzmanība tiek pievērsta jaunās funkcionalitātes, labojumu un regresijas testēšanai, lai pārliecinātos, ka izmaiņas nav sabojājušas esošo.

Automatizēta testa pielāgošanas piemērs:

# Vecais kods (v1.0)
# Pāreja uz preču saraksta lapu
driver.find_element(By.CSS_SELECTOR, ".products-link").click()

# Jaunais kods (v1.1) - mainīts lokators un pievienots filtrs pēc kategorijas
# Pāreja uz preču lapu un filtrēšanas piemērošana
driver.find_element(By.XPATH, "//nav/a[text()='Katalogs']").click()
driver.find_element(By.ID, "category-filter").send_keys("Elektronika")