Sobes.tech
Junior

Ինչպես ճիշտ փորձարկել էլեկտրոնային հասցեի դաշտը:

sobes.tech AI

Պատասխան AI-ից

Էլփոստի դաշտի թեստավորումը ներառում է գործառնականության, վավերացման, օգտագործման հարմարավետության և անվտանգության ստուգումներ:

Գործառնական թեստավորում:

  • Վավեր հասցեների մուտքագրում:
    • test@example.com
    • firstname.lastname@example.com
    • email@subdomain.example.com
    • firstname+lastname@example.com
    • email@example.co.uk
    • email@example.museum
    • email@example.name
    • email@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> մուտքագրում Սցրիպտը չպետք է կատարվի: Դաշտը պետք է լինի սանրված կամ վավերացված:

Հավելյալ՝ նախագծի հատուկ պահանջները, տարբեր սարքավորումներում և բրաուզերներում թեստավորումը։