Перейти к содержимому

Chrome DevTools: Инструменты тестировщика
онлайн, начало 25 апреля
Git: инструменты тестировщика
онлайн, начало 25 апреля
Командная строка: инструменты тестировщика
онлайн, начало 25 апреля
Тестирование юзабилити (usability)
онлайн, начало 24 апреля
Фотография

Как заставить сервер вернуть 500 ошибку

500 503

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 IgorZip

IgorZip

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Igor Zip

Отправлено 28 Январь 2019 - 14:19

Есть поле для вставки ссылки на картинку. После вставки ссылки она парсится и подтягивается изображение в соседнее поле. Как мне можно вызвать 500 ошибку связаную с этим полем. Пробовал много-много символов вводить- ничего


  • 0

#2 baruk

baruk

    Новый участник

  • Members
  • Pip
  • 9 сообщений


Отправлено 28 Январь 2019 - 14:42

Интересно, с чего вы решили, что это вообще возможно? Если сервис написан нормально, то не получится =)

 

А так вариантов масса, считай любая негативная проверка может дать подобное поведение.

Например, битая ссылка, совсем не ссылка, слишком большое изображение (допустим, файлик на пару гигов), нулевой размер, неправильное расширение (например, ссыль на jpeg, хотя файл на самом деле архив) и т.д.

 

Если есть доступ к коду, то можно посмотреть, какие проверки не предусмотрены в нем и при каких условиях выкинется необработанное исключение


  • 0

#3 IgorZip

IgorZip

    Новый участник

  • Members
  • Pip
  • 8 сообщений
  • ФИО:Igor Zip

Отправлено 28 Январь 2019 - 14:57

Интересно, с чего вы решили, что это вообще возможно? Если сервис написан нормально, то не получится =)

 

А так вариантов масса, считай любая негативная проверка может дать подобное поведение.

Например, битая ссылка, совсем не ссылка, слишком большое изображение (допустим, файлик на пару гигов), нулевой размер, неправильное расширение (например, ссыль на jpeg, хотя файл на самом деле архив) и т.д.

 

Если есть доступ к коду, то можно посмотреть, какие проверки не предусмотрены в нем и при каких условиях выкинется необработанное исключение

Спасибо)


  • 0

#4 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 358 сообщений
  • ФИО:Роман

Отправлено 28 Январь 2019 - 15:50

делается легко

 

устанавливаем перехватывающий прокси типа ZAP

 

и перехватываем ответ сервера и меняем код ответа на 500 и тело ответа меняем на что угодно, например "123"


  • 0

#5 baruk

baruk

    Новый участник

  • Members
  • Pip
  • 9 сообщений


Отправлено 28 Январь 2019 - 19:07

перехватываем ответ сервера и меняем код ответа на 500 и тело ответа меняем на что угодно, например "123"

Не опасно ли так, не зная как реально возвращаются 500ые?  Подсунем стандартный ответ веб-сервера, а реально в ответ прилетит какой-нить json, со структурой, отличной от всего что видели.

И вот он, потенциально пропущенный дефект


  • 0

#6 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 358 сообщений
  • ФИО:Роман

Отправлено 28 Январь 2019 - 19:17

 

Не опасно ли так, не зная как реально возвращаются 500ые?  Подсунем стандартный ответ веб-сервера, а реально в ответ прилетит какой-нить json, со структурой, отличной от всего что видели.

И вот он, потенциально пропущенный дефект

почитайте выше, я написал что в тело подставляем "что угодно", например "123" - вот вам и "прилетает" структура которую мы не ожидаем


  • 0

#7 baruk

baruk

    Новый участник

  • Members
  • Pip
  • 9 сообщений


Отправлено 28 Январь 2019 - 19:40

почитайте выше, я написал что в тело подставляем "что угодно", например "123" - вот вам и "прилетает" структура которую мы не ожидаем

Именно. А зачем нам такая структура? Ну начнут разрабы ловить ошибки при попадании "чего угодно", а прилетит реальная 500 и тут все упадет.

Я к тому, что при подмене данных нужно использовать правильную структуру ответа, иначе, как мне кажется, бессмысленно.


  • 0

#8 Spock

Spock

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 358 сообщений
  • ФИО:Роман

Отправлено 28 Январь 2019 - 19:59

 

Именно. А зачем нам такая структура? Ну начнут разрабы ловить ошибки при попадании "чего угодно", а прилетит реальная 500 и тут все упадет.

Я к тому, что при подмене данных нужно использовать правильную структуру ответа, иначе, как мне кажется, бессмысленно.

смотрите как подменять надо чтобы "все ловилось":

 

кейс 1: подмена ответа на "ожидаемую" ошибку

подменяем хттп-код на например 403 либо что у вас там считается ошибкой, тело ответа подменяем на ошибку в вашем формате, например джейсон, с текстом например "баланс ниже нуля". смотрим система распарсила ошибку и отобразила в интерфейсе текст "баланс ниже нуля"

 

кейс 2: подмена ответа на "неожидаемую" ошибку

подменяем хтпп-код на например 500 и тело на что-то не по вашей структуре например "123". Смотрим что обработчик отобразил какую-то общую ошибку типа "Something went wrong"


  • 0

#9 baruk

baruk

    Новый участник

  • Members
  • Pip
  • 9 сообщений


Отправлено 28 Январь 2019 - 20:13

В таком виде согласен с вами.


  • 0


Школа тест-менеджеров v. 2.0
онлайн
Тестирование удобства использования
онлайн
Логи как инструмент тестировщика
онлайн
Организация автоматизированного тестирования
онлайн



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале