Junior
Kā pareizi pārbaudīt e-pasta adreses ievades lauku?
sobes.tech AI
Atbilde no AI
E-pasta lauka testēšana ietver funkcionalitātes, validācijas, lietotāja ērtības un drošības pārbaudi:
Funkcionālā testēšana:
- Pareizu adresu ievade:
test@example.comfirstname.lastname@example.comemail@subdomain.example.comfirstname+lastname@example.comemail@example.co.ukemail@example.museumemail@example.nameemail@example.demo(starptautisko domēnu vārdu atbalsts - IDN)
- Nepareizu adresu ievade:
- Trūkst
@:testexample.com - Vairāki
@:test@@example.com - Nepareizs formāts:
test@example - Lietotāja vārda trūkums:
@example.com - Īpaši simboli lietotāja vārdā:
te!st@example.com,te#st@example.com - Īpaši simboli domēnā:
test@exa!mple.com - Garš adrese (ierobežojumu pārbaude):
a_very_long_email_address_that_exceeds_typical_limits@example.com - Adrese ar tukšumiem:
test @example.com - Sintakses kļūda adresē:
test@.com,test.@example.com - Adrese ar IP adresi (ja nepalaikots):
test@[192.168.1.1] - Adrese ar kirilicu (ja IDN nepalaikots):
тест@пример.рф
- Trūkst
- Tukšs lauks: formas nosūtīšana ar tukšu lauku.
Validācija:
- Pārbaude, vai ievadītā e-pasta sintakse atbilst (izmantojot regulāras izteiksmes):
- Ziņojumu parādīšana lietotājam, ja ievadīti nepareizi dati:
- Precizitātes un saprotamības pārbaude ziņojumos:
- Ja ir validācijas kļūdas, forma nedrīkst tikt nosūtīta:
Lietojamība & UI/UX:
- Fokusa uz lauka iestatīšana ielādes laikā:
- Piemēra teksts (placeholder): (
piemēram, user@example.com) - Pārlūkprogrammas automātiskās aizpildīšanas atbalsts:
<label>zīmes klātbūtne:- Lietotājs nevar ievadīt nepieņemamus simbolus:
- Ja ir ievades maska, to pārbaudīt:
Drošība:
- XSS ievainojamības pārbaude: skriptu, HTML tagu ievade (
<script>alert('XSS')</script>): - SQL/NoSQL injekciju pārbaude: specifisku simbolu ievade:
- Ātruma ierobežojumi (ja forma nosūta e-pastu vai veic resursu intensīvas darbības): IP vai lietotāja līmenī:
Automatizācija:
- E-pasta validācijas funkciju vienību testu rakstīšana:
- Integrācijas testu rakstīšana, pārbaudot lauka darbību formas kontekstā:
- Pilnu scenāriju E2E testu rakstīšana formas izmantošanas pārbaudei:
Piemēra kods e-pasta validācijas vienību testiem:
// Pieņemot, ka mums ir funkcija validateEmail
function validateEmail(email) {
const re = /\S+@\S+\.\S+/; // Vienkāršs regulārs izteiciens
return re.test(email);
}
// Vienību testu piemērs ar Jest
describe('validateEmail', () => {
test('jāatgriež true derīgai e-pasta adresei', () => {
expect(validateEmail('test@example.com')).toBe(true);
expect(validateEmail('firstname.lastname@example.com')).toBe(true);
});
test('jāatgriež false nederīgai e-pasta adresei', () => {
expect(validateEmail('testexample.com')).toBe(false);
expect(validateEmail('test@example')).toBe(false);
expect(validateEmail('@example.com')).toBe(false);
});
test('jāatgriež false tukšam tekstam', () => {
expect(validateEmail('')).toBe(false);
});
});
E2E testa piemērs ar Cypress:
// cypress/integration/email_field.spec.js
describe('E-pasta ievades lauks', () => {
it('pareizi validē un rāda kļūdas ziņojumu nederīgas ievades gadījumā', () => {
cy.visit('/your-form-page'); // Lapas URL
cy.get('#email-input').type('nederīgs-e-pasts'); // Nederīgs e-pasts
cy.get('button[type="submit"]').click(); // Nosūtīšanas poga
cy.get('.error-message').should('būt redzams').and('iekļaut', 'Nepareizs formāts'); // Kļūdas ziņojuma pārbaude
});
it('atļauj nosūtīt formu ar derīgu e-pasta adresi', () => {
cy.visit('/your-form-page');
cy.get('#email-input').type('derīgs@epasts.lv');
cy.get('button[type="submit"]').click();
// Papildu pārbaudes: piemēram, novirzīšana, veiksmīgas nosūtīšanas ziņojums
cy.url().should('iekļaut', '/panākums'); // URL pārbaude
});
});
Testu gadījumu tabula:
| ID | Lietotāja darbība | Sagaidāmais rezultāts |
|---|---|---|
| TC_01 | Ievadīt test@example.com |
Lauks tiek uzskatīts par derīgu. Forma tiek nosūtīta (ja visi lauki aizpildīti). |
| TC_02 | Ievadīt nederīgs-e-pasts |
Lauks tiek uzskatīts par nederīgu. Parādās kļūdas ziņojums. |
| TC_03 | Atstāt lauku tukšu un mēģināt nosūtīt formu | Lauks tiek uzskatīts par nederīgu (ja tas ir obligāts). Parādās kļūdas ziņojums. |
| TC_04 | Ievadīt test@example.co.uk |
Lauks tiek uzskatīts par derīgu. |
| TC_05 | Ievadīt <script>alert('XSS')</script> |
Skripts nedrīkst tikt izpildīts. Lauks jāsanitē vai jāvalidē. |
Jāņem vērā projekta specifiskās prasības (piem., noteiktu domēnu atbalsts), testēšana dažādās ierīcēs un pārlūkprogrammās.