Всегда ли «поломка» (падение) веб-страницы считается багом?

Ответ

Нет, не всегда. «Поломка» страницы считается багом только если она вызвана ошибкой в коде приложения и противоречит ожидаемому поведению, описанному в требованиях.

Когда это НЕ баг (ожидаемое поведение):

  • 404 Not Found — страница удалена или URL неверен.
  • 403 Forbidden — у пользователя нет прав доступа.
  • 503 Service Unavailable — сервер временно недоступен.

Когда это баг:

  • 500 Internal Server Error при корректных входных данных.
  • Необработанное исключение, приводящее к «белому экрану».
  • Падение из-за логической ошибки (например, обращение к свойству null).

Ключевые критерии бага: воспроизводимость, отклонение от спецификации и негативное влияние на пользователя.

Ответ 18+ 🔞

А, ну тут, понимаешь, классическая путаница, которая у новичков в тестировании мозг выносит напрочь. Слушай сюда, разжую.

Вот представь: ты заходишь на сайт, а тебе выдает «404 — страница не найдена». Ты сразу бежишь в баг-трекер: «ВСЁ СЛОМАЛОСЬ, БАГ, СРОЧНО ФИКСИТЬ!». А тебе старший такой смотрит, как на идиота, и говорит: «Э, сабака сука, э бошка думай. Это не баг, это фича, нахуй». И он, в общем-то, прав.

Когда это НЕ баг, а просто жизнь такая, блядь (ожидаемое поведение):

  • «404 Not Found» — это когда страницу нахуй удалили, или ты ссылку кривую вбил. Сервер честно тебе говорит: «Чувак, нихуя тут нет, иди нахуй». Это не сломалось — это так и задумано.
  • «403 Forbidden» — это тебе как шлагбаум в ебальник. «Ты кто такой, ваше благородие? Прав доступа ноль, ебать. Не пущаю». Опять же, система работает исправно, защищаясь от таких, как ты.
  • «503 Service Unavailable» — серверу просто поплохело, он перегружен или его режут на бекенде. Он не сдох, он просто просит: «Отъебись, браток, на пять минут, проветрюсь». Временная хуйня, не баг.

А вот когда это реально БАГ, и нужно орать «ПИДАРЫСЫ, ВСЁ ПОРВАЛИ!»:

  • «500 Internal Server Error» выскакивает, когда ты всё сделал правильно, а код внутри — говно. Ты нажал кнопку «Сохранить», а там программист, сука, забыл обработать какой-нибудь NullPointerException. Вот это — пиздец, баг чистой воды.
  • Необработанное исключение, которое приводит к «белому экрану» или к такому состоянию, когда интерфейс просто замирает, а в консоли браузера — овердохуища красных ошибок. Пользователь в ауте, а ты должен найти, кто это накосячил.
  • Падение из-за логической ошибки. Ну, типа, пытается прочитать свойство у объекта, который undefined, и всё, приехали. Хуй с винтом, а не функциональность.

Короче, суть в чём, блядь: баг — это когда система отклоняется от того, что было обещано в требованиях, и делает это стабильно (воспроизводится), а результат — пользователь хочет разбить монитор. Всё остальное — либо фича, либо временные трудности, либо твоя криворукость. Волнение, ебать, нулевое, надо просто головой думать.