Конфигурационное тестирование – это специальный вид тестирования, направленный на проверку работы программного обеспечения при различных конфигурациях системы (заявленных платформах, поддерживаемых драйверах, при различных конфигурациях компьютеров и т.д.)
Программное обеспечение тестируется с использованием различных комбинаций программных и аппаратных средств для проверки правильной его работы при различных конфигурациях системы. Конфигурации применяются на различных версиях операционных систем, различных базах данных, различных браузерах, различных процессорах, различных обьемах памяти и т.д. Ниже приведен список нескольких конфигураций:
- Операционные системы: Ubuntu 18.04, Ubuntu 20.10, Fedora 34, Mac OS X, Windows 10.
- Базы данных: MySQL, PostgreSQL, Oracle, SQLite
- Браузеры: Google Chrome, Firefox, Safari, браузер TOR, Microsoft Edge.
Друзья, поддержите нас вступлением в наш телеграм канал QaRocks. Там много туториалов, задач по автоматизации и книг по QA.
В зависимости от типа проекта конфигурационное тестирование может иметь разные цели:
- Проект по профилированию работы системы
Цель Тестирования: определить оптимальную конфигурацию оборудования, обеспечивающую требуемые характеристики производительности и времени реакции тестируемой системы. - Проект по миграции системы с одной платформы на другую
Цель Тестирования: Проверить объект тестирования на совместимость с объявленным в спецификации оборудованием, операционными системами и программными продуктами третьих фирм.
Примечание: В ISTQB Syllabus вообще не говорится о таком виде тестирования как конфигурационное. Согласно глоссарию, данный вид тестирования рассматривается там как тестирование портируемости:
configuration testing: See portability testing.
portability testing: The process of testing to determine the portability of a software product.
Уровни проведения тестирования
Для клиент-серверных приложений конфигурационное тестирование можно условно разделить на два уровня (для некоторых типов приложений может быть актуален только один):
- Серверный
- Клиентский
На первом (серверном) уровне, тестируется взаимодействие выпускаемого программного обеспечения с окружением, в которое оно будет установлено:
- Аппаратные средства (тип и количество процессоров, объем памяти, характеристики сети / сетевых адаптеров и т.д.)
- Программные средства (ОС, драйвера и библиотеки, стороннее ПО, влияющее на работу приложения и т.д.)
Основной упор здесь делается на тестирование с целью определения оптимальной конфигурации оборудования, удовлетворяющего требуемым характеристикам качества (эффективность, портативность, удобство сопровождения, надежность).
На следующем (клиентском) уровне, программное обеспечение тестируется с позиции его конечного пользователя и конфигурации его рабочей станции. На этом этапе будут протестированы следующие характеристики: удобство использования, функциональность. Для этого необходимо будет провести ряд тестов с различными конфигурациями рабочих станций:
- Тип, версия и битность операционной системы (подобный вид тестирования называется кросс-платформенное тестирование)
- Тип и версия Web барузера, в случае если тестируется Web приложение (подобный вид тестирования называется кросс-браузерное тестирование)
- Тип и модель видео адаптера (при тестировании игр это очень важно)
- Работа приложения при различных разрешениях экрана
- Версии драйверов, библиотек и т.д. (для JAVA приложений версия JAVA машины очень важна, тоже можно сказать и для .NET приложений касательно версии .NET библиотеки)
и т.д.
Порядок проведения тестирования
Перед началом проведения конфигурационного тестирования рекомендуется:
- создавать матрицу покрытия (матрица покрытия – это таблица, в которую заносят все возможные конфигурации),
- проводить приоритезацию конфигураций (на практике, скорее всего, все желаемые конфигурации проверить не получится),
- шаг за шагом, в соответствии с расставленными приоритетами, проверяют каждую конфигурацию.
Уже на начальном этапе становится очевидно, что чем больше требований к работе приложения при различных конфигурациях рабочих станций, тем больше тестов нам необходимо будет провести. В связи с этим, рекомендуем, по возможности, автоматизировать этот процесс, так как именно при конфигурационном тестировании автоматизация реально помогает сэкономить время и ресурсы. Конечно же автоматизированное тестирование не является панацеей, но в данном случае оно окажется очень эффективным помощником.
Обобщим что мы имеем
- конфигурационным называется тестирование совместимости выпускаемого продукта (программное обеспечение) с различным аппаратным и программным средствами
- основные цели – определение оптимальной конфигурации и проверка совместимости приложения с требуемым окружением (оборудованием, ОС и т.д.)
- автоматизация конфигурационного тестирования позволяет избежать лишних расходов