Sobes.tech
Junior

Ի՞նչ է ծխի թեստը։

sobes.tech AI

Պատասխան AI-ից

Սմոքի թեստավորում (ծխի թեստավորում) — դա ծրագրային ապահովման թեստավորման տեսակ է, որը կատարվում է նոր բիլդի հավաքումից հետո՝ նրա հիմնական գործառույթներն ու կայունությունը արագ ստուգելու համար։ Մտադրությունը՝ որոշել, արդյոք արժե շարունակել ավելի խորքային թեստավորումը:

Հիմնական հատկանիշները՝

  • Անցողային: Ստուգվում են միայն ամենակարևոր և կարևորված գործառույթները։
  • Արագ: Կատարվում է կարճ ժամանակում՝ սովորաբար 30-60 րոպեում։
  • Կրիտիկական: Ուղղված է լուրջ թերությունների հայտնաբերման, որոնք դարձնում են հետագա թեստավորումը անիմաստ։
  • Gatekeeper: Եթե սմոքի թեստը ձախողվի, բիլդը մերժվում է, և ամբողջ թեստավորման ցիկլը չի կատարվում։

Օգտագործման սցենարներ՝

  1. Յուրաքանչյուր նոր բիլդ: Ստուգվում է յուրաքանչյուր նոր տարբերակի տեղադրման հետո։
  2. Արտաքին թողարկումից առաջ: Վերջնական արագ ստուգում՝ արտադրման նախորդ։
  3. Փոփոխությունների հետո: Ստուգվում է, արդյոք վերջին փոփոխությունները չեն խաթարել հիմնական գործառույթները։

Օրինակ՝ (վեբ-հավելվածի համար):

  • Հիմնական էջի հաջող բեռնում։
  • Մուտք գործելու հնարավորություն։
  • Հիմնական բաժինների գործունակությունը (օրինակ՝ ապրանքների ցուցակի դիտում)։
  • Դուրս գալու ճիշտ գործառույթը։

Սմոքի թեստերը կարող են լինել ինչպես ձեռքով, այնպես էլ ավտոմատացված։ Ավտոմատացումը մեծապես արագացնում է գործընթացը և ապահովում կայունություն։

# Պարզ ավտոմատացված սմոքի թեստի օրինակ՝ 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")