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")