Junior
Nədir tüstü testi?
sobes.tech Süni İntellekt
AI-dan cavab
Tüst test (duman testi) yeni versiya yığılmasından sonra yerinə yetirilən proqram təminatının əsas funksionallığını və sabitliyini sürətlə yoxlamaq üçün istifadə olunan proqram təminatı testinin növüdür. Məqsəd, daha dərin testlərə davam edib etməməyə qərar verməkdir.
Əsas xüsusiyyətlər:
- Yüzeysel: Yalnız ən vacib və kritik funksiyalar yoxlanılır.
- Sürətli: Qısa müddətdə, adətən 30-60 dəqiqə ərzində yerinə yetirilir.
- Kritik: Əhəmiyyətli çatışmazlıqları aşkar etməyə yönəlib, bu da əlavə testləri mənasız edir.
- Gatekeeper: Əgər tüstü testi uğursuz olarsa, yığma rədd edilir və tam test dövrü həyata keçirilmir.
İstifadə ssenariləri:
- Hər yeni yığma: Hər yeni versiyanın yerləşdirilməsindən sonra yoxlanılır.
- Buraxılışdan əvvəl: İstehsalata çıxmadan əvvəl son sürətli yoxlama.
- Dəyişikliklərdən sonra: Son dəyişikliklərin əsas funksiyaları pozmadığından əmin olmaq üçün yoxlanılır.
Nümunə yoxlama (veb tətbiqi üçün):
- Əsas səhifənin uğurlu yüklənməsi.
- Giriş imkanı.
- Əsas bölmələrin işləməsi (məsələn, məhsul siyahısına baxış).
- Sistemdən düzgün çıxış.
Tüstü testləri həm əl ilə, həm də avtomatlaşdırılmış şəkildə həyata keçirilə bilər. Avtomatlaşdırma prosesini xeyli sürətləndirir və yoxlamaların sabitliyini təmin edir.
# Selenium istifadə edərək sadə avtomatlaşdırılmış tüstü testi nümunəsi
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)
# Giriş üçün sahənin olub-olmadığını yoxlamaq
login_field = driver.find_element(By.ID, "login-input")
assert login_field.is_displayed(), "Giriş sahəsi görünmür"
# Şifrə üçün sahənin olub-olmadığını yoxlamaq
password_field = driver.find_element(By.ID, "password-input")
assert password_field.is_displayed(), "Şifrə sahəsi görünmür"
# Giriş düyməsinin olub-olmadığını yoxlamaq
login_button = driver.find_element(By.ID, "login-button")
assert login_button.is_displayed(), "Giriş düyməsi görünmür"
# Giriş cəhdləri (istəyə bağlı, tüstü testinin əhatəsinə bağlı)
# login_field.send_keys(username)
# password_field.send_keys(password)
# login_button.click()
# assert "dashboard" in driver.current_url # Yönləndirməni yoxlamaq
print("Tüstü testi: Əsas giriş elementləri mövcuddur.")
return True
except Exception as e:
print(f"Tüstü testi uğursuz oldu: {e}")
return False
finally:
driver.quit()
# Çağırış nümunəsi
# smoke_test_login("http://example.com/login", "testuser", "password123")