500 Internal Server Error: что значит и как решить



Экспертность тестировщика заключается в том, чтобы локализовать ошибку и передать баг-репорт разработчику или команде, которая сразу сможет её поправить.



Я всегда стараюсь раскопать проблему, если есть время и знания. Разберу популярную ошибку 500 Internal Server Error по мотивам задания на поиск багов.



Многие из вас нашли хотя бы один из этих багов:



1. При вводе отрицательного числа и нажатии на кнопку Calculate система не реагирует. Остаётся предыдущий результат.

2. Факториал большого числа от 992, например, 3333, не считается. Система не реагирует. Остаётся предыдущий результат.

3. При попытке вычислить факториал «1.» (точка в конце числа) cистема не реагирует. Остаётся предыдущий результат.



Если система не реагирует, значит, проблема в ответе бэкенда. Это и называется 500 Internal Server Error.



Как это узнать?



Открыть DevTools* и во вкладке Network посмотреть, что происходит при нажатии на Calculate. Если увидите ошибку 500, значит, сервер отработал с ошибкой и не вернул корректный ответ.



Что делать тестировщику?



Завести баг на бэкенд, а потом попросить разработчика бэкенда добавить проверки так, чтобы сервер не «падал» при попытке обработать такие значения или исправить ошибки в подсчёте факториала и выдавать корректный результат.



*DevTools — встроенные инструменты в браузере для разработчика, с помощью которых можно в том числе тестировать веб-приложения



DevTools открывается сочетанием клавиш Ctrl + Alt + I в Windows или Cmd + Option + I в macOS