Sobes.tech
Junior

Kaip parašyti smoke testą?

sobes.tech AI

Atsakymas iš AI

Dūmų testai. Nustatome pagrindines, kritiškai svarbias programėlės funkcijas. Sukuriame minimalų testų rinkinį, skirtą patikrinti šių funkcijų "ant paviršiaus" veikimą. Juos automatizuojame, kad būtų galima greitai juos paleisti po kiekvieno rinkinio ar leidimo.

Pavyzdinė dūmų testo struktūra (pseudo-kodas):

# Testas Nr.1: Sėkmingo vartotojo prisijungimo patikrinimas svetainėje

def test_successful_login():
    # Eikite į prisijungimo puslapį
    navigate_to("https://mysite.com/login")
    # Įveskite teisingus prisijungimo duomenis
    enter_username("user@example.com")
    enter_password("password123")
    # Spustelėkite "Prisijungti" mygtuką
    click_button("Prisijungti")
    # Patikrinkite, ar yra elementas arba URL, rodantis sėkmingą prisijungimą (pvz., nuoroda į profilį)
    assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")

# Testas Nr.2: Prekės pridėjimo į krepšelį patikrinimas

def test_add_item_to_cart():
    # Eikite į prekės puslapį
    navigate_to("https://mysite.com/products/item1")
    # Spustelėkite "Pridėti į krepšelį" mygtuką
    click_button("Pridėti į krepšelį")
    # Patikrinkite, ar prekių skaičius krepšelyje atnaujintas
    assert get_cart_item_count() == 1

# Ir taip toliau kitiems kritiniams funkcijoms (registracija, apmokėjimas, paieška ir kt.)

Svarbūs momentai rašant dūmų testus:

  • Trumpumas ir greitis: Testai turi būti vykdomi kuo greičiau.
  • Daugiausia dėmesio skiriama branduoliui: Tik pagrindinės "gyvybiškai svarbios" funkcijos.
  • Stabilumas: Testai turi būti atsparūs nedideliems pokyčiams, jei jie nepaveikia kritinės logikos.
  • Automatizacija: Dažniausiai dūmų testai yra automatizuoti integracijai CI/CD pipeline.
  • Paprastumas: Testų logika turi būti aiški ir lengvai palaikoma.