Junior
რა არის სმოკ-ტესტი?
sobes.tech AI
პასუხი AI-სგან
სმოკ-ტესტირება (ცეცხლის ტესტირება) — ეს პროგრამული უზრუნველყოფის ტესტირების ტიპია, რომელიც ხორციელდება ახალი ბილდის შემდგომ, მისი ძირითადი ფუნქციონალის და სტაბილურობის სწრაფი შემოწმებისთვის. მიზანია — განსაზღვრო, ღირს თუ არა გაგრძელება უფრო ღრმა ტესტირებაზე.
ძირითადი მახასიათებლები:
- ზედაპირული: შემოწმდება მხოლოდ ყველაზე მნიშვნელოვანი და კრიტიკული ფუნქციები.
- სწრაფი: ხორციელდება მოკლე დროში, ჩვეულებრივ 30-60 წუთში.
- კრიტიკული: მიმართულია სერიოზული დეფექტების გამოვლენისკენ, რომლებიც ხდის შემდგომ ტესტირებას უსარგებლოს.
- Gatekeeper: თუ სმოკ-ტესტი ვერ ჩაივლის, ბილდი უარყოფილი ხდება და სრული ტესტირების ციკლი არ ხორციელდება.
გამოყენების სცენარები:
- ყოველი ახალი ბილდი: შემოწმება ხდება ყოველი ახალი ვერსიის განთავსების შემდეგ.
- გამოშვების წინ: საბოლოო სწრაფი შემოწმება გამოშვების წინ.
- ცვლილებების შემდეგ: შემოწმება, არ გატეხეს თუ არა ბოლო ცვლილებებმა ძირითადი ფუნქციები.
მაგალითი (ვებ-აპლიკაციისთვის):
- მთავარი გვერდის წარმატებული ჩატვირთვა.
- შესვლის შესაძლებლობა.
- ძირითადი განყოფილებების ფუნქციონალი (მაგ., პროდუქტის სიის ნახვა).
- სწორი გამოსვლა სისტემიდან.
სმოკ-ტესტები შეიძლება იყოს როგორც ხელით, ასევე ავტომატიზირებული. ავტომატიზაცია მნიშვნელოვნად აჩქარებს პროცესს და უზრუნველყოფს შემოწმების სტაბილურობას.
# მარტივი ავტომატიზირებული სმოკ-ტესტის მაგალითი 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")