Что такое тестирование конфигурации? Примеры тестовых случаев

⚡ Умное резюме

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

  • 🧩 Объем: OperaСистемы управления, браузеры, версии баз данных, драйверы, память и периферийные устройства — все это считается конфигурациями.
  • 📐 Два типа: Тестирование конфигурации программного обеспечения включает тестирование платформ и обновлений; тестирование конфигурации оборудования включает тестирование подключенных устройств.
  • 🇧🇷 Сначала Матрица: Составьте матрицу комбинаций, а затем расставьте приоритеты, поскольку исчерпывающее покрытие обходится слишком дорого.
  • 🖥️ Виртуальные машины: Снимки заменяют многократные циклы установки и удаления на физических тестовых машинах.
  • 🏦 Реализованный пример: В качестве примеров для тестирования аппаратного обеспечения можно привести банковское приложение и модели счетчиков банкнот.
  • ???? Преднамеренный провал: Преднамеренное удаление необходимого условия выявляет дефекты, которые скрываются в полностью оборудованной лаборатории.

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

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

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

Конфигурация — это любая комбинация, которую должен поддерживать продукт: версия операционной системы, браузер, версия базы данных, драйвер, объем памяти или подключенное периферийное устройство. Стоит различать это от тестирование совместимостиТестирование конфигурации задает более узкий вопрос: будет ли та же самая сборка корректно работать после изменения поддерживаемой ею конфигурации?

Пример тестирования конфигурации

В качестве примера рассмотрим настольное приложение.

Настольные приложения обычно строятся по двух- или трехзвенной схеме. Рассмотрим трехзвенное настольное приложение, разработанное в ASP.NET, состоящий из клиента, сервера бизнес-логики и сервера базы данных, причем каждый компонент поддерживает платформы, перечисленные ниже.

  • Клиентская платформа – Windows XP, Windows 7, Windows 8, и так далее.
  • Серверная платформа – Windows Сервер 2008, Windows Сервер 2008 R2, Windows Сервер 2012 R2
  • База данных - SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 и так далее.

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

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

Матрица тестирования конфигураций комбинаций клиента, сервера и базы данных

Предварительные условия для тестирования конфигурации

Перед началом тестирования конфигурации любого проекта необходимо выполнить три предварительных условия.

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

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

Целью тестирования конфигурации является достижение следующих результатов.

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

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

Стратегия зависит от того, какой из двух типов тестирования конфигурации входит в область применения.

  • Тестирование конфигурации программного обеспечения
  • Тестирование конфигурации оборудования

Тестирование конфигурации программного обеспечения

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

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

Вместо установки и удаления на нескольких физических машинах, приложение устанавливается на виртуальную машину, и тестирование продолжается оттуда. Запуск нескольких виртуальных машин параллельно, каждая из которых восстанавливается из снимка, значительно упрощает работу.

Тестирование конфигурации программного обеспечения обычно начинается, когда

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

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

Это критически важно для анализа и выбора наиболее эффективных ключевых слов для улучшения рейтинга вашего сайта.

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

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

Банковское приложение не работает на клиентском компьютере из-за отсутствия необходимых предварительных условий.

Тестирование конфигурации оборудования

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

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

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

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

Примеры тестовых случаев

Рассмотрим банковский сценарий, проверенный на совместимость оборудования. Банковское приложение, подключенное к счетной машине, должно работать с несколькими моделями, такими как Rolex, Strob, Maxsell и StoK.

Образец контрольные примеры Для счетчика банкнот необходимо включить следующее.

  • Проверьте связь между приложением и моделью Rolex, если необходимые компоненты НЕ установлены.
  • Проверьте связь между приложением и моделью Rolex после установки необходимых компонентов.
  • Убедитесь, что система правильно подсчитывает купюры.
  • Проверьте, как система сообщает об ошибке подсчета.
  • Проверьте обращение с поддельными банкнотами.
  • Проверьте время отклика.
  • Убедитесь, что фальшивые купюры обнаружены.

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

Часто задаваемые вопросы (FAQ)

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

Столько, сколько оправдывает риск. Аналитика использования определяет порядок: сначала охватываются комбинации платформ, браузеров и устройств, которые использует большинство пользователей, а затем — минимально поддерживаемые характеристики.

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

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

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

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

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

Да. Он формирует параметризованную тестовую матрицу, скрипты для подготовки среды и определения заданий CI, которые запускают один набор тестов на множестве конфигураций. Сама матрица по-прежнему должна быть взята из списка поддерживаемых платформ.

Подведем итог этой публикации следующим образом: