Если бы нам давали по доллару за каждое использование функции загрузки файлов, мы были бы богатыми людьми. Существует множество онлайн-систем, где вам понадобится прикрепить или передать файл. В этой статье мы приведем список позитивных и негативных тест-кейсов для проверки функции загрузки файлов.
Мы рассмотрим тестирование загрузки файлов в 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».