Конфигурационное тестирование

Материал из devopswiki
Перейти к: навигация, поиск

Конфигурационное тестирование — это один из видов традиционного тестирования производительности. В этом случае вместо того, чтобы тестировать производительность системы с точки зрения подаваемой нагрузки, тестируется эффект влияния на производительность изменений в конфигурации. Хорошим примером такого тестирования могут быть эксперименты с различными методами балансировки нагрузки. Конфигурационное тестирование также может быть совмещено с нагрузочным, стресс или тестированием стабильности.

Цели

В зависимости от типа проекта конфигурационное тестирование может иметь разные цели:

  1. Проект по профилированию работы системы. Цель Тестирования: определить оптимальную конфигурацию оборудования, обеспечивающую требуемые характеристики производительности и времени реакции тестируемой системы.
  2. Проект по миграции системы с одной платформы на другую. Цель Тестирования: Проверить объект тестирования на совместимость с объявленным в спецификации оборудованием, операционными системами и программными продуктами третьих фирм.

Уровни проведения тестирования

Для клиент-серверных приложений конфигурационное тестирование можно условно разделить на два уровня (для некоторых типов приложений может быть актуален только один):

  • Серверный
  • Клиентский

Серверный

На серверном уровне, тестируется взаимодействие выпускаемого программного обеспечения с окружением, в которое оно будет установлено:

Аппаратные средства (тип и количество процессоров, объем памяти, характеристики сети / сетевых адаптеров и т.д.) Программные средства (ОС, драйвера и библиотеки, стороннее ПО, влияющее на работу приложения и т.д.) Основной упор здесь делается на тестирование с целью определения оптимальной конфигурации оборудования, удовлетворяющего требуемым характеристикам качества (эффективность, портативность, удобство сопровождения, надежность).

Клиентский

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

  • удобство использования
  • функциональность.

Для этого необходимо будет провести ряд тестов с различными конфигурациями рабочих станций:

  • Тип, версия и битность операционной системы (подобный вид тестирования называется кросс-платформенное тестирование)
  • Тип и версия Web барузера, в случае если тестируется Web приложение (подобный вид тестирования называется кросс-браузерное тестирование)
  • Тип и модель видео адаптера (при тестировании игр это очень важно)
  • Работа приложения при различных разрешениях экрана
  • Версии драйверов, библиотек и т.д. (для JAVA приложений версия JAVA машины очень важна, тоже можно сказать и для .NET приложений касательно версии .NET библиотеки)
  • и т.д.

Порядок проведения тестирования

Перед началом проведения конфигурационного тестирования рекомендуется:

  • создавать матрицу покрытия (матрица покрытия - это таблица, в которую заносят все возможные конфигурации)
  • проводить приоритезацию конфигураций (на практике, скорее всего, все желаемые конфигурации проверить не получится)
  • шаг за шагом, в соответствии с расставленными приоритетами, проверять каждую конфигурацию.

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

Выводы

  • Конфигурационным называется тестирование совместимости выпускаемого продукта (программное обеспечение) с различным аппаратным и программным средствами
  • Основные цели - определение оптимальной конфигурации и проверка совместимости приложения с требуемым окружением (оборудованием, ОС и т.д.)
  • Автоматизация конфигурационного тестирования позволяет избежать лишних расходов

Ссылки

Конфигурационное тестирование в Wikipedia

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

Конфигурационное тестирование на примере интеграции продуктов Microsoft