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

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

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

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

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

Содержание

Безопасность – превыше всего

Прежде чем перейти к тест-кейсам, отметим, что загрузка файлов может стать кошмаром с точки зрения ИТ-безопасности. Всегда существуют потенциальные риски безопасности, такие как SQL-инъекции или другие лазейки в защите. Любой внешний доступ к вашим системам всегда представляет опасность.

Для тестирования безопасности на проекте вам придется тесно сотрудничать с командами ИТ-безопасности, ИТ-инжиниринга и службы поддержки.

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

Требования, которые необходимо учитывать

Качество вашего тестирования будет напрямую зависеть от требований, которые у вас есть.

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

Для получения полного набора функциональных, нефункциональных и бизнес-требований необходимо обратиться к бизнес-аналитику или эксперту в предметной области (SME) вашей организации.

ID требованияОбласть функциональностиОписание требований
FU-REQ-001Имя файлаИмя файла должно соответствовать следующим условиям:

Условие 1
Минимальная длина 1
Условие 2
Максимальная длина не должна превышать 255 символов
Условие 3
Не содержит специальных символов
Условие 4
Содержит одну точку для разделения имени файла и его расширения
Ознакомьтесь с более подробной информацией о соглашениях по именованию файлов
FU-REQ-002Тип файлаПриложение принимает только следующие типы файлов изображений: .jpg, .jpeg, .png, .gif, .webp.

Пример допустимых типов файлов можно посмотреть на сайте WordPress.
FU-REQ-003Тип файлаПриложение принимает только следующие типы файлов документов: .pdf, .doc, .odt, .xls, .key, .ppt.
FU-REQ-004Тип файлаПриложение принимает только следующие типы аудиофайлов: .mp3, .m4a, .ogg, .wav.
FU-REQ-005Тип файлаПриложение принимает только следующие типы видеофайлов: .mp4, .mov, .avi, .mpg.
FU-REQ-006Путь к файлу (расположение)Каждый файл загружен в соответствующую папку – URL/год/месяц/день/.
Например, изображения, загруженные 1 декабря 2021 года, будут загружены в соответствующую папку …website.com/2021/12/01.
FU-REQ-007Расширение файлаПринимаются только допустимые расширения файлов для изображений, документов, аудио- и видеофайлов. Система отклонит любое расширение файла, не входящее в список допустимых.
FU-REQ-008Максимальный размер файлаМаксимальный размер каждого файла не должен превышать 48 МБ.
FU-REQ-009Загрузка нескольких файловВ системе должна быть предусмотрена возможность загрузки нескольких файлов.
FU-REQ-010Кнопки и элементы управленияПриложение должно отображать кнопку Upload, которая при нажатии позволяет пользователю:
– Загрузить корректный файл
– Отклонить некорректный файл
– Предложить пользователю выполнить действие, если файл не прикреплен

Позитивные тест-кейсы для проверки загрузки файлов

В позитивных тестах вы будете проверять процесс загрузки в вашем веб-приложении в случае “позитивного сценария”. В некоторых случаях лучше проверить конкретное условие тестирования, а все остальное оставить без изменений.  

