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.