🐞 Один символ, одна запятая — и от сервера 500.

Сегодня при тестировании фильтра на проекте я ввёл в поле поиска всего один символ — запятую , . Ожидал просто "ничего не найдено", но получил... 500 ошибку от сервера.

В ответе API: DateTime::__construct(): Argument #1 ($datetime) must be of type string, array given

Позже — ещё одна похожая: Argument #2 ($search) must be of type string, array given

❓ Что произошло: Оказалось, что на бэке в какой-то момент строка "q": "," распарсилась в массив — и этот массив передали в функцию, которая ждала обычную строку. Как я вычитал, что в PHP такое бывает  — даже одна запятая превращает строку в массив ["", ""].

⚠️ Итог:

пользователь получил 500;

баг появился на ровном месте из-за отсутствия валидации типов и пустых значений.

✅ Что можно было сделать:

запретить ввод символов;

отдавать 400 или 422, а не падать с 500;

📌 В очередной раз убедился: тестировать надо даже на самых странных символах.

🧠 Делюсь, чтобы напомнить: иногда один символ в поле = целый крэш в логике. А чем меньше кейс — тем выше шанс, что его никто не проверил.

#qa #тестирование #багизжизни #qualityassurance #api #тестировщик #pythonqa #php #валидация #postman #bughunter #learningqa