Sobes.tech
Junior

Nima bu tutun testi?

sobes.tech AI

AIdan javob

Tob tashlash (dumanli test) — bu yangi versiya yig‘ilgandan so‘ng bajariladigan dasturiy ta'minotni tezkor tekshirish uchun asosiy funksiyalar va barqarorlikni tekshirishga qaratilgan dasturiy ta'minot sinovining bir turi. Maqsad — keyingi chuqurroq testlarni davom ettirish yoki qilmaslikka qaror qilish.

Asosiy xususiyatlar:

  • Yuzaki: Faqat eng muhim va kritik funksiyalar tekshiriladi.
  • Tez: Qisqa vaqt ichida, odatda 30-60 daqiqadan oshmay bajariladi.
  • Kritik: Yirik xatoliklarni aniqlashga qaratilgan, bu esa qo‘shimcha testlarni ma'nosiz qiladi.
  • Gatekeeper: Agar to‘qimalash testi muvaffaqiyatsiz bo‘lsa, yig‘ilish rad etiladi va to‘liq test tsikli o‘tkazilmaydi.

Foydalanish holatlari:

  1. Har yangi yig‘ilish: Har bir yangi versiya joylashtirilgandan so‘ng tekshiriladi.
  2. Chiqarishdan oldin: Ishlab chiqarishga chiqarilishidan oldingi oxirgi tezkor tekshirish.
  3. O‘zgartirishlardan so‘ng: So‘nggi o‘zgartirishlar asosiy funksiyalarni buzmaganligini tekshirish.

Misol uchun (veb-ilova uchun):

  • Bosh sahifa muvaffaqiyatli yuklanadi.
  • Kirish imkoniyati.
  • Asosiy bo‘limlar (masalan, mahsulotlar ro‘yxatini ko‘rish) ishlashda.
  • Tizimdan to‘g‘ri chiqish.

Tob tashlash testlari qo‘lda yoki avtomatlashtirilgan bo‘lishi mumkin. Tob tashlash testlarini avtomatlashtirish jarayonni sezilarli darajada tezlashtiradi va tekshiruvlarning barqarorligini ta'minlaydi.

# Selenium yordamida oddiy avtomatlashtirilgan to‘qimalash testi misoli
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 maydonining mavjudligini tekshirish
        login_field = driver.find_element(By.ID, "login-input")
        assert login_field.is_displayed(), "Login maydoni ko‘rinmayapti"

        # Parol maydonining mavjudligini tekshirish
        password_field = driver.find_element(By.ID, "password-input")
        assert password_field.is_displayed(), "Parol maydoni ko‘rinmayapti"

        # Kirish tugmasining mavjudligini tekshirish
        login_button = driver.find_element(By.ID, "login-button")
        assert login_button.is_displayed(), "Kirish tugmasi ko‘rinmayapti"

        # Kirish urinishlari (ixtiyoriy, to‘qimalashning kengayishiga bog‘liq)
        # login_field.send_keys(username)
        # password_field.send_keys(password)
        # login_button.click()
        # assert "dashboard" in driver.current_url # Yo‘naltirishni tekshirish

        print("To‘qimalash testi: Asosiy kirish elementlari mavjud.")
        return True
    except Exception as e:
        print(f"To‘qimalash testi muvaffaqiyatsiz bo‘ldi: {e}")
        return False
    finally:
        driver.quit()

# Chaqirish misoli
# smoke_test_login("http://example.com/login", "testuser", "password123")