Разделы портала

Онлайн-тренинги

.
Шесть советов и четыре инструмента для тестирования загрузки файлов
19.05.2020 00:00

Автор: Кристин Джеквони (Kristin Jackvony)
Оригинал статьи
Перевод: Ольга Алифанова

Недавно я тестировала загрузку файлов, а это всегда увлекательно. Это также очень важно, потому что загрузка вирусного файла – один из способов, путем которых злоумышленник может издеваться над вашим приложением, уронив его или получив доступ к закрытым данным. Сегодня я дам вам шесть советов и расскажу о четырех инструментах, помогающих успешно тестировать загрузку файлов.

Совет первый: загружайте файлы с разрешенными и запрещенными расширениями

Первый шаг в тестировании загрузки файлов – это выяснение, какие типы файлов разрешено загружать. Эта информация должна быть белым, а не черным списком. Белый список определяет, что разрешены только определенные расширения, а черный – что какие-то расширения запрещены. При использовании черного списка разрешены будут тысячи типов файлов, и некоторые из них, возможно, вам не понравятся! Поэтому важно использовать белый список, который будет ограничен лишь несколькими типами файлов, с которыми вы хотите иметь дело в приложении. Если ваши разработчики не пользуются белым списком, пожалуйста, расскажите им об этом.

Когда вы знаете типы файлов из белого списка, попробуйте загрузить каждый из них. Затем попытайтесь загрузить ряд файлов, не входящих в белый список. Они не должны быть приняты, и пользователь должен увидеть соответствующее сообщение об ошибке.

Совет второй: загружайте файлы с неверными расширениями

Один из способов, путем которых злоумышленник может загрузить запрещенный файл – это его переименование с указанием разрешенного расширения, и последующая попытка загрузки. Файл должен быть отклонен с соответствующим сообщением об ошибке. Попытка также должна отображаться в логах приложения, чтобы при любых попытках загрузки подобных файлов уведомлялась ваша команда безопасности.

Совет третий: проверьте максимальный размер файла.

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

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

Совет четвертый: тестируйте с анимированными GIF

Зачастую, если приложение позволяет загрузку изображений, загрузка формата gif разрешена. GIF-файлы могут содержать анимацию. Решите с командой, должно ли приложение поддерживать анимированные GIF, и если это не так, выясните, как должно работать, если пользователь загрузит такую анимацию. Будет ли она отображаться статично, или файл будет отвергнут? Убедитесь, что загрузка анимированного GIF не приведет к битому изображению на странице. Если анимированные GIF разрешены, убедитесь, что они правильно загружаются и отображают анимацию (см. следующий совет).

Совет пятый: убедитесь, что файл правильно загрузился.

Недостаточно проверить, что при загрузке файла из белого списка не появилось сообщения об ошибке – надо еще и убедиться, что файл правильно сохранился в базе данных. Самый легкий способ это сделать – это скачать файл и удостовериться, что он выглядит так же, как и тот, который вы загружали. Если ваш файл должен отображаться в интерфейсе, убедитесь, что он верно выглядит в браузере или на мобильном устройстве. Если загруженное изображение должно менять размер на странице, убедитесь, что это верно сделано. Вы же не хотите, чтобы часть данных была не видна, потому что кто-то загрузил гигантскую картинку! Если вы ожидаете, что аудио или видео будут проигрываться, проверьте, так ли это.

Шестой совет: заведите папку с файлами-примерами

Мой любимый совет: заведите папку, наполненную различными файлами для тестирования. У меня есть папка с множеством файлов различных расширений и размеров. Если мне нужно тестировать загрузку, я готова к бою – мне не надо тратить время на прочесывание Сети в поисках годных примеров.

И так мы плавно переходим к четырем инструментам для тестирования загрузки файлов!

Первый инструмент: File-Examples.com

Я обнаружила этот сайт недавно, выяснив, что мне нужны файлы с расширением .doc, а не .docx. Этот сайт любезно предоставил такой файл, и на нем еще много примеров.

Второй инструмент: Random File Generator

Я упоминала его в своей статье "Пятнадцать бесплатных инструментов для тестирования". Если вам нужно проверить ограничения размеров файлов, то вы можете создавать файлы различных размеров при помощи этого инструмента.

Третий инструмент: Mime-Types-Complete-List

Это полный и легко читабельный список всех MIME-типов и их расширений. Он очень полезен, когда вы хотите найти менее распространенные типы файлов для тестирования, или выяснить, какой MIME-тип относится к определенному расширению.

Четвертый инструмент: Eicar Test File

Если ваше приложение проверяет загруженные файлы на вирусы, вы можете воспользоваться этим тестовым файлом. Этот файл выглядит так, как будто содержит вирус, но на самом деле безвреден. Однако если на вашем компьютере установлен антивирус, то вы не сможете его даже скачать! Мне удалось это обойти, попросив отправить мне этот текст этого файла в чате, а затем я вставила текст в окно ввода Postman для запроса на загрузку.

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

Обсудить в форуме