Что такое Sign Up (регистрация) пользователя?

«Что такое Sign Up (регистрация) пользователя?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Sign Up (Регистрация) — это процесс создания новой учетной записи в системе. Пользователь предоставляет необходимые данные (email, пароль и др.), которые проходят валидацию, после чего в базе данных создается запись.

Критические точки для тестирования:

  • Валидация полей: сложность пароля, уникальность email/логина, обязательные поля.
  • Бизнес-логика: отправка email для подтверждения, активация аккаунта по ссылке.
  • Безопасность: пароли должны храниться в хешированном виде (например, с использованием bcrypt).
  • Обработка дубликатов: попытка регистрации с уже существующим email должна возвращать понятную ошибку.

Пример тест-кейса:

import pytest
import requests
from models import User  # Предполагается модель SQLAlchemy или аналогичная

def test_user_registration():
    # Arrange
    new_user = {
        "email": "new.user@example.com",
        "password": "Str0ngP@ssw0rd",
        "full_name": "Test User"
    }

    # Act: Отправка запроса на регистрацию
    response = requests.post("https://api.example.com/auth/signup", json=new_user)

    # Assert
    assert response.status_code == 201, "Аккаунт не был создан"

    # Проверка, что пользователь появился в БД
    db_user = User.query.filter_by(email=new_user["email"]).first()
    assert db_user is not None
    assert db_user.email == new_user["email"]
    # Пароль в БД должен быть хешем, а не исходной строкой
    assert db_user.password != new_user["password"]