Что такое системное тестирование?

Что такое системное тестирование?

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

Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туторилов, задач по автоматизации и книг по QA.

Содержание

Системное тестирование – видеообзор

Системное тестирование методом “черного ящика”

Выделяют два подхода к тестированию программного обеспечения:

Системное тестирование относится к категории тестирования программного обеспечения методом “черного ящика”.

Тестирование методом “белого ящика” – это тестирование кода программного приложения. В отличие от него, метод “черного ящика” или системное тестирование не затрагивает код. Системные тесты проверяют внешнюю работу программного обеспечения с точки зрения конечного пользователя.

Что проверяется при системном тестировании?

Системное тестирование включает в себя следующие проверки:

  • Тестирование полностью интегрированных приложений, включая внешние периферийные устройства, с целью проверки взаимодействия компонентов друг с другом и с системой в целом. Этот процесс по другому называется “сквозное тестирование”.
  • Скрупулезное тестирование каждого входа в приложение для проверки ожидаемых результатов.
  • Тестирование работы конечного пользователя с приложением.

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

Иерархия тестирования программного обеспечения

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

  • Unit-тестирование выполняется для каждого модуля или блока кода в процессе разработки. Обычно проводится программистом, который пишет код.
  • Интеграционное тестирование проводится до, во время и после интеграции нового модуля в основной комплекс программного обеспечения. Оно включает в себя проверку каждого отдельного модуля кода. Одна часть ПО может содержать несколько модулей, которые часто создаются несколькими разными программистами. Очень важно проверить влияние каждого модуля на всю систему.
  • Системное тестирование проводится QA инженером на готовом программном продукте перед его выходом на рынок.
  • Приемочное тестирование – бета-тестирование продукта, проводимое реальными конечными пользователями.

Типы системного тестирования

Существует более 50 видов системного тестирования. Ниже мы перечислили самые часто используемые:

  1. Тестирование юзабилити в основном фокусируется на удобстве использования приложения, гибкости управления и способности системы решать поставленные задачи.
  2. Нагрузочное тестирование необходимо для понимания того, как программа будет работать при реальных нагрузках.
  3. Регрессионное тестирование проводится, чтобы убедиться, что ни одно из изменений, внесенных в процессе разработки, не вызвало новых ошибок. Оно также позволяет убедиться в отсутствии старых ошибок, возникающих при добавлении новых программных модулей.
  4. Тестирование восстановления проверяет надежность программы и ее способности к успешному восстановлению после вероятных сбоев.
  5. Тестирование миграции проводится для того, чтобы убедиться, что программное обеспечение может быть перенесено из старых системных инфраструктур в текущие без каких-либо проблем.
  6. Функциональное тестирование направлено на проверку соответствия функциональных требований ПО его реальным характеристикам. Проверяет тот факт, что продукт обладает всем набором функциональностей, который прописан в требованиях. Тестировщики могут составить список дополнительных функций, которыми может обладать продукт, чтобы улучшить его в ходе этого тестирования.
  7. Тестирование аппаратного/программного обеспечения – проверка, при которой тестировщик фокусирует свое внимание на взаимодействии между аппаратным и программным обеспечением.

Какие виды системного тестирования применяют тестировщики?

Конкретные типы системного тестирования, используемые тестировщиком, зависят от нескольких факторов:

  • На кого работает тестировщик. Это основной момент в выборе типов системного тестирования для конкретного проекта. Методы в крупных компаниях отличаются от методов, применяемых средними и малыми компаниями.
  • Время, выделенное на тестирование. В действительности, можно использовать все 50 видов системного тестирования. Однако временные рамки часто ограничивают нас, поэтому мы выбираем только те типы тестирования, которые наиболее актуальны для конкретного проекта.
  • Ресурсы, доступные тестировщику. Иногда QA инженеры сталкиваются с дефицитом ресурсов, необходимых для проведения того или иного вида тестирования. Но, если вы являетесь тестировщиком, работающим в крупной фирме по разработке программного обеспечения, вам, вероятно, будут доступны дорогостоящие инструменты автоматизации, которых нет у других.
  • Знания и опыт QA-инженера. Для каждого вида тестирования ПО существует определенная кривая обучения. Чтобы использовать в рабочем процессе некоторые программы, например, инструменты автоматизации, тестировщик должен уметь их использовать.
  • Бюджет. Деньги – один из главных факторов, определяющих выбор типов тестирования, как в небольших, так и в крупных компаниях.

Перевод статьи Thomas Hamilton «What is System Testing? Types with Example».

3 комментария к “Что такое системное тестирование?”

  1. Пингбэк: Большой учебник по тестированию

  2. Пингбэк: Тест-план для мобильных приложений

  3. Пингбэк: Функциональное тестирование

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *