Sobes.tech
Junior

როგორ ჩაატაროთ ელექტრონული ფოსტის შეყვანის ველის ტესტი?

sobes.tech AI

პასუხი AI-სგან

ელექტრონული ფოსტის ველის ტესტირება მოიცავს ფრონტენდსა და ბექენდზე ჩასატარებელ შემოწმებებს, ასევე მომხმარებლის ინტერფეისის ტესტირებას.

ფრონტენდ (Client-Side) შემოწმებები:

  • ფორმატის ვალიდაცია:
    • სწორი მისამართები (მაგ., test@example.com, test.name@sub.example.co.uk).
    • არასწორი მისამართები (@-ის არქონა, დომენი, არასწორი სპეციალური სიმბოლოსები, სივრცეები).
  • შეერთების საზღვრები:
    • მინიმალური და მაქსიმალური სიგრძე.
    • ცარიელი ველი.
  • მონაცემთა ტიპი: დარწმუნება, რომ ველი მიიღებს მხოლოდ ელფოსტისთვის დაშვებულ სიმბოლოებს.
  • შეცდომის შეტყობინებები: შეტყობინებების სისწორე და ინფორმაციული ხასიათი არასწორად შეყვანისას.
  • ურთიერთქმედება:
    • ველის ფოკუსი (focus state).
    • შეყვანის მდგომარეობა (typing state).
    • შეცდომის მდგომარეობა (error state).

ბექენდ (Server-Side) შემოწმებები:

  • ფორმატის ვალიდაცია: ელფოსტის ფორმატის გადამოწმება ფრონტენდ ვალიდაციის თავიდან ასაცილებლად.
  • უნიკალურობა: თუ ელფოსტა უნდა იყოს უნიკალური (მაგ., რეგისტრაციისას), დუბლიკატების შემოწმება მონაცემთა ბაზაში.
  • ბიზნეს ლოგიკა: ბიზნეს წესების შესაბამისობის შემოწმება (მაგ., გარკვეული დომენების გამოყენების აკრძალვა).
  • სპეციალური სიმბოლოსების დამუშავება: სიმბოლოსების სწორად დამუშავება, რომლებიც პრობლემებს გამოიწვევს (მაგ., SQL ინექცია).
  • დომენის არსებობის შემოწმება: ელფოსტის დომენის ნაწილზე არსებობის შემოწმება (სურვილისამებრ).

ტესტების მაგალითები:

  • პოზიტიური:
    • ვალიდური ელფოსტის შეყვანა.
    • ელფოსტის შეყვანა გრძელი დომენით/დომენის ზონით.
    • ელფოსტის შეყვანა ქვედომენებით.
  • ნეგატიური:
    • ცარიელი ველი.
    • ტექსტის შეყვანა @ სიმბოლოს გარეშე.
    • ტექსტის შეყვანა @-ის შემდეგ დომენის ნაწილით.
    • ტექსტის შეყვანა სივრცეებით.
    • არასწორი სიმბოლოსებით.
    • ელფოსტის შეყვანა მაქსიმალური სიგრძის გადაჭარბებით.
    • უკვე რეგისტრირებული ელფოსტის შეყვანა (რეგისტრაციისას).
    • არასწორი ფორმატის სპეციალური სიმბოლოსების შეყვანა.

ავტომატიზაცია:

ამ ტესტების ავტომატიზაციისთვის შესაძლებელია სხვადასხვა ფრეიმვორკებისა და ინსტრუმენტების გამოყენება:

  • UI-ავტომატიზაცია: Selenium, Cypress, Playwright ფრონტენდ ვალიდაციის და ველის ურთიერთქმედების ტესტირებისთვის.
# სელენიუმის პსევდოკოდის მაგალითი Python-ით
from selenium import webdriver

driver = webdriver.Chrome()
driver.get("your_app_url")

email_field = driver.find_element_by_id("emailInput") # ვეძებთ ველს ID-ით
email_field.send_keys("invalid-email") # ვაწერთ არასწორ ელფოსტას

error_message = driver.find_element_by_id("errorMessage") # ვეძებთ შეცდომის შეტყობინების ელემენტს
assert "Invalid email format" in error_message.text # ვამოწმებთ შეცდომის ტექსტს

driver.quit()
  • API-ავტომატიზაცია: RestAssured, Postman, Requests (Python) ბექენდ ვალიდაციის ტესტირებისთვის, სხვადასხვა მონაცემების გაგზავნით.
// პსევდოკოდის მაგალითი Postman-ისთვის
{
  "email": "invalid-email"
}
// Postman-ის ტესტების მაგალითი
pm.test("Status code is 400", function () {
    pm.response.to.have.status(400); // ვამოწმებთ, რომ სერვერი დაბრუნდა 400 შეცდომით
});

pm.test("Error message is correct", function () {
    var jsonData = pm.response.json();
    pm.expect(jsonData.message).to.eql("Invalid email format"); // ვამოწმებთ შეცდომის ტექსტს პასუხში
});

დამატებითი ასპექტები:

  • რეალურ მონაცემებზე ტესტირება (თუ არსებობს ტესტირების ბაზა).
  • ტესტირება სხვადასხვა მოწყობილობებზე და ბრაუზერებზე.
  • ველის წარმადობის ტესტირება დიდი მოცულობის მონაცემების შეყვანისას.