В прошлой статье мы с вами изучили, что такое Жизненный цикл ПО. Сегодня подробно остановимся с Атрибутами требований.
В процессе разработки программного обеспечения (ПО) важно уделять внимание качеству продукта. Одним из ключевых аспектов обеспечения качества является тестирование. Тестирование позволяет выявить дефекты и несоответствия в продукте, а также оценить его соответствие требованиям.
Требования к ПО — это спецификации, описывающие, что должно быть реализовано в продукте. Они определяют, какие функции и возможности должны быть доступны пользователям.
Какие бывают требования?
✅Бизнес-требования
Бизнес-требования — это общие задачи, которые должен решать сайт или другой продукт. Они определяют цели и задачи проекта, а также ожидания от его результатов. Бизнес-требования важны для понимания того, что именно хочет получить заказчик от продукта, и как он будет использоваться.
Примеры бизнес-требований:
- Увеличение продаж. Сайт должен способствовать увеличению продаж товаров или услуг компании.
- Повышение узнаваемости бренда. Сайт должен повышать узнаваемость бренда среди целевой аудитории.
- Улучшение обслуживания клиентов. Сайт должен предоставлять клиентам информацию о продуктах и услугах компании, а также возможность легко связаться с представителями компании.
✅Пользовательские требования
Пользовательские требования (User Requirements) описывают цели и задачи, которые пользователи должны иметь возможность выполнять с помощью продукта, который в свою очередь должен приносить пользу кому-то. Эти требования определяют, какие функции и возможности должны быть предоставлены пользователям для эффективного использования продукта.
Примеры пользовательских требований:
- Пользователь должен иметь возможность зарегистрироваться на сайте. Это требование подразумевает, что пользователь должен иметь возможность создать учетную запись на сайте, указав свои личные данные и выбрав пароль.
- Пользователь должен иметь возможность просматривать каталог товаров. Это требование предполагает, что пользователь должен иметь доступ к списку товаров, предлагаемых магазином, с возможностью просмотра их описаний, изображений и цен.
- Пользователь должен иметь возможность оформить заказ. Это требование означает, что пользователь должен иметь возможность выбрать товары из каталога, добавить их в корзину, указать адрес доставки и способ оплаты, а затем оформить заказ.
✅Системные требования
Системные требования в тестировании программного обеспечения играют ключевую роль, определяя, насколько хорошо продукт будет работать на различных конфигурациях оборудования и операционных системах. Эти требования включают в себя минимальные и рекомендуемые характеристики аппаратного и программного обеспечения, необходимые для корректного функционирования приложения.
Примеры системных требований в тестировании:
- Операционная система: Windows 10, macOS 11, Linux Ubuntu 20.04.
- Процессор: Intel Core i5-8400 или AMD Ryzen 5 2600.
- Оперативная память: 8 ГБ.
🟦Также требования делятся на:
🔵Функциональные требования
Функциональные требования в тестировании программного обеспечения определяют, что система должна делать, чтобы удовлетворить потребности пользователей. Они описывают конкретные функции, возможности и поведение системы, которые должны быть протестированы для подтверждения их работоспособности и соответствия ожиданиям пользователей.
Характеристики функциональных требований:
- Специфика: Функциональные требования должны быть подробными и конкретными, чтобы избежать двусмысленности и обеспечить однозначное понимание того, что требуется от системы.
- Верифицируемость: Каждое функциональное требование должно быть проверяемым, чтобы можно было подтвердить его выполнение или невыполнение.
- Ориентированность на пользователя: Функциональные требования должны быть направлены на удовлетворение потребностей и ожиданий пользователей системы.
Примеры функциональных требований:
- Аутентификация пользователей: Система должна позволять пользователям создавать учетные записи, входить в систему и сбрасывать свои пароли.
- Корзина покупок: Система должна позволять пользователям добавлять товары в корзину, просматривать содержимое корзины и переходить к оформлению заказа.
- Функциональность поиска: Система должна предоставлять функцию поиска, которая позволяет пользователям находить продукты по ключевым словам.
Функциональные требования являются основой для разработки тестовых сценариев и планов тестирования, которые используются для проверки соответствия системы требованиям. Тестирование функциональных требований помогает выявить ошибки и дефекты в работе системы, а также обеспечивает её соответствие ожиданиям пользователей.
🔵Нефункциональные требования
Нефункциональные требования в тестировании программного обеспечения описывают, каким должно быть качество работы системы и её ресурсный потенциал. Они не связаны напрямую с конкретными функциями системы, а скорее оценивают её общее состояние и способность выполнять поставленные задачи.
Тестирование нефункциональных требований:
Нефункциональное тестирование включает в себя проверку различных аспектов работы системы, таких как скорость работы, надёжность, безопасность, удобство использования и совместимость. Для этого используются специальные методы и инструменты, такие как нагрузочное тестирование, стресс-тестирование, тестирование безопасности, юзабилити-тестирование и тестирование совместимости.
Примеры нефункциональных требований:
- Система должна обеспечивать стабильную работу при одновременном использовании 1000 пользователями.
- Система должна автоматически восстанавливать работу после сбоя питания в течение 1 минуты.
- Система должна шифровать все передаваемые данные с использованием алгоритма AES-256.
- Интерфейс системы должен быть интуитивно понятным и удобным для пользователей.
- Система должна поддерживать работу с операционными системами Windows, macOS и Linux.
Нефункциональные требования важны для обеспечения высокого качества и надёжности программного обеспечения, а их тестирование позволяет выявить потенциальные проблемы и недостатки в работе системы.
Атрибуты требований
Для того чтобы требования были проверяемыми и выполнимыми, они должны обладать определёнными атрибутами. Рассмотрим основные атрибуты требований:
- Корректность — требования должны точно описывать функционал, который должен быть реализован. Это означает, что требования должны быть сформулированы ясно и однозначно, без двусмысленности и противоречий.
- Проверяемость — требования должны быть сформулированы таким образом, чтобы можно было проверить их выполнение. Это означает, что требования должны быть конкретными и измеримыми.
- Полнота — требования должны содержать всю необходимую информацию для реализации функционала. Это означает, что требования должны быть исчерпывающими и не оставлять места для недопонимания.
- Недвусмысленность — требования должны быть сформулированы таким образом, чтобы их можно было понять однозначно. Это означает, что требования должны быть свободны от двусмысленности и неопределённости.
- Непротиворечивость — требования не должны противоречить друг другу. Это означает, что требования должны быть согласованы между собой и не создавать конфликтов.
- Приоритетность — требования могут иметь различную степень важности. Это означает, что требования должны быть ранжированы по приоритету, чтобы определить порядок их выполнения.
- Атомарность — требования должны быть атомарными, то есть не должны быть разбиты на более мелкие части. Это облегчает их понимание и проверку.
- Модифицируемость — требования должны быть модифицируемыми, то есть должны позволять вносить изменения без нарушения целостности системы.
- Прослеживаемость — требования должны иметь уникальный идентификатор, который позволяет отслеживать их происхождение и связь с другими требованиями.
Если у вас есть вопросы или вы просто хотите стать частью команды тестировщиков, то переходи в ТГ канал, где можем пообщаться с единомышленниками и найти много интересных и полезных знаний!Также если вам нужна индивидуальная консультация, менторство и помощь в создании проекта пишите в ТГ канал!