База знань

Конфігураційне тестування або тестування портирування ( Configuration Testing)

Конфігураційне тестування ( Configuration Testing) – вид тестування, спрямований на перевірку роботи програмного забезпечення при різних конфігураціях системи (заявлених платформах, підтримуваних драйверах, при різних конфігураціях комп’ютерів і т.д.). Це ще один з видів традиційного тестування продуктивності. У цьому випадку замість того, щоб тестувати продуктивність системи з точки зору як подається навантаження, тестується ефект впливу на продуктивність змін в конфігурації. Хорошим прикладом такого тестування можуть бути експерименти з різними методами балансування навантаження. Конфігураційне тестування також може бути поєднане з навантажувальним, стрес або тестуванням стабільності.
configuration_test

Залежно від типу проекту конфігураційне тестування може мати різні цілі:

  1. Визначити оптимальну конфігурацію обладнання, що забезпечує необхідні характеристики продуктивності та час реакції тестованої системи (проект по профілізації роботи системи).
  2. Перевірити об’єкт тестування на сумісність з оголошеним в специфікації обладнанням, операційними системами та програмними продуктами третіх фірм (проект з міграції системи з однієї платформи на іншу).

Рівні проведення тестування

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

На першому (серверному) рівні, тестується взаємодія розробленого програмного забезпечення з середовищем, в яке воно буде встановлено:

  • апаратні засоби (тип і кількість процесорів, обсяг пам’яті, характеристики мережі / мережевих адаптерів і т.д.);
  • програмні засоби (ОЗ, драйвери і бібліотеки, стороннє ПЗ, впливає на роботу програми і т.д.).

Основний наголос тут робиться на тестування з метою визначення оптимальної конфігурації обладнання, що відповідає необхідним характеристикам якості (ефективність, портативність, зручність супроводу, надійність).

На наступному (клієнтському) рівні, програмне забезпечення тестується з позиції його кінцевого користувача і конфігурації його робочої станції. На цьому етапі будуть протестовані наступні характеристики: зручність використання, функціональність. Для цього необхідно буде провести ряд тестів з різними конфігураціями робочих станцій:

  • тип, версія і бітність операційної системи (подібний вид тестування називається крос-платформенне тестування);
  • тип і версія Web браузера, в разі якщо тестується Web додаток (подібний вид тестування називається крос-браузерне тестування);
  • тип і модель відео адаптера (при тестуванні ігор це дуже важливо) робота програми при різних роздільних здатностях екрану;
  • версії драйверів, бібліотек і т.д. (для JAVA додатків версія JAVA машини дуже важлива, теж можна сказати і для .NET додатків щодо версії .NET бібліотеки)

Перед початком проведення конфігураційного тестування рекомендується:

  • створювати матрицю покриття (таблиця, в яку заносять усі можливі конфігурації);
  • проводити пріоритезацію конфігурацій (на практиці, швидше за все, всі бажані конфігурації перевірити не вийде);
  • крок за кроком, відповідно до розставлених пріоритетів, перевіряють кожну конфігурацію.

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

 

Набагато більше інформації на курсі базовий модуль тестування