Найти в Дзене

Функциональное VS Нефункциональное тестирование

Оглавление

Привет Друзья! В данной статье, Мы рассмотрим с Вами что такое функциональное и нефункциональное тестирование, и что они в себя включают.

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

Нефункциональное тестирование – направленно на проверку соответствия свойств ПО с его нефункциональными требованиями. Тестирование свойств которые не относятся к функциональности системы – надежность, производительность и т.д.

Мы разобрались в чем между ними различие, давай более детально рассмотрим, что включает в себя каждое из них.

Виды функционального тестирования:

Классификация функционального тестирования
Классификация функционального тестирования

Дымовое тестирование (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) – доступность людям с ограниченными возможностями.

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