Тестування хмарних рішень (Cloud testing)
Last updated
Last updated
Хмарні обчислення - це надання на вимогу обчислювальних послуг, таких як сервери, сховища даних, бази даних, мережі, програмне забезпечення тощо, як правило, через Інтернет та з оплатою в міру використання.
Хмара побудована одному чи кількох серверах, об'єднаних між собою системами віртуалізації. Також технології віртуалізації дозволяють розділити апаратні потужності на частини, що відповідають поточним потребам користувачів, які звертаються до апаратного забезпечення як послуги. В результаті користувач переходить від придбання, керування та амортизації апаратних ресурсів до покупки серверного часу, дискового простору, мережної пропускної спроможності, необхідної для виконання своїх завдань.
У хмарних обчисленнях розрізняють кілька видів сервісів, для зручності в їх позначенні використовують абревіатуру "as a service", тобто "як сервіс", або "у вигляді послуги":
SaaS (Software as a service; програмне забезпечення як послуга) - модель надання програмного забезпечення, при якій постачальник розробляє веб-додаток та самостійно керує ним, надаючи користувачам доступ до нього через інтернет;
PaaS (Platform as a service; платформа як послуга) – це надання інтегрованої платформи для розробки, тестування, розгортання та підтримки програм як послуги. У хмарі функціонує деякий набір програм, основних сервісів та бібліотек, на основі яких пропонується розробляти свої програми. Крім цього, під PaaS розуміють також і окремі частини складних систем, наприклад, системи бази даних або комунікацій;
IaaS (Infrastructure as a service; інфраструктура як послуга) – це надання апаратних ресурсів, як правило, об'єднаних на основі віртуалізації як послуги. IaaS складається з трьох основних компонентів - апаратне забезпечення (сервери, системи зберігання даних, клієнтські системи, мережеве обладнання), операційні системи та системне ПЗ (засоби віртуалізації, автоматизації, основні засоби управління ресурсами), та сполучне ПЗ для управління апаратним та програмним забезпеченням.
Тестування SaaS
Це процес тестування програмного забезпечення, в якому програмний додаток, створений у рамках моделі «Програмне забезпечення як послуга», тестується на відповідність як функціональним, так і нефункціональним вимогам. Метою тестування SaaS є забезпечення якості шляхом тестування безпеки даних, цілісності, продуктивності, сумісності та масштабованості програмної програми.
Хмарне тестування фокусується на основних компонентах, таких як:
Додаток: охоплює тестування функцій, наскрізні бізнес-процеси, безпеку даних, сумісність із браузерами тощо;
Мережа: включає тестування різних пропускних здібностей мережі, протоколів і успішної передачі даних по мережах;
Інфраструктура: охоплює тестування аварійного відновлення, резервне копіювання, безпечне з'єднання та політики зберігання. Інфраструктура має бути перевірена на відповідність нормативним вимогам.
Інші типи тестування у хмарі включають:
Performance;
Availability;
Compliance;
Security;
Scalability;
Multi-tenancy;
Live upgrade testing.
Приклади тест-кейсів :
Performance Testing :
Збій через одну дію користувача у хмарі не повинен впливати на продуктивність інших користувачів;
Ручне або автоматичне масштабування не повинно спричиняти збоїв;
На всіх типах пристроїв продуктивність програми має залишатися однаковою;
Надмірне резервування на стороні постачальника не повинно знижувати продуктивність програми.
Security Testing :
Лише авторизований клієнт може отримати доступ до даних;
Дані мають бути добре зашифровані;
Дані мають бути повністю видалені, якщо вони не використовуються клієнтом;
Адміністрація з боку постачальників не повинна мати доступу до даних клієнтів;
Перевірте різні параметри безпеки, такі як брандмауер, VPN, антивірус тощо.
Functional testing :
Допустиме введення має давати очікувані результати;
Сервіс має правильно інтегруватися з іншими програмами;
Система повинна відображати тип облікового запису клієнта за умови успішного входу в хмару;
Коли клієнт вирішив перейти на інші служби, працююча служба повинна автоматично закритися.
Interoperability & Compatibility Testing :
Перевірка вимог сумісності системи, що тестується;
Перевірте сумісність браузера у середовищі хмар;
Визначте Дефект, який може виникнути при підключенні до хмари;
Будь-які неповні дані у хмарі не повинні переноситися;
Переконайтеся, що програма працює на іншій хмарній платформі;
Протестуйте програму у внутрішньому середовищі, а потім розгорніть її у хмарному середовищі.
Network Testing :
Тест протоколу, який відповідає за підключення до хмари;
Цілісність даних під час передачі;
Правильність підключення до мережі;
Перевірте, чи не відкидаються пакети брандмауером з обох боків.
Load and Stress Testing :
Перевірка служб доступу кількох користувачів до хмарних служб;
Визначте дефект, відповідальний за збій устаткування чи середовища;
Перевірте, чи не виходить система з ладу зі збільшенням питомої навантаження;
Перевірити, як система змінюється згодом під певним навантаженням.
Джерела:
Дод. матеріал: