Назад к вопросам
Junior
71
questionbank

Что именно вы проверяете при верификации?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

При верификации проверяю, что система входа соответствует спецификации и работает правильно.

Ключевые аспекты верификации:

  • Функциональность:
    • Успешный вход с корректными учетными данными.
    • Неуспешный вход с некорректными учетными данными (неправильный логин/пароль, несуществующий пользователь).
    • Проверка валидации полей ввода (минимальная/максимальная длина, допустимые символы, обработка пробелов).
    • Функция "Забыли пароль" (ссылка доступна, отправляется письмо, ссылка восстановления работает).
    • Запоминание учетных данных (если реализовано).
    • Разлогирование.
  • Безопасность:
    • Защита от SQL-инъекций и других распространенных атак.
    • Логирование попыток входа (успешных и неуспешных).
    • Обработка блокировки пользователя после N неудачных попыток.
    • Передача данных (HTTPS).
    • Отсутствие пароля в URL или логах.
  • Производительность:
    • Время отклика при успешном/неуспешном входе.
    • Поведение при высокой нагрузке (если сценарий подразумевает).
  • Удобство использования (Usability):
    • Понятность сообщений об ошибках.
    • Доступность полей ввода и кнопок.
  • Совместимость:
    • Работа в разных браузерах и на разных устройствах.
  • База данных:
    • Корректное хранение зашифрованных паролей.
    • Проверка статуса пользователя (активен/заблокирован).

При автоматизации верификации использую следующее:

# Пример теста на успешный вход с использованием Selenium
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome() # Или другой браузер
driver.get("your_login_page_url")

# Ввод учетных данных
username_field = driver.find_element(By.ID, "username")
password_field = driver.find_element(By.ID, "password")
login_button = driver.find_element(By.ID, "loginButton")

username_field.send_keys("valid_user")
password_field.send_keys("valid_password")
login_button.click()

# Проверка успешного входа
# Необходимо добавить ассерт на элементы, которые появляются после успешного входа
# Например, наличие элемента на главной странице
assert "dashboard" in driver.current_url

driver.quit()
# Пример теста на неуспешный вход (некорректный пароль)
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("your_login_page_url")

username_field = driver.find_element(By.ID, "username")
password_field = driver.find_element(By.ID, "password")
login_button = driver.find_element(By.ID, "loginButton")

username_field.send_keys("valid_user")
password_field.send_keys("invalid_password")
login_button.click()

# Проверка сообщения об ошибке
error_message = driver.find_element(By.CLASS_NAME, "error-message") # Или другой селектор
assert "Неверный логин или пароль" in error_message.text

driver.quit()