Тестування конфігурації
Тестування конфігурації - це техніка тестування програмного забезпечення, при якій програмне забезпечення тестується за допомогою декількох комбінацій програмного та апаратного забезпечення, щоб оцінити функціональні вимоги та з'ясувати оптимальні конфігурації, за якими програмний додаток працює без будь-яких дефектів та недоліків.
Як обговорювалося вище, тестування конфігурації - це тестування програмного забезпечення, де тестована програма повинна бути перевірена за допомогою декількох комбінацій програмного та апаратного забезпечення.
У цьому підручнику ви дізнаєтесь-
- Що таке тестування конфігурації?
- Приклад тестування конфігурації
- Передумови тестування конфігурації
- Цілі тестування конфігурації
- Як зробити тестування конфігурації
- Зразки тестових випадків
Приклад тестування конфігурації
Давайте розберемося в цьому на прикладі настільної програми:
Як правило, настільні додатки будуть дворівневими або трирівневими, тут ми розглянемо трирівневі настільні додатки, які розроблені за допомогою Asp.Net і складаються з клієнта, сервера бізнес-логіки та сервера баз даних, де кожен компонент підтримує згадані платформи.
- Клієнтська платформа - Windows XP, Windows 7 OS, Windows 8 OS тощо
- Серверна платформа - Windows Server 2008 R2, Windows Server 2008 R2, Windows Server 2012R2
- База даних -SQL Sever 2008, SQL Server 2008R2, SQL Server 2012 тощо.
Тестер повинен протестувати комбінацію клієнта, сервера та бази даних із комбінаціями вищезазначених платформ та версій баз даних, щоб переконатися, що програма працює належним чином і не працює.
Тестування конфігурації не обмежується лише програмним забезпеченням, але також застосовується до апаратного забезпечення, тому воно також називається тестуванням конфігураційного обладнання, де ми тестуємо різні апаратні пристрої, такі як принтери, сканери, веб-камери тощо, які підтримують тестоване додаток.
Передумови тестування конфігурації
Для будь-якого проекту перед початком тесту конфігурації ми повинні дотримуватися деяких попередніх умов
- Створення матриці, що складається з різних комбінацій програмних та апаратних конфігурацій
- Пріоритетність конфігурацій, оскільки важко перевірити всі конфігурації
- Тестування кожної конфігурації на основі встановлення пріоритетів.
Цілі тестування конфігурації
Завданнями тестування конфігурації є
- Перевірка програми, щоб визначити, чи відповідає вона вимогам до конфігурації
- Викликання помилок вручну, які допомагають виявити дефекти, які не вдалося ефективно виявити під час тестування (Наприклад: зміна регіональних налаштувань системи, таких як часовий пояс, мова, формати часу і т.д.)
- Визначте оптимальну конфігурацію тестованої програми.
- Аналіз продуктивності системи шляхом додавання або модифікації апаратних ресурсів, таких як балансири навантаження, збільшення або зменшення обсягу пам'яті, підключення різних моделей принтерів тощо.
- Аналіз ефективності системи на основі пріоритетності, наскільки ефективно проводились тести з наявними ресурсами для досягнення оптимальної конфігурації системи.
- Перевірка системи в географічно розподіленому середовищі для перевірки ефективності роботи системи.
Для Приклад: Сервер в іншому місці, а клієнти в іншому місці, система повинна працювати нормально, незалежно від системних налаштувань.
- Перевірка того, наскільки легко помилки відтворюються незалежно від змін конфігурації.
- Забезпечення простежуваності елементів програми шляхом належного документування та підтримання версій, які легко ідентифікувати.
- Перевірка того, наскільки керованими є елементи програми протягом усього життєвого циклу розробки програмного забезпечення.
Як зробити тестування конфігурації
У цьому розділі ми обговоримо стратегію, якої потрібно дотримуватися для типів тестування конфігурації, і існує два типи тестування конфігурації, як зазначено нижче
- Тестування конфігурації програмного забезпечення
- Тестування конфігурації обладнання
Тестування конфігурації програмного забезпечення
Тестування конфігурації програмного забезпечення - це тестування тестованої програми з декількома ОС, різними оновленнями програмного забезпечення тощо. Тестування конфігурації програмного забезпечення вимагає багато часу, оскільки для встановлення та видалення різного програмного забезпечення, що використовується для тестування, потрібен час.
Одним із підходів, який дотримується для перевірки конфігурації програмного забезпечення, є тестування на віртуальних машинах. Віртуальна машина - це середовище, яке встановлюється на програмне забезпечення та діє як фізичне обладнання, і користувачі матимуть те саме відчуття, що і фізична машина. Virtual Machines імітує конфігурації в режимі реального часу.
Замість того, щоб встановлювати та видаляти програмне забезпечення на декількох фізичних машинах, що займає багато часу, завжди краще встановити програму / програмне забезпечення у віртуальну машину та продовжити тестування. Цей процес можна виконати, маючи кілька віртуальних машин, що спрощує роботу тестера
Тестування конфігурації програмного забезпечення зазвичай може розпочатися тоді, коли
- Вказано вимоги до налаштовуваності, що перевіряються
- Тестове середовище готове
- Команда тестування добре навчена тестуванню конфігурації
- Випущена збірка - це модуль і пройдений тест інтеграції
Типовою стратегією тестування, якої дотримуються для тестування тесту конфігурації програмного забезпечення, є запуск набору функціональних тестів у декількох конфігураціях програмного забезпечення, щоб перевірити, чи працює тестована програма за бажанням, без будь-яких недоліків та помилок.
Інша стратегія полягає в тому, щоб забезпечити нормальну роботу системи, вручну не виконуючи тестові випадки та перевіряючи ефективність.
Приклад:
Припустімо, існує банківська програма, яку необхідно перевірити на її сумісність у багатьох браузерах, коли програма розміщується в середовищі, де є всі передумови, щоб вона могла пройти тестування модуля та інтеграції в тестовій лабораторії.
Але якщо та сама програма встановлена в клієнтському місці, і на машинах відсутні деякі оновлення програмного забезпечення або версії, від яких програма залежить прямо чи опосередковано, існує ймовірність того, що програма може вийти з ладу. Щоб уникнути подібного роду ситуацій, завжди рекомендується провалити тести вручну, видаливши деякі вимоги до налаштування, а потім продовжити тестування.
Тестування конфігурації обладнання
Тестування конфігурації апаратного забезпечення, як правило, проводиться в лабораторіях, де ми знаходимо фізичні машини з підключеним до них різним обладнанням.
Щоразу, коли випускається збірка, програмне забезпечення має бути встановлене на всіх фізичних машинах, де прикріплене обладнання, а на кожній машині повинен запускатися набір тестів, щоб забезпечити нормальну роботу програми.
Для виконання вищезазначеного завдання потрібно значну кількість зусиль для встановлення програмного забезпечення на кожну машину, підключення апаратного забезпечення та запуску вручну, або навіть для автоматизації вищезазначеного процесу та запуску тестового набору.
Крім того, виконуючи перевірку конфігурації апаратного забезпечення, ми вказуємо тип апаратного забезпечення, яке буде перевірятися, і існує багато комп’ютерного обладнання та периферійних пристроїв, які унеможливлюють запуск усіх. Отож тестером стає обов'язок проаналізувати, яке обладнання в основному використовується користувачами, і спробувати провести тестування на основі встановлення пріоритетів.
Зразки тестових випадків
Розгляньте банківський сценарій, щоб перевірити сумісність обладнання. Банківська програма, підключена до машини для підрахунку нот, повинна бути протестована на різних моделях, таких як Rolex, Strob, Maxsell, StoK тощо.
Давайте візьмемо кілька зразків тестових кейсів для перевірки машини для підрахунку нот
- Перевірка зв’язку програми з моделлю Rolex, коли передумови НЕ встановлені
- Перевірка зв’язку програми з моделлю Rolex, коли встановлені передумови
- Перевірте, чи система правильно підраховує ноти
- Перевірте, чи система неправильно підраховує ноти
- Перевірка фальшивих нотаток
- Перевірка часу відгуку
- Перевірка виявлення фальшивих нотаток тощо
Наведені вище тестові кейси призначені для однієї моделі, і те саме потрібно протестувати з усіма моделями, доступними на ринку, встановивши їх у тестовій лабораторії, що важко. Отже, доцільно передавати тестування конфігурації апаратного забезпечення організаціям, які їх спеціалізують.
Короткий зміст:
У програмній інженерії тестуванню конфігурації слід приділяти однакову важливість, як і іншим типам тестування. Без проведення тестування конфігурації важко проаналізувати оптимальну продуктивність системи, а також програмне забезпечення може зіткнутися з проблемами сумісності, на яких воно має працювати.