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"); // ვამოწმებთ შეცდომის ტექსტს პასუხში
});
დამატებითი ასპექტები:
- რეალურ მონაცემებზე ტესტირება (თუ არსებობს ტესტირების ბაზა).
- ტესტირება სხვადასხვა მოწყობილობებზე და ბრაუზერებზე.
- ველის წარმადობის ტესტირება დიდი მოცულობის მონაცემების შეყვანისას.