Sobes.tech
Junior

Cum se scrie un test de fum?

sobes.tech AI

Răspuns de la AI

Testele de fum: identificăm funcțiile principale și critice ale aplicației. Creăm un set minim de teste pentru a verifica funcționalitatea "superficială" a acestor funcții. Le automatizăm pentru o rulare rapidă după fiecare compilare sau lansare.

Exemplu de structură a testului de fum (pseudo-cod):

# Test nr. 1: Verificarea autentificării reușite a utilizatorului pe site

def test_autentificare_reusita():
    # Navighează la pagina de login
    navigate_to("https://mysite.com/login")
    # Introdu datele corecte
    enter_username("user@example.com")
    enter_password("password123")
    # Apasă pe butonul "Autentificare"
    click_button("Autentificare")
    # Verifică prezența unui element sau URL care indică autentificarea reușită (de exemplu, link către profil)
    assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")

# Test nr. 2: Verificarea adăugării unui produs în coș

def test_adauga_produs_in_cos():
    # Navighează la pagina produsului
    navigate_to("https://mysite.com/products/item1")
    # Apasă pe butonul "Adaugă în coș"
    click_button("Adaugă în coș")
    # Verifică dacă contorul de articole din coș a fost actualizat
    assert get_cart_item_count() == 1

# Și așa mai departe pentru alte funcții critice (înregistrare, plată, căutare etc.)

Puncte cheie la scrierea testelor de fum:

  • Scurt și rapid: Testele trebuie să ruleze cât mai rapid.
  • Focus pe nucleu: Se verifică doar funcțiile "esențiale".
  • Stabilitate: Testele trebuie să fie rezistente la modificări minore care nu afectează logica critică.
  • Automatizare: Majoritatea testelor de fum sunt automatizate pentru integrare în pipeline-urile CI/CD.
  • Simplitate: Logica testelor trebuie să fie clară și ușor de întreținut.