Системное тестирование – это этап тестирования, в процессе которого проверяется завершенный и полностью интегрированный программный продукт. Цель этого вида тестирования – оценка ПО на соответствие функциональным и нефункциональным требованиям. Обычно программное обеспечение состоит из различных модулей, которые взаимодействуют между собой. Системное тестирование определяется как серия различных тестов, главная цель которых – тестирование системы в целом.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туторилов, задач по автоматизации и книг по QA.
Содержание
- Системное тестирование методом “черного ящика”
- Что проверяется при системном тестировании?
- Иерархия тестирования программного обеспечения
- Типы системного тестирования
- Какие виды системного тестирования должны использовать тестировщики?
Системное тестирование – видеообзор
Системное тестирование методом “черного ящика”
Выделяют два подхода к тестированию программного обеспечения:
- Тестирование методом “черного ящика”;
- Тестирование методом “белого ящика”.
Системное тестирование относится к категории тестирования программного обеспечения методом “черного ящика”.
Тестирование методом “белого ящика” – это тестирование кода программного приложения. В отличие от него, метод “черного ящика” или системное тестирование не затрагивает код. Системные тесты проверяют внешнюю работу программного обеспечения с точки зрения конечного пользователя.
Что проверяется при системном тестировании?
Системное тестирование включает в себя следующие проверки:
- Тестирование полностью интегрированных приложений, включая внешние периферийные устройства, с целью проверки взаимодействия компонентов друг с другом и с системой в целом. Этот процесс по другому называется “сквозное тестирование”.
- Скрупулезное тестирование каждого входа в приложение для проверки ожидаемых результатов.
- Тестирование работы конечного пользователя с приложением.
Выше представлено обобщенное описание системного тестирования. Для этого процесса важно создавать детальные тест-кейсы и наборы тестов, которые проверяют каждый модуль приложения и то, как он выглядит, не заглядывая в программный код. Чтобы узнать больше о комплексном подходе к системному тестированию, подробнее прочитайте про сквозное тестирование.
Иерархия тестирования программного обеспечения
Как и в почти любом процессе разработки программного обеспечения, в тестировании имеется установленный порядок, в соответствии с которым должны выполняться все процессы. Ниже приведен перечень видов тестирования ПО, расположенных в хронологическом порядке. Эти действия необходимы для полного тестирования нового программного обеспечения при его подготовке к релизу:
- Unit-тестирование выполняется для каждого модуля или блока кода в процессе разработки. Обычно проводится программистом, который пишет код.
- Интеграционное тестирование проводится до, во время и после интеграции нового модуля в основной комплекс программного обеспечения. Оно включает в себя проверку каждого отдельного модуля кода. Одна часть ПО может содержать несколько модулей, которые часто создаются несколькими разными программистами. Очень важно проверить влияние каждого модуля на всю систему.
- Системное тестирование проводится QA инженером на готовом программном продукте перед его выходом на рынок.
- Приемочное тестирование – бета-тестирование продукта, проводимое реальными конечными пользователями.
Типы системного тестирования
Существует более 50 видов системного тестирования. Ниже мы перечислили самые часто используемые:
- Тестирование юзабилити в основном фокусируется на удобстве использования приложения, гибкости управления и способности системы решать поставленные задачи.
- Нагрузочное тестирование необходимо для понимания того, как программа будет работать при реальных нагрузках.
- Регрессионное тестирование проводится, чтобы убедиться, что ни одно из изменений, внесенных в процессе разработки, не вызвало новых ошибок. Оно также позволяет убедиться в отсутствии старых ошибок, возникающих при добавлении новых программных модулей.
- Тестирование восстановления проверяет надежность программы и ее способности к успешному восстановлению после вероятных сбоев.
- Тестирование миграции проводится для того, чтобы убедиться, что программное обеспечение может быть перенесено из старых системных инфраструктур в текущие без каких-либо проблем.
- Функциональное тестирование направлено на проверку соответствия функциональных требований ПО его реальным характеристикам. Проверяет тот факт, что продукт обладает всем набором функциональностей, который прописан в требованиях. Тестировщики могут составить список дополнительных функций, которыми может обладать продукт, чтобы улучшить его в ходе этого тестирования.
- Тестирование аппаратного/программного обеспечения – проверка, при которой тестировщик фокусирует свое внимание на взаимодействии между аппаратным и программным обеспечением.
Какие виды системного тестирования применяют тестировщики?
Конкретные типы системного тестирования, используемые тестировщиком, зависят от нескольких факторов:
- На кого работает тестировщик. Это основной момент в выборе типов системного тестирования для конкретного проекта. Методы в крупных компаниях отличаются от методов, применяемых средними и малыми компаниями.
- Время, выделенное на тестирование. В действительности, можно использовать все 50 видов системного тестирования. Однако временные рамки часто ограничивают нас, поэтому мы выбираем только те типы тестирования, которые наиболее актуальны для конкретного проекта.
- Ресурсы, доступные тестировщику. Иногда QA инженеры сталкиваются с дефицитом ресурсов, необходимых для проведения того или иного вида тестирования. Но, если вы являетесь тестировщиком, работающим в крупной фирме по разработке программного обеспечения, вам, вероятно, будут доступны дорогостоящие инструменты автоматизации, которых нет у других.
- Знания и опыт QA-инженера. Для каждого вида тестирования ПО существует определенная кривая обучения. Чтобы использовать в рабочем процессе некоторые программы, например, инструменты автоматизации, тестировщик должен уметь их использовать.
- Бюджет. Деньги – один из главных факторов, определяющих выбор типов тестирования, как в небольших, так и в крупных компаниях.
Перевод статьи Thomas Hamilton «What is System Testing? Types with Example».
Пингбэк: Большой учебник по тестированию
Пингбэк: Тест-план для мобильных приложений
Пингбэк: Функциональное тестирование