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 # Redirectти текшерүү

        print("Смок-тест: Негизги кирүү элементтери бар.")
        return True
    except Exception as e:
        print(f"Смок-тест жыйынтыгы: {e}")
        return False
    finally:
        driver.quit()

# Чакырган мисал:
# smoke_test_login("http://example.com/login", "testuser", "password123")