Привет Друзья! В данной статье, Мы рассмотрим с Вами что такое функциональное и нефункциональное тестирование, и что они в себя включают.
Функциональное тестирование – тестирование, которое направленно на проверку соответствия функциональных требований ПО к его реальным характеристикам. Подтверждение того, что наш продукт обладает всем функционалом который требует заказчик.
Нефункциональное тестирование – направленно на проверку соответствия свойств ПО с его нефункциональными требованиями. Тестирование свойств которые не относятся к функциональности системы – надежность, производительность и т.д.
Мы разобрались в чем между ними различие, давай более детально рассмотрим, что включает в себя каждое из них.
Виды функционального тестирования:
Дымовое тестирование (smoke test) — тестирование, которое проводится после появления нового билда (некая промежуточная версия программного продукта). Направлено на проверку готовности разработанного продукта к проведению расширенного тестирования и определения общего качества продукта. Дает ответ на вопрос: "готово ли приложение к выполнению основных функций или нет?". На примере интернет-магазина, мы производим следующие шаги: Логирование - Производим выбор продукта – Оплата - Получаем подтверждение оплаты. Главный маркер того что дымовое тестирование произошло успешно - это когда ожидание совпадает с фактическим результатом. Должны быть быстрыми.
Тестирование критического пути (critical path) — направлено для проверки функциональности, используемой обычными пользователями во время их повседневной деятельности.
Основной тип тестовых испытаний, во время которого значимые элементы и функции приложения проверяются на предмет правильности работы при их стандартном использовании. Проверка типичных повседневных заданий пользователя: выбор шрифта, возможность вставки текста, картинок и т.д.
Расширенное тестирование (extended test) — направлено на исследование всей заявленной в требованиях функциональности.
Проверка нестандартного использования продукта (например, вводить нестандартные символы в поле логина, работать на многих вкладках одновременно. Максимально загружать нашу систему, проводить множество негативных тестов.
Виды нефункционального тестирования:
1)Тестирование производительности (performance testing) – комплекс видов тестирования целью, которых является проверка работоспособности, стабильности, потребления ресурсов и других атрибутов в условиях других сценариев использования и нагрузок.
Нагрузочное тестирование — определение или сбор показателей производительности и времени отклика программно-технической системы или устройства в ответ на внешний запрос с целью установления соответствия требованиям, предъявляемым к данной системе (устройству). Проверка производительности при нормальных условиях, например норма посетителей, одновременно находящихся, на нашем сайте - 1000 пользователей. Происходит нагрузка системы в этих пределах и анализируется поведение программы.
Стресс тестирование - экстремальная нагрузка, в разы превышающая норму. Например при норме в 1000 посетителей, нагружается до 2000 и смотрится результат.
Тестирование стабильности – проверка приложения при длительной работе, при нормальных условиях.
Объемная тестирование – тестирование при увеличенных объемах обрабатываемых данных (например 1000 пользователей отправляют одновременно сообщения, загружают файлы)
2)Инсталляционное тестирование (installation testing) — тестирование, направленное на проверку успешной установки и настройки, обновления или удаления приложения. К примеру проверка устанавливается ли наше мобильное приложение через playmarket, когда мы скачиваем с браузера нашего смартфона, установка с флеш-карты, с компьютера и т.д
3)Проверка удобства (Usability testing) – проверка на удобство, соотношение дизайна программного продукта к функциональности, цветового оформления, текста, обучаемость и т.д, то на сколько наш продукт удобен конечному пользователю.
4)Тестирование безопасности (security testing) — это стратегия тестирования, используемая для проверки безопасности системы, а также для анализа рисков, связанных с обеспечением целостного подхода к защите приложения, атак хакеров, вирусов, несанкционированного доступа к конфиденциальным данным.
5)Тестирование локализации и интернационализации
-процесс адаптации нашего ПО к языку и культуре клиента(перевод, дата и время, символика и цветов, валюта)
-на сколько наш продукт может в дальнейшем адаптироваться той или иной локации – особенности языка, удобность перестройки под него. Например в азиатских сранах.
6)Тестирование доступности(accessibility testing) – доступность людям с ограниченными возможностями.
Друзья, вот мы и рассмотрели с вами очень важную тему как виды функционального и не функционального тестирования. Пришло время прощаться, подписывайтесь на канал, ставьте лайк и до новых встреч!