В процессе тестирования я неоднократно замечала ошибки, которые возникали из-за недопонимания между командами, отсутствия валидации или просто из-за невнимательности при реализации. Вот список частых багов, основанный на моем опыте:
Неправильный тип данных 😅
Когда сервер или клиент ожидает, например, тип date, а вместо него получает строку или число - это вызывает баги при отображении или сохранении данных.
⤵️Пример:
"created_at":"2024-06-01T12:30:00Z" // ISO-формат или date-тип
"created_at": "01.06.2024" // строка
Из-за этого выводится непонятная пользователю ошибка типа inputTypeException или Unhandled exception.
Несогласованность между Backend и Frontend (контракт API) 😋
В моей практике бывают случаи когда на фронте не отображается часть информации (например, кнопка, поле или статус), несмотря на то, что она точно пришла с сервера.
⤵️Примеры:
Backend возвращает
"user_status": "active"Frontend ждёт
"status": "enabled"Из-за этого статус пользователя не отображался в UI, хотя данные были корректно получены.
Backend присылает
{
"id": 1,
"name": "Alena"
} // объект вместо массиваFrontend ждёт
[{
"id": 1,
"name": "Alena"
}] // массивИз-за этого UI ломался и ничего не отображалось.
Не внедрена валидация полей 🙌
Отсутствие базовой валидации на сервере или клиенте позволяет сохранять некорректные значения. Это может привести к логическим ошибкам, сбоям или падению приложения.
⤵️Примеры:
name = null - система падает при попытке вывести имя (очень частый баг с null! 😌)
name = "" (пустая строка) - создаётся пользователь с пустым именем
age = -100 - система спокойно сохраняет отрицательный возраст
Отсутствие валидации обязательных полей 😏
Система не проверяет наличие ключевых параметров (обязательных полей). В результате - сохраняются пустые или некорректные данные.
⤵️Пример - авторизация с пустым именем:
{
"name": "",
"email":"test@gmail.com"
}Проблемы с версткой 😋
На практике были случаи, когда даже мелкие отклонения от макетов вызывали большие проблемы в пользовательском опыте.
⤵️Примеры:
- Текст залезает на кнопку
- Отступы не соответствуют макетам
- Меню не скрывается или не открывается
Иногда кажется, что баги появляются сами собой.
Но на самом деле они всегда рассказывают нам историю:
- о том, кто не согласовал контракт
- кто забыл про null
- или кто решил, что дизайн «примерно такой» - тоже сойдёт
#qa #процессы
Зачем нам тестировщики…
Делитесь своими кейсами - какие баги чаще всего встречаете в работе?
