В этой статье мы рассмотрим различные уровни тестирования программного обеспечения.
Тестирование — важный этап, который проходит любое программное обеспечение перед релизом. Он определяет уровень качества и готовности программы, наличие в ней ошибок и ее соответствие требованиям клиента.
В процессе работы тестировщики используют различные технологии, методологии и уровни тестирования для проверки функциональных и нефункциональных возможностей продукта.
Что такое уровни тестирования программного обеспечения?
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туторилов, задач по автоматизации и книг по QA.
Контроль качества включает в себя комплекс мероприятий по планированию, разработке тестов, выполнению тестирования и анализа результатов.
Для того чтобы протестировать любое приложение, нам необходимо пройти все стадии SDLC (Software development lifecycle) – жизненного цикла разработки продукта. Как и в SDLC, в тестировании существует несколько уровней, которые помогают нам поддерживать качество программного обеспечения.
Различные уровни тестирования
В тестировании программного обеспечения существует четыре различных уровня тестирования, которые рассмотрены ниже:
- Модульное тестирование.
- Интеграционное тестирование.
- Системное тестирование.
- Приемочное тестирование.
Все эти уровни тестирования имеют конкретную цель, которая определяет их значение для жизненного цикла разработки ПО.
Для лучшего понимания рассмотрим их подробнее.
Уровень 1: Модульное тестирование
Юнит-тестирование – это первый уровень тестирования программного обеспечения, который используется для проверки того, удовлетворяют ли программные модули заданным требованиям или нет.
Оно предполагает анализ каждого модуля или отдельного компонента программного приложения.
Юнит-тестирование также является первым уровнем функционального тестирования. Основная цель его проведения – проверка работоспособности компонентов модуля.
Модульный компонент – это отдельная функция или регламент приложения, или другими словами, наименьшая тестируемая часть программного обеспечения. Во время проведения модульного тестирования осуществляется изоляция и проверка отдельных фрагментов кода,
Юнит-тестирование позволяет тестировщикам и разработчикам оперативно вносить изменения в код, вызывающий дефекты и предотвращать появление ошибок на ранних этапах разработки продукта.
Уровень 2: Интеграционное тестирование
После модульного тестирования проводится интеграционное. Если на первом уровне происходила проверка наличия ошибок в отдельных функциях, то на этом этапе осуществляется проверка самой системы в целом.
При интеграционном тестировании тестируются отдельные компоненты или модули программного обеспечения в группе.
Его основная цель – выявление дефектов при взаимодействии между интегрированными компонентами.
Оно проводится только после успешного завершения функционального тестирования каждого модуля приложения.
Простыми словами можно сказать, что интеграционное тестирование направлено на оценку точности связи между всеми модулями.
Уровень 3: Системное тестирование
Третий уровень тестирования программного обеспечения – это системное тестирование, которое используется для проверки функциональных и нефункциональных требований к программному обеспечению.
Это сквозное тестирование, при котором система тестируется как единое целое. Другими словами – это полная проверка продукта, направленная на выявление нерационального использования ресурсов, отсутствия определенных функций, некорректных комбинаций данных, несовместимости с окружением и т. д.
При системном тестировании мы проходим через все необходимые модули приложения и проверяем, работает ли конечный функционал.
Проще говоря, системное тестирование – это последовательность различных типов тестов для реализации и проверки полного соответствия работы интегрированной программной компьютерной системы требованиям.
Уровень 4: Приемочное тестирование
Последним, четвертым уровнем тестирования программного обеспечения является приемочное тестирование, которое проводится на этапе сдачи готового продукта либо его готовой части заказчику.
К этому моменту программное обеспечение уже прошло три уровня тестирования (Unit Testing, Integration Testing, System Testing). Однако некоторые незначительные ошибки все еще могут быть выявлены при использовании системы конечным пользователем в реальных условиях.
Существует несколько видов приемочного тестирования:
- Приемочное пользовательское тестирование (UAT — User Acceptance Testing) – проводится конечным пользователем продукта с целью найти оставшиеся баги перед релизом ПО.
- Эксплуатационное – выполняется пользователем или администратором в среде, имитирующей реальное рабочее окружение. На этом этапе проверяются функции резервного копирования, аварийное восстановление системы, безопасность.
- На соответствие контракту – проверка ПО на соответствие спецификации или другим нормативным актам.
- Альфа – эксплуатационное тестирование на стороне разработчика.
- Бета – производится без участия разработчиков, на внешней стороне, небольшой группой пользователей перед релизом.
После завершения приемочного тестирования пользователи/заказчики принимают решение о готовности продукта к выпуску.
Заключение
В этом пособии мы рассмотрели все уровни тестирования. И можем сделать вывод, что тесты группируются в зависимости от того, на каком этапе жизненного цикла разработки ПО они добавляются.
Основная причина введения этих уровней заключается в том, чтобы сделать процесс тестирования программного обеспечения эффективным, сократить количество тест-кейсов и облегчить поиск ошибок на каждом из этапов.
Перевод статьи «Levels of Testing».
Пингбэк: Большой учебник по тестированию
Пингбэк: 50+ вопросов и ответов на собеседовании по QA
Пингбэк: 10 вопросов и ответов по модульному тестированию