Тестирование загрузки файлов за 9 шагов

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

Но что мы, тестировщики, можем сделать, если пользователь загружает не то, что ожидает владелец нашего продукта, написавший великолепную спецификацию по загрузке файлов?

В этой статье мы рассмотрим некоторые специальные тестовые случаи, которые вы можете выполнить при тестировании функции загрузки файлов.

Шаги тестирования загрузки файлов

  1. Во-первых, начните с разрешенных расширений. Сможете ли вы загрузить эти расширения во все поддерживаемые браузеры или устройства?
  2. Перейдите к именам файлов. Что произойдет, если вы будете использовать странные символы или различные варианты странных строк? А если добавить нулевые байты, например, php%00.jpg? В результате .jpg усекается, а новым расширением становится .php. Поищите другие примеры плохого regex при построении имени файла.
  3. Затем попробуйте загрузить файл, имя которого представляет собой просто пустое место. Затем эмодзи. Сработает ли это, если название будет длиной в 500.000 символов? Мы очень надеемся, что нет!
  4. А если вы решите загрузить .pdf размером 1 ГБ? Просто, проверьте ограничения на размер, потому что файл .pdf размером 1 ГБ не должен быть разрешен к загрузке.
  5. Проверьте, всем ли ролям пользователей вашего приложения разрешено загружать файлы. Попробуйте использовать идентификатор сессии пользователя, которому не должно быть разрешено загружать файлы. Кроме того, вошел ли пользователь в систему? Или он может выполнить загрузку файла, даже не будучи зарегистрированным? Импортируйте запрос в Postman и проверьте это.
  6. Проверьте, сможете ли вы загрузить вредоносные данные. Допустим, вы измените расширение файла .exe на .jpg. Это не должно сработать. Кроме того, никогда не стоит разрешать загрузку файлов .zip. Попробуйте это на Gmail и посмотрите, работает ли это (не должно).
  7. Сможете ли вы убедить приложение браузера загрузить файл с вредоносного сайта, используя метод Cross-Site Request Forgery?
  8. Должны ли мы иметь возможность загружать незаконные, оскорбительные или опасные данные? Как насчет данных, защищенных авторским правом? (Вспомните YouTube, попробуйте загрузить видео, содержащее музыку, защищенную авторским правом, и посмотрите, что произойдет).
  9. Что касается запроса API при загрузке файла, посмотрите, есть ли в запросе заголовок проверки типа содержимого. Он определенно должен быть!

Примечание: Мы вдохновились шпаргалкой OWASP по загрузке файлов с точки зрения разработчика.

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *