Junior
Ի՞նչ է ծխի թեստը։
sobes.tech AI
Պատասխան AI-ից
Սմոքի թեստավորում (ծխի թեստավորում) — դա ծրագրային ապահովման թեստավորման տեսակ է, որը կատարվում է նոր բիլդի հավաքումից հետո՝ նրա հիմնական գործառույթներն ու կայունությունը արագ ստուգելու համար։ Մտադրությունը՝ որոշել, արդյոք արժե շարունակել ավելի խորքային թեստավորումը:
Հիմնական հատկանիշները՝
- Անցողային: Ստուգվում են միայն ամենակարևոր և կարևորված գործառույթները։
- Արագ: Կատարվում է կարճ ժամանակում՝ սովորաբար 30-60 րոպեում։
- Կրիտիկական: Ուղղված է լուրջ թերությունների հայտնաբերման, որոնք դարձնում են հետագա թեստավորումը անիմաստ։
- Gatekeeper: Եթե սմոքի թեստը ձախողվի, բիլդը մերժվում է, և ամբողջ թեստավորման ցիկլը չի կատարվում։
Օգտագործման սցենարներ՝
- Յուրաքանչյուր նոր բիլդ: Ստուգվում է յուրաքանչյուր նոր տարբերակի տեղադրման հետո։
- Արտաքին թողարկումից առաջ: Վերջնական արագ ստուգում՝ արտադրման նախորդ։
- Փոփոխությունների հետո: Ստուգվում է, արդյոք վերջին փոփոխությունները չեն խաթարել հիմնական գործառույթները։
Օրինակ՝ (վեբ-հավելվածի համար):
- Հիմնական էջի հաջող բեռնում։
- Մուտք գործելու հնարավորություն։
- Հիմնական բաժինների գործունակությունը (օրինակ՝ ապրանքների ցուցակի դիտում)։
- Դուրս գալու ճիշտ գործառույթը։
Սմոքի թեստերը կարող են լինել ինչպես ձեռքով, այնպես էլ ավտոմատացված։ Ավտոմատացումը մեծապես արագացնում է գործընթացը և ապահովում կայունություն։
# Պարզ ավտոմատացված սմոքի թեստի օրինակ՝ 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)
# Ստուգում, որ կա մուտքագրելու դաշտ
login_field = driver.find_element(By.ID, "login-input")
assert login_field.is_displayed(), "Մուտքագրելու դաշտը չի ցուցադրվում"
# Ստուգում, որ կա գաղտնաբառի դաշտ
password_field = driver.find_element(By.ID, "password-input")
assert password_field.is_displayed(), "Գաղտնաբառի դաշտը չի ցուցադրվում"
# Ստուգում, որ կա մուտք գործելու կոճակ
login_button = driver.find_element(By.ID, "login-button")
assert login_button.is_displayed(), "Մուտք գործելու կոճակը չի ցուցադրվում"
# Փորձել մուտք գործել (ընտրովի, կախված սմոքի խորությունից)
# login_field.send_keys(username)
# password_field.send_keys(password)
# login_button.click()
# assert "dashboard" in driver.current_url # Պարզում է փոխանցումը
print("Սմոքի թեստ՝ Հիմնական մուտքի տարրերը առկա են։")
return True
except Exception as e:
print(f"Սմոքի թեստը ձախողվեց: {e}")
return False
finally:
driver.quit()
# Օրինակ՝
# smoke_test_login("http://example.com/login", "testuser", "password123")