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.