Junior
Πώς να πραγματοποιήσετε δοκιμή του πεδίου εισαγωγής email;
sobes.tech AI
Απάντηση από AI
Ο έλεγχος του πεδίου εισαγωγής email περιλαμβάνει ελέγχους τόσο στο frontend όσο και στο backend, καθώς και δοκιμές του περιβάλλοντος χρήστη.
Έλεγχοι (Client-Side):
- Επικύρωση μορφής:
- Σωστά email (π.χ.,
test@example.com,test.name@sub.example.co.uk). - Λάθος email (έλλειψη
@, domain, λανθασμένοι ειδικοί χαρακτήρες, κενά).
- Σωστά email (π.χ.,
- Όρια εισαγωγής:
- Ελάχιστο και μέγιστο μήκος.
- Κενό πεδίο.
- Τύπος δεδομένων: Βεβαιωθείτε ότι το πεδίο δέχεται μόνο χαρακτήρες που επιτρέπονται στο 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.
- Δοκιμές απόδοσης του πεδίου κατά την εισαγωγή μεγάλου όγκου δεδομένων.