Sobes.tech
Junior

Kas ir dūmu tests?

sobes.tech AI

Atbilde no AI

Smarķēšanas tests (dūmu tests) ir programmatūras testēšanas veids, kas tiek veikts pēc jauna būvniecības versijas izveides, lai ātri pārbaudītu tās pamatfunkcionalitāti un stabilitāti. Mērķis ir noteikt, vai ir vērts turpināt tālāku, dziļāku testēšanu.

Galvenās īpašības:

  • Pārskatāms: Tiek pārbaudītas tikai vissvarīgākās un kritiskākās funkcijas.
  • Ātrs: Veicams īsā laikā, parasti ne ilgāk kā 30-60 minūtēs.
  • Kritisks: Vērsts uz nopietnu defektu atklāšanu, kas padara turpmāko testēšanu bezjēdzīgu.
  • Gatekeeper: Ja smoka tests neizdodas, būvējums tiek noraidīts, un pilns testēšanas cikls netiek veikts.

Izmantošanas scenāriji:

  1. Katrs jauns būvējums: Pārbaudīts pēc katras jaunas versijas izvietošanas.
  2. Pirms izlaišanas: Galīgais ātrais pārbaudījums pirms izdošanas ražošanā.
  3. Pēc izmaiņām: Pārbaudīts, vai nesenās izmaiņas nav sabojājušas galvenās funkcijas.

Piemērs (tīmekļa lietojumprogrammai):

  • Galvenās lapas veiksmīga ielāde.
  • Pieslēgšanās iespēja.
  • Galveno sadaļu funkcionalitāte (piemēram, preču saraksta apskate).
  • Pareiza iziešana no sistēmas.

Smark-testus var veikt gan manuāli, gan automatizēti. Automatizācija ievērojami paātrina procesu un nodrošina stabilitāti.

# Vienkārša automatizēta smark-test piemērs, izmantojot Selenium
from selenium import webdriver
from selenium.webdriver.common.by import By

def smoke_test_login(url, username, password):
    driver = webdriver.Chrome()
    try:
        driver.get(url)
        # Pārbaude, vai ir ievades lauks
        login_field = driver.find_element(By.ID, "login-input")
        assert login_field.is_displayed(), "Iešanas lauks nav redzams"

        # Pārbaude, vai ir paroles lauks
        password_field = driver.find_element(By.ID, "password-input")
        assert password_field.is_displayed(), "Paroles lauks nav redzams"

        # Pārbaude, vai ir pieslēgšanās poga
        login_button = driver.find_element(By.ID, "login-button")
        assert login_button.is_displayed(), "Pieslēgšanās poga nav redzama"

        # Mēģinājums pieslēgties (nepieciešams, atkarīgs no smoka testēšanas dziļuma)
        # login_field.send_keys(username)
        # password_field.send_keys(password)
        # login_button.click()
        # assert "dashboard" in driver.current_url # Pāradresēšanas pārbaude

        print("Smark-tests: Galvenie pieslēgšanās elementi ir pieejami.")
        return True
    except Exception as e:
        print(f"Smark-tests neizdevās: {e}")
        return False
    finally:
        driver.quit()

# Piemērs izsaukšanai:
# smoke_test_login("http://example.com/login", "testuser", "password123")