Junior
Ինչպես ճիշտ փորձարկել էլեկտրոնային հասցեի դաշտը:
sobes.tech AI
Պատասխան AI-ից
Էլփոստի դաշտի թեստավորումը ներառում է գործառնականության, վավերացման, օգտագործման հարմարավետության և անվտանգության ստուգումներ:
Գործառնական թեստավորում:
- Վավեր հասցեների մուտքագրում:
test@example.comfirstname.lastname@example.comemail@subdomain.example.comfirstname+lastname@example.comemail@example.co.ukemail@example.museumemail@example.nameemail@example.դեմո(ինտերնացիոնալիզացված դոմենների անունների աջակցություն - IDN)
- Անվավեր հասցեների մուտքագրում:
@բացակայություն՝testexample.com- մի քանի
@՝test@@example.com - սխալ ձևաչափ՝
test@example - օգտվողի անունի բացակայություն՝
@example.com - հատուկ նշաններ օգտվողի անունում՝
te!st@example.com,te#st@example.com - հատուկ նշաններ դոմենում՝
test@exa!mple.com - երկար հասցե (սահմանափակումների ստուգում)՝
a_very_long_email_address_that_exceeds_typical_limits@example.com - բացատներով հասցե՝
test @example.com - սխալ սինտաքսիսով հասցե՝
test@.com,test.@example.com - IP հասցեով հասցե՝
test@[192.168.1.1] - կիրղիլիցով հասցե՝
тест@пример.рф
- Դաշտի դատարկություն՝ լրացման ժամանակ դատարկ դաշտով ձևի ուղարկում:
Վավերացում:
- Վավերական սինտաքսի ստուգում՝ ռեգուլյար արտահայտություններով:
- Օգտվողին սխալի հաղորդագրությունների ցուցադրում՝ անվավեր տվյալների մուտքագրումից հետո:
- Սխալի հաղորդագրությունների ճշգրտության և հասկանալիության ստուգում:
- Ստուգում, որ ձևը չի ուղարկվի սխալների դեպքում:
Օգտագործելիություն & UI/UX:
- Ֆոկուս դաշտին էջի բեռնման ժամանակ:
- Օրինակային տեքստ՝ (
օրինակ, user@example.com): - Բրաուզերի ավտոավարտոլց աջակցություն:
<label>նշանի առկայություն դաշտի համար:- Օգտվողը չի կարող մուտքագրել անթույլատրելի նշաններ:
- Եթե կա մուտքի մաշկ, այն ստուգել:
Անվտանգություն:
- XSS-հարձակումների դեմ ստուգում՝ սցրիպտների, HTML-տեգերի մուտք:
- SQL/NoSQL ներթափանցումների դեմ՝ հատուկ նշանների մուտք:
- Հաճախականության սահմանափակում՝ IP կամ օգտվողի մակարդակով:
Ավտոմատացում:
- Email վավերացման ֆունկցիաների միավորային թեստեր:
- Ֆորմայի կոնտեքստում դաշտի աշխատանքի ինտեգրացիոն թեստեր:
- Ֆորմայի ամբողջական сценарիայի E2E թեստեր:
Նմուշ կոդ՝ միավորային թեստերի համար՝
// Նպատակը՝ validateEmail ֆունկցիայի թեստավորում
function validateEmail(email) {
const re = /\S+@\S+\.\S+/; // Պարզ ռեգուլյար արտահայտություն
return re.test(email);
}
// Jest-ի օգտագործմամբ միավորային թեստեր
describe('validateEmail', () => {
test('պետք է վերադարձնի true վավեր էլփոստի համար', () => {
expect(validateEmail('test@example.com')).toBe(true);
expect(validateEmail('firstname.lastname@example.com')).toBe(true);
});
test('պետք է վերադարձնի false անվավեր էլփոստի համար', () => {
expect(validateEmail('testexample.com')).toBe(false);
expect(validateEmail('test@example')).toBe(false);
expect(validateEmail('@example.com')).toBe(false);
});
test('պետք է վերադարձնի false դատարկ տեքստի համար', () => {
expect(validateEmail('')).toBe(false);
});
});
E2E թեստի օրինակ՝ Cypress-ի օգտագործմամբ:
// cypress/integration/email_field.spec.js
describe('Email Input Field', () => {
it('ճիշտ վավերացնում և ցույց տալիս սխալի հաղորդագրություն անվավեր մուտքագրումից հետո', () => {
cy.visit('/your-form-page'); // Ֆորմայի էջի URL
cy.get('#email-input').type('invalid-email'); // Անվավեր էլփոստի մուտք
cy.get('button[type="submit"]').click(); // Ուղարկման կոճակ
cy.get('.error-message').should('be.visible').and('contain', 'Անվավեր ձևաչափ'); // Սխալի հաղորդագրության ստուգում
});
it('Թույլ է տալիս ուղարկել ֆորման վավեր էլփոստով', () => {
cy.visit('/your-form-page');
cy.get('#email-input').type('valid@example.com');
cy.get('button[type="submit"]').click();
// Ավելին՝ ստուգումներ հաջող ուղարկումից հետո
cy.url().should('include', '/success'); // Ուղղման օրինակ
});
});
Տեղեկատվական թեստերի օրինակ՝
| ID | Օգտագործողի գործողություն | Ապահովված արդյունք |
|---|---|---|
| TC_01 | test@example.com մուտքագրում |
Դաշտը համարվում է վավեր: Ֆորման ուղարկվում է (եթե բոլոր դաշտերը լրացված են): |
| TC_02 | invalid-email մուտքագրում |
Դաշտը համարվում է անվավեր: Սխալի հաղորդագրություն է ցուցադրվում: |
| TC_03 | Դաշտը դատարկ թողնել և փորձել ուղարկել ֆորման | Դաշտը համարվում է անվավեր (եթե պարտադիր է): Սխալի հաղորդագրություն: |
| TC_04 | test@example.co.uk մուտքագրում |
Դաշտը համարվում է վավեր: |
| TC_05 | <script>alert('XSS')</script> մուտքագրում |
Սցրիպտը չպետք է կատարվի: Դաշտը պետք է լինի սանրված կամ վավերացված: |
Հավելյալ՝ նախագծի հատուկ պահանջները, տարբեր սարքավորումներում և բրաուզերներում թեստավորումը։