Top.Mail.Ru
Инжинириум Химки

КАК ТЕСТИРОВЩИКИ ПРОВЕРЯЮТ, ЧТО ПРОГРАММА ДЕЛАЕТ ТО, ЧТО НУЖНО

КАК ТЕСТИРОВЩИКИ ПРОВЕРЯЮТ, ЧТО ПРОГРАММА ДЕЛАЕТ ТО, ЧТО НУЖНО

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

ЧТО ТАКОЕ ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ?

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

Функциональные требования — это то, чего заказчик ожидает от ПО. Функциональные требования определяют, что должна делать система и без чего она не будет работать.

Если ПО не проходит какое-то из тестирований, процесс проверки не идёт дальше. Вместо этого ПО возвращают в разработку, а после исправления ошибок проводят тестирование заново.

ВЫДЕЛЯЮТ СЛЕДУЮЩИЕ ВИДЫ ФУНКЦИОНАЛЬНОГО ТЕСТИРОВАНИЯ:

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

🟡 Компонентное — тестирование компонентов похоже на модульное, поскольку функции ПО также проверяют отдельно. Но при модульном тестировании можно ограничиться несвязанными данными.

🟡 Интеграционное — при тестировании двух и более модулей или компонентов проверяют, что взаимодействие между ними происходит так, как ожидается. После того как модули и компоненты тестируют по отдельности, нужно убедиться, что они правильно работают вместе. Это особенно важно, если над ПО работают несколько разработчиков, которые пишут код по отдельности.

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

🟡 Системное — все модули и компоненты объединяют и ПО тестируют, как целостную систему и полный продукт. При этом проверяют, что система работает, как задумано.

🟡 Приёмочное — проводят перед тем, как запустить продукт на рынок. Сначала проходит альфа-тестирование — проверка на уровне бизнеса, когда заказчик удостоверяется в том, что получил ПО с нужным функционалом. После этого организуют бета-тестирование, к которому привлекают обычных пользователей.

🟡 Дымовое — как правило, ПО не остаётся неизменным после выхода на рынок. Со временем заказчику может потребоваться добавить новые функции или изменить уже существующие. Когда работы окончены и новая сборка ПО готова, её сначала проверяют путём дымового тестирования (smoke testing).

🟡 Тестирование на здравомыслие — работоспособность ПО проводят детальнее, чем при дымовом. При этом выполняют различные тесты, которые проверяют внесённые изменения.

🟡 Регрессионное тестирование — когда в ПО устраняют какие-то ошибки, меняют какие-то функции или добавляют новые, есть вероятность, что это затронет существующий функционал и вызовет неожиданное поведение всей системы.

🟡 Ре-тест — проверяют, что в ПО были внесены необходимые исправления. При этом проверяют, что нет конкретных ошибок, которые были обнаружены перед тем, как ПО отправили на доработку.

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