Sobes.tech
Junior

Hoe schrijf je een smoke-test?

sobes.tech AI

Antwoord van AI

Smoke-tests. We identificeren de belangrijkste, kritieke functies van de applicatie. We maken een minimale set tests om de "oppervlakkige" werking van deze functies te controleren. We automatiseren ze voor snelle uitvoering na elke build of release.

Voorbeeld van structuur van een smoke-test (pseudo-code):

# Test nr. 1: Controleer succesvolle login van de gebruiker op de site

def test_succesvolle_login():
    # Ga naar de loginpagina
    navigate_to("https://mysite.com/login")
    # Voer correcte inloggegevens in
    enter_username("user@example.com")
    enter_password("password123")
    # Klik op de "Inloggen" knop
    click_button("Inloggen")
    # Controleer de aanwezigheid van een element of URL die wijst op succesvolle login (bijvoorbeeld profiel link)
    assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")

# Test nr. 2: Controleer het toevoegen van een artikel aan de winkelwagen

def test_voeg_artikel_toe():
    # Ga naar de productpagina
    navigate_to("https://mysite.com/products/item1")
    # Klik op de knop "Toevoegen aan winkelwagen"
    click_button("Toevoegen aan winkelwagen")
    # Controleer of de teller van artikelen in de winkelwagen is bijgewerkt
    assert get_cart_item_count() == 1

# En zo verder voor andere kritische functies (registratie, betaling, zoeken, etc.)

Belangrijke punten bij het schrijven van smoke-tests:

  • Kort en snel: Tests moeten zo snel mogelijk worden uitgevoerd.
  • Focus op de kern: Alleen de "levensbelangrijke" functies worden getest.
  • Stabiliteit: Tests moeten bestand zijn tegen kleine veranderingen die de kritieke logica niet beïnvloeden.
  • Automatisering: De meeste smoke-tests zijn geautomatiseerd voor integratie in CI/CD pipelines.
  • Eenvoud: De logica van de tests moet begrijpelijk en gemakkelijk te onderhouden zijn.