ID тест-кейсаОписание тест-кейсаОжидаемый результат
TC-FU-001Убедитесь, что пользовательский интерфейс (UI) экрана загрузки файлов отображается корректноНа экране отображается то, что ожидается в соответствии со спецификацией пользовательского интерфейса
TC-FU-002Убедитесь, что имя файла соответствует минимальной длинеСистема принимает загрузку файла
TC-FU-003Убедитесь, что имя файла не превышает максимальную длинуСистема принимает загрузку файла
TC-FU-004Убедитесь, что имя файла не содержит специальных символовНикакие специальные символы не отображаются.
Система принимает загрузку файла
TC-FU-005Убедитесь, что загружаемое изображение имеет допустимый тип файла.
Примечание: Более подробная информация о допустимых форматах файлов приведена в требовании ID FU-REQ-002.
Система принимает загрузку файла изображения.
На экране появляется подтверждение
TC-FU-006Убедитесь, что загружаемый документ имеет допустимый тип файла. Например, можно использовать файл Word или Excel.
Примечание: Более подробная информация о допустимых форматах файлов приведена в требовании ID FU-REQ-003.
Система принимает загрузку тестового файла документа.
На экране появляется подтверждение
TC-FU-007Убедитесь в том, что загружаемый аудиофайл имеет допустимый тип файла.
Примечание: Более подробная информация о допустимых форматах файлов приведена в требовании ID FU-REQ-004.
Система принимает загрузку тестового файла документа.
На экране появляется подтверждение
TC-FU-008Убедитесь, что загружаемое видео имеет допустимый тип файла.
Примечание: Более подробная информация о принятых форматах файлов приведена в требовании ID FU-REQ-005.
Система принимает загрузку тестового файла документа.
На экране появляется подтверждение
TC-FU-009Убедитесь, что загруженный файл имеет правильный путь к файлу (Location)Система принимает загрузку тестового файла.
На экране появляется подтверждение загрузки
TC-FU-010Убедитесь, что загружаемый файл имеет правильное расширение файлаСистема принимает загрузку тестового файла.
На экране появляется подтверждение
TC-FU-011Убедитесь, что загружаемый файл не превышает максимальный допустимый размер файлаСистема принимает загрузку тестового файла.
На экране появляется подтверждение
TC-FU-012Убедитесь, что система разрешает загрузку нескольких файловСистема принимает загрузку тестовых файлов.
На экране появляется подтверждение
TC-FU-013Удостоверьтесь в том, что функция загрузки получает полностью корректный файлСистема принимает файл.
Система обрабатывает файл.
Система возвращает подтверждающее сообщение об успешной загрузке файла

Чтобы завершить каждый тест-кейс как сквозной функциональный тест, нужно убедиться, что файл успешно загружен.

На этом этапе следует также зафиксировать доказательства, подтверждающие результаты теста.

Позитивные тест-кейсы отлично подходят для тестирования в рамках любых будущих “стендовых” тестов.

Негативные тест-кейсы для проверки загрузки файлов

Негативные тест-кейсы по сути своей противоположны позитивным. Мы пытаемся “сломать” систему, генерируя “исключения”. Вам следует попробовать реализовать анализ граничных значений, а также метод классов эквивалентности.

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

ID тест-кейсаОписание тест-кейсаОжидаемый результат
TC-FU-014Введите имя файла, длина которого меньше минимальнойФайл отклонен.
На экран выведено сообщение об ошибке
TC-FU-015Введите имя файла, длина которого больше максимальнойФайл отклонен.
На экран выведено сообщение об ошибке
TC-FU-016Убедитесь, что имя файла содержит специальные символыФайл отклонен.
На экран выведено сообщение об ошибке
TC-FU-017Убедитесь, что загружаемое изображение имеет недопустимый тип файлаФайл отклонен.
На экран выведено сообщение об ошибке
TC-FU-018Убедитесь, что загружаемый документ имеет недопустимый тип файлаФайл отклонен.
На экран выведено сообщение об ошибке
TC-FU-019Убедитесь, что загружаемое аудио имеет недопустимый тип файлаФайл отклонен.
На экран выведено сообщение об ошибке
TC-FU-020Убедитесь, что загружаемое видео имеет недопустимый тип файлаФайл отклонен.
На экран выведено сообщение об ошибке
TC-FU-021Убедитесь, что загружен неверный путь к файлу (Location)Файл отклонен. Выдается содержательное сообщение об ошибке
TC-FU-022Убедитесь, что загружаемый файл имеет недопустимое расширение файлаФайл отклонен.
На экран выведено сообщение об ошибке
TC-FU-023Убедитесь, что загружаемый файл превышает максимальный размерФайл отклонен.
На экран выведено сообщение об ошибке

Резюме и подведение итогов

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

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

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

Перевод статьи «How to Write Test Cases for File Upload Functionality: Get Positive, Negative and Requirement Examples for FREE».

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

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