Junior
Come scrivere un test di fumata?
sobes.tech AI
Risposta dell'AI
Test di fumata. Identifichiamo le funzioni principali e critiche dell'applicazione. Creiamo un set minimo di test per verificare il funzionamento "superficiale" di queste funzioni. Automatizziamo questi test per un'esecuzione rapida dopo ogni build o rilascio.
Esempio di struttura di test di fumata (pseudo-codice):
# Test n°1: Verifica del login utente riuscito sul sito
def test_login_riuscito():
# Naviga alla pagina di login
navigate_to("https://mysite.com/login")
# Inserisci credenziali corrette
enter_username("user@example.com")
enter_password("password123")
# Clicca sul pulsante "Accedi"
click_button("Accedi")
# Verifica la presenza di un elemento o URL che indica login riuscito (ad esempio, link al profilo)
assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")
# Test n°2: Verifica aggiunta di un articolo al carrello
def test_aggiungi_articolo_al_carrello():
# Naviga alla pagina del prodotto
navigate_to("https://mysite.com/products/item1")
# Clicca sul pulsante "Aggiungi al carrello"
click_button("Aggiungi al carrello")
# Verifica che il contatore degli articoli nel carrello sia stato aggiornato
assert get_cart_item_count() == 1
# E così via per altre funzioni critiche (registrazione, pagamento, ricerca, ecc.)
Punti chiave nella scrittura di test di fumata:
- Breve e veloce: I test devono essere eseguiti il più rapidamente possibile.
- Focus sul core: Vengono testate solo le funzioni "essenziali".
- Stabilità: I test devono essere resistenti a modifiche minori che non influenzano la logica critica.
- Automazione: La maggior parte dei test di fumata sono automatizzati per l'integrazione nelle pipeline CI/CD.
- Semplicità: La logica dei test deve essere comprensibile e facilmente manutenibile.