Sobes.tech
Junior

Πώς να πραγματοποιήσετε δοκιμή του πεδίου εισαγωγής email;

sobes.tech AI

Απάντηση από AI

Ο έλεγχος του πεδίου εισαγωγής email περιλαμβάνει ελέγχους τόσο στο frontend όσο και στο backend, καθώς και δοκιμές του περιβάλλοντος χρήστη.

Έλεγχοι (Client-Side):

  • Επικύρωση μορφής:
    • Σωστά email (π.χ., test@example.com, test.name@sub.example.co.uk).
    • Λάθος email (έλλειψη @, domain, λανθασμένοι ειδικοί χαρακτήρες, κενά).
  • Όρια εισαγωγής:
    • Ελάχιστο και μέγιστο μήκος.
    • Κενό πεδίο.
  • Τύπος δεδομένων: Βεβαιωθείτε ότι το πεδίο δέχεται μόνο χαρακτήρες που επιτρέπονται στο email.
  • Μηνύματα σφάλματος: Ορθότητα και ενημερωτικότητα των μηνυμάτων σε περίπτωση λανθασμένης εισαγωγής.
  • Αλληλεπίδραση:
    • Εστίαση πεδίου.
    • Κατάσταση πληκτρολόγησης.
    • Κατάσταση σφάλματος.

Έλεγχοι (Server-Side):

  • Επικύρωση μορφής: Δεύτερος έλεγχος της μορφής email για αποτροπή παράκαμψης των ελέγχων frontend.
  • Μοναδικότητα: Αν το email πρέπει να είναι μοναδικό (π.χ., κατά την εγγραφή), έλεγχος για διπλότυπα στη βάση δεδομένων.
  • Επιχειρηματική λογική: Έλεγχος συμμόρφωσης με επιχειρηματικούς κανόνες.
  • Επεξεργασία ειδικών χαρακτήρων: Διορθωτική επεξεργασία χαρακτήρων που μπορεί να προκαλέσουν προβλήματα (π.χ., SQL injection).
  • Έλεγχος ύπαρξης domain: Προαιρετικός έλεγχος ύπαρξης του domain μέρος του email.

Παραδείγματα δοκιμών:

  • Θετικά:
    • Εισαγωγή έγκυρου email.
    • Εισαγωγή email με μακρύ domain/τομέα.
    • Εισαγωγή email με υπο-domains.
  • Αρνητικά:
    • Κενό πεδίο.
    • Εισαγωγή κειμένου χωρίς το σύμβολο @.
    • Εισαγωγή κειμένου χωρίς το τμήμα domain μετά το @.
    • Εισαγωγή κειμένου με κενά.
    • Εισαγωγή κειμένου με μη αποδεκτούς χαρακτήρες.
    • Εισαγωγή email που υπερβαίνει το μέγιστο μήκος.
    • Εισαγωγή ήδη καταχωρημένου email.
    • Εισαγωγή email με λανθασμένη μορφή ειδικών χαρακτήρων.

Αυτοματοποίηση:

Για την αυτοματοποίηση αυτών των δοκιμών μπορούν να χρησιμοποιηθούν διάφορα πλαίσια και εργαλεία:

  • UI αυτοματοποίηση: Selenium, Cypress, Playwright για δοκιμές frontend και αλληλεπίδραση με το πεδίο.
# Παράδειγμα ψευδοκώδικα για Selenium σε 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") # Εισάγουμε λανθασμένο email

error_message = driver.find_element_by_id("errorMessage") # Βρίσκουμε το μήνυμα σφάλματος
assert "Invalid email format" in error_message.text # Ελέγχουμε το κείμενο

driver.quit()
  • API αυτοματοποίηση: RestAssured, Postman, Requests (Python) για δοκιμές backend και αποστολή αιτημάτων με διαφορετικά δεδομένα.
// Παράδειγμα ψευδοκώδικα για Postman
{
  "email": "invalid-email"
}
// Παράδειγμα ελέγχου στα Postman Tests
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"); // Ελέγχει το μήνυμα σφάλματος
});

Πρόσθετες πτυχές:

  • Δοκιμές με πραγματικά δεδομένα (αν υπάρχει δοκιμαστική βάση δεδομένων).
  • Δοκιμές σε διάφορες συσκευές και browsers.
  • Δοκιμές απόδοσης του πεδίου κατά την εισαγωγή μεγάλου όγκου δεδομένων.