Junior
Электрондук почта кирүү талаасын кантип тесттен өткөрүү керек?
sobes.tech AI
AIден жооп
Электрондук почта өрөөнү киргизүү талаасын тестирлөө алдын ала жана артка жактан текшерүүлөрдү жана колдонуучу интерфейсинин тесттерин камтыйт.
Алдын ала (Client-Side) текшерүүлөр:
- Форматтын текшерүүсү:
- Туура даректер (мисалы,
test@example.com,test.name@sub.example.co.uk). - Ката даректер (
@жок, домен, туура эмес атайын белгилер, боштуктар).
- Туура даректер (мисалы,
- Киргизүү чектери:
- Минималдуу жана максималдуу узундук.
- Бос талаа.
- Маалыматтын түрү: Текшерүү, поле электрондук почтада уруксат берилген белгилерди гана кабыл алат.
- Ката билдирүүлөрү: Ката киргизүү учурунда билдирүүлөрдүн тууралыгы жана маалымат берүүчү болушу.
- Интеракция:
- талаанын фокусу.
- жазуу абалы.
- ката абалы.
Артка (Server-Side) текшерүүлөр:
- Форматтын текшерүүсү: Фронтенддин текшерүүсүнөн өтпөөнү алдын алуу үчүн электрондук почтаны кайра текшерүү.
- Уникалдуулук: Эгер электрондук почта уникалдуу болушу керек болсо (мисалы, катталуу учурунда), базада дублдуулардын текшерүүсү.
- Бизнес логикасы: Бизнес эрежелерине ылайык экенин текшерүү.
- Өзгөчө белгилердин иштетилиши: Мүмкүн болгон көйгөйлөрдү жараткан белгилердин туура иштетилиши (мисалы, SQL injection).
- Домендин бар экенин текшерүү: Эле.почта домен бөлүгүнүн бар экенин текшерүү (опционалдуу).
Тесттердин мисалдары:
- Позитивдүү:
- Туура электрондук почта киргизүү.
- Узун домен/домен зонасы бар электрондук почта.
- Поддомендер менен электрондук почта.
- Негативдүү:
- Бос талаа.
@белгиси жок текст киргизүү.@тен кийинки домен бөлүгү жок текст киргизүү.- Бос орундар менен текст киргизүү.
- Тыюу салынган белгилер менен текст киргизүү.
- Максималдуу узундуктан ашкан электрондук почта.
- Алдын ала катталган электрондук почта.
- Туура эмес форматтагы белгилер менен электрондук почта.
Автоматташтыруу:
Бул тесттерди автоматташтыруу үчүн ар кандай рамкалар жана инструменттер колдонулушу мүмкүн:
- UI автоматташтыруу: Selenium, Cypress, Playwright менен фронтенддин валидатциясын жана талаа менен өз ара аракеттенүүнү текшерүү:
# Python үчүн Selenium псевдокод мисалы
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") # Ката электрондук почта киргизүү
error_message = driver.find_element_by_id("errorMessage") # Ката билдирүү элементин табуу
assert "Invalid email format" in error_message.text # Текстти текшерүү
driver.quit()
- API автоматташтыруу: RestAssured, Postman, Requests (Python) менен бекенд валидатциясын тестирлөө, ар кандай маалыматтарды жөнөтүү:
// 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"); // Ката билдирүүсүнүн текстин текшерүү
});
Кошумча аспекттер:
- Чындык маалыматтар менен тестирлөө (эгер тесттик база бар болсо).
- Ар кандай түзмөктөрдө жана браузерлерде тестирлөө.
- Көп көлөмдөгү маалымат киргизүү учурунда талаанын иштешин текшерүү.