Sobes.tech
Junior

Qanday qilib smoke-test yoziladi?

sobes.tech AI

AIdan javob

Duman testlari. Dasturning asosiy va kritik funksiyalarini aniqlaymiz. Ushbu funksiyalarning "sirtqi" ishlashini tekshirish uchun minimal testlar to'plamini yaratamiz. Ularni har bir yig'ish yoki chiqarishdan keyin tez bajarilishi uchun avtomatlashtiramiz.

Duman testi tuzilmasining misoli (psevdokod):

# Test №1: Foydalanuvchining muvaffaqiyatli kirishini tekshirish

def test_muvaffaqiyatli_kirish():
    # Kirish sahifasiga o'tish
    navigate_to("https://mysite.com/login")
    # To'g'ri ma'lumotlarni kiritish
    enter_username("user@example.com")
    enter_password("password123")
    # "Kirish" tugmasini bosish
    click_button("Kirish")
    # Muvaffaqiyatli kirishni ko'rsatuvchi element yoki URL mavjudligini tekshirish (masalan, profil linki)
    assert element_is_present("//a[@href='/profile']") or url_is("https://mysite.com/dashboard")

# Test №2: Mahsulotni savatchaga qo'shish

def test_mahsulot_qoshish():
    # Mahsulot sahifasiga o'tish
    navigate_to("https://mysite.com/products/item1")
    # "Savatchaga qo'shish" tugmasini bosish
    click_button("Savatchaga qo'shish")
    # Savatchadagi mahsulotlar soni yangilanganligini tekshirish
    assert get_cart_item_count() == 1

# Va shunga o'xshash boshqa kritik funksiyalar uchun (ro'yxatdan o'tish, to'lov, qidiruv va boshqalar)

Duman testlarini yozishda asosiy nuqtalar:

  • Qisqa va tez: Testlar maksimal darajada tez bajarilishi kerak.
  • Yadroga e'tibor: Faqat "hayotiy" funksiyalar tekshiriladi.
  • Barqarorlik: Testlar muhim bo'lmagan kichik o'zgarishlarga qarshi chidamli bo'lishi kerak, agar ular kritik logikaga ta'sir qilmasa.
  • Avtomatlashtirish: Duman testlarning ko'pchiligi CI/CD pipeline'lariga integratsiya qilish uchun avtomatlashtirilgan.
  • Soddalik: Testlarning mantiqi tushunarli va oson qo'llab-quvvatlanadigan bo'lishi kerak.