Junior
Hogyan írjunk smoke-tesztet?
sobes.tech MI
Válasz az MI-től
Duman tesztek. Az alkalmazás fő és kritikus funkcióit azonosítjuk. Egy minimális tesztkészletet hozunk létre ezeknek a funkcióknak a "felületi" működésének ellenőrzésére. Automatikusan futtatjuk őket minden build vagy kiadás után gyors végrehajtás érdekében.
Példa a duman teszt szerkezetére (pseudokód):
# 1. számú teszt: A felhasználó sikeres bejelentkezésének ellenőrzése
def test_sikeres_bejelentkezes():
# Navigálás a bejelentkezési oldalra
navigate_to("https://mysite.com/login")
# Helyes adatok megadása
enter_username("user@example.com")
enter_password("password123")
# Kattintás a "Bejelentkezés" gombra
click_button("Bejelentkezés")
# Ellenőrizze, hogy megjelent-e egy elem vagy URL, ami a sikeres bejelentkezést jelzi (pl. profil link)
assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")
# 2. számú teszt: Termék hozzáadása a kosárhoz
def test_termek_hozzaad():
# Navigálás a termék oldalra
navigate_to("https://mysite.com/products/item1")
# Kattintás a "Hozzáadás a kosárhoz" gombra
click_button("Hozzáadás a kosárhoz")
# Ellenőrizze, hogy a kosárban lévő termékek száma frissült
assert get_cart_item_count() == 1
# És így tovább más kritikus funkciókra (regisztráció, fizetés, keresés stb.)
A smoke tesztek írásakor figyelembe veendő pontok:
- Rövid és gyors: A teszteknek a lehető leggyorsabban kell futniuk.
- A mag fő funkcióira fókuszálva: Csak az "életbevágó" funkciókat teszteljük.
- Stabilitás: A teszteknek ellenállónak kell lenniük a kisebb változásokkal szemben, ha azok nem befolyásolják a kritikus logikát.
- Automatizálás: A smoke tesztek többsége automatizált a CI/CD pipeline-okba való integrációhoz.
- Egyszerűség: A tesztek logikájának érthetőnek és könnyen karbantarthatónak kell lennie.