🐞 Один символ, одна запятая — и от сервера 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