Що таке хмарне тестування? Підручник з тестування SaaS

Хмарне тестування

Хмарне тестування це тип тестування програмного забезпечення, під час якого програмне забезпечення перевіряється за допомогою сервісів хмарних обчислень. Метою хмарного тестування є перевірка програмного забезпечення на відповідність функціональним і нефункціональним вимогам за допомогою хмарних обчислень, що забезпечує швидшу доступність із масштабованістю та гнучкістю, щоб заощадити час і витрати на тестування програмного забезпечення.

Хмарні обчислення – це інтернет-платформа, яка віддалено надає різноманітні обчислювальні послуги, як-от апаратне забезпечення, програмне забезпечення та інші комп’ютерні послуги.

В основному є три моделі Cloud Computing :

  • SaaS– Програмне забезпечення як послуга
  • PaaS– Платформа як послуга
  • IaaS– Інфраструктура як послуга

Тип тестування в хмарі

Все хмарне тестування поділяється на чотири основні категорії

  • Тестування всієї хмари: Хмара розглядається як єдине ціле і на основі її характеристик проводиться тестування. Постачальники хмарних технологій і SaaS, а також кінцеві користувачі зацікавлені в проведенні такого типу тестування
  • Тестування в хмарі: Перевіряючи кожну з його внутрішніх функцій, проводиться тестування. Лише хмарні постачальники можуть проводити цей тип тестування
  • Тестування в хмарі: Тестування проводиться на різних типах хмароподібних приватних, публічних і гібридних хмар
  • Тестування SaaS у хмарі: Функціональне та нефункціональне тестування проводиться на основі вимог програми

Тестування SaaS

Тестування SaaS це процес тестування програмного забезпечення, під час якого програмне забезпечення, побудоване в моделі «Програмне забезпечення як послуга», перевіряється на функціональні та нефункціональні вимоги. Метою тестування SaaS є забезпечення якості шляхом перевірки безпеки даних, цілісності, продуктивності, сумісності та масштабованості програмного додатку.

Тестування SaaS

Хмарне тестування зосереджується на таких основних компонентах, як

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

Інші типи тестування в хмарі включають

  • продуктивність
  • доступність
  • Дотримання
  • Безпека
  • масштабованість
  • Багатоквартирне оренда
  • Тестування оновлення в реальному часі

Як проводити хмарне тестування

Типи хмарного тестування Завдання виконано
SaaS або хмарно-орієнтоване тестування: Цей тип тестування зазвичай виконується постачальниками хмарних технологій або SaaS. Основною метою є забезпечення якості наданих функцій обслуговування, які пропонуються в хмарі або програмі SaaS. Тестування, яке виконується в цьому середовищі, включає перевірку інтеграції, функціональності, безпеки, блоку, перевірку функцій системи та Регресійне тестування а також оцінка продуктивності та масштабованості.
Онлайн-тестування додатків у хмарі: Розробники онлайн-додатків проводять це тестування, яке перевіряє продуктивність і Функціональне тестування хмарних сервісів. Коли програми підключаються до застарілих систем, перевіряється якість з’єднання між застарілою системою та тестовою програмою в хмарі.
Хмарне тестування додатків у хмарах: Щоб перевірити якість хмарної програми в різних хмарах, виконується цей тип тестування.

Приклад тестових випадків для хмарного тестування

Тестові сценарії Тестовий випадок
Тестування продуктивності
  • Збій через дію одного користувача в хмарі не повинен впливати на роботу інших користувачів
  • Ручне або автоматичне масштабування не повинно викликати збоїв
  • На всіх типах пристроїв продуктивність програми повинна залишатися незмінною
  • Надмірне бронювання на стороні постачальника не повинно перешкоджати продуктивності програми
Тестування безпеки
  • Доступ до даних повинен отримати лише авторизований клієнт
  • Дані повинні бути добре зашифровані
  • Дані повинні бути повністю видалені, якщо вони не використовуються клієнтом
  • Дані мають бути доступні з недостатнім шифруванням
  • Адміністрація з боку постачальників не повинна мати доступ до даних клієнтів
  • Перевірте різні параметри безпеки, як-от брандмауер, VPN, антивірус тощо.
Функціональне тестування
  • Правильний вхід має дати очікувані результати
  • Сервіс повинен правильно інтегруватися з іншими програмами
  • Після успішного входу в хмару система повинна відображати тип облікового запису клієнта
  • Коли клієнт вирішив переключитися на інші служби, запущена служба повинна закритися автоматично
Тестування взаємодії та сумісності
  • Перевірте вимоги до сумісності тестованої програми
  • Перевірте сумісність браузера в хмарному середовищі
  • Визначте Дефект які можуть виникнути під час підключення до хмари
  • Будь-які неповні дані в хмарі не можна передавати
  • Переконайтеся, що програма працює на іншій хмарній платформі
  • Протестуйте додаток у внутрішньому середовищі, а потім розгорніть його в хмарному середовищі
Мережеве тестування
  • Тестовий протокол, відповідальний за підключення до хмари
  • Перевірте цілісність даних під час передачі даних
  • Перевірте підключення до мережі
  • Перевірте, чи пакети не відкидаються брандмауером з обох сторін
Тестування навантаження та стресу
  • Перевірте наявність служб, коли кілька користувачів отримують доступ до хмарних служб
  • Визначте Дефект, відповідальний за збій апаратного забезпечення чи середовища
  • Перевірте, чи не виходить система з ладу при збільшенні питомого навантаження
  • Перевірте, як система змінюється з часом під певним навантаженням

Проблеми в хмарному тестуванні

Завдання №1: Безпека та конфіденційність даних

Оскільки хмарні додатки є багатокористувачськими за своєю природою, ризик крадіжки даних залишається завжди. Відповідно до стратегії хмарного тестування користувачам постачальники повинні гарантувати безпеку їхніх даних.

Завдання №2: Короткий період повідомлення

Хмарний провайдер надає коротке повідомлення (1-2 тижні) існуючим клієнтам про оновлення. Це велика проблема під час ручної перевірки змін у вашому додатку SaaS.

Завдання №3: Перевірка сумісності інтерфейсу

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

Завдання №4: Міграція даних

Міграція даних від одного хмарного постачальника до іншого є величезною проблемою, оскільки обидва постачальники можуть мати різні схеми баз даних, і це вимагає багато зусиль, щоб зрозуміти поля даних, зв’язки та те, як вони відображаються в програмі SaaS

Завдання №5: Інтеграція корпоративних додатків

Інтеграція корпоративних програм вимагає перевірки інтеграції даних як вихідних, так і вхідних даних, від клієнтської мережі до програми SaaS і навпаки. Конфіденційність даних вимагає ретельної перевірки, щоб переконатися, що абоненти SaaS про безпеку та конфіденційність даних.

Завдання №6: Імітація тестування оновлення в реальному часі

Найбільше завдання хмарного тестування полягає в тому, щоб переконатися, що поточні оновлення не впливають на наявних підключених користувачів SaaS

Хмарне тестування проти традиційного тестування

Параметри тестування Традиційне тестування Хмарне тестування
Основна мета тестування
  • Перевірте взаємодію, сумісність, зручність використання.
  • Перевіряє якість функціонування та продуктивність системи на основі заданої специфікації
  • Перевіряє якість продуктивності та функцій SaaS, Clouds і програм, використовуючи хмарне середовище
Витрати на тестування
  • Вартість залишається високою через вимоги до апаратного та програмного забезпечення
  • Доведеться платити лише за експлуатаційні витрати. Платіть лише те, що використовуєте.
Тестове моделювання
  • Змодельовані дані онлайн-трафіку
  • Імітація онлайн-доступу користувача
  • Симуляція даних онлайн-трафіку
  • Симуляція доступу користувачів онлайн
Функціональне тестування
  • Перевірка функцій (блока та системи), а також її ознак
  • Тестування наскрізної функції програми в SaaS або Cloud
Тестове середовище
  • Попередньо встановлене та налаштоване тестове середовище в тестовій лабораторії
  • Відкрите публічне тестове середовище з різноманітними обчислювальними ресурсами
Інтеграційне тестування
  • Тестування на основі компонентів, архітектури та функцій
  • Інтеграційне тестування на основі SaaS
Тестування безпеки
  • Тестування функцій безпеки на основі процесу, сервера та конфіденційності
  • Тестування функцій безпеки на основі хмари, SaaS і тести в реальному часі в хмарі постачальників
Тестування продуктивності та масштабованості
  • Виконано фіксоване тестове середовище
  • Застосовуйте дані як у реальному часі, так і у віртуальному онлайн-тесті