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

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

Огляд

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

Необхідність хмарного тестування

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

Види тестування

Стрес

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

Навантаження

Навантажувальне тестування — це просто форма тестування продуктивності. Воно зазвичай проводиться для того, щоб оцінити поведінку програми(додатка) із заданим очікуваним навантаженням. Цим навантаженням може бути, наприклад, кількість користувачів, які будуть одночасно працювати з програмою. Такий вид тестування дозволяє отримати час відгуку всіх найважливіших бізнес-транзакцій.

Продуктивність

Знаходження порогів, вузькостей та обмежень є частиною тестування продуктивності. Для цього, необхідно тестування продуктивності при певному навантаженні[7]. При використанні хмарного тестування, легко створити таке середовище і змінювати природу трафіку при потребі. Це суттєво знижує вартість і час, імітуючи тисячі географічно цільових користувачів.


Функціональність

Функціональне тестування обох інтернет і не інтернет-додатків може бути виконана з використанням хмарного тестування. Процес перевірки всупереч специфікацій або системних вимог здійснюється у хмарі замість тестування програмного забезпечення.

Сумісність

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

Продуктивність браузерів

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

Латентність

Хмарне тестування використовується для вимірювання затримки між дією і відповідною відповіддю будь-якої програми після його розгортання у хмарі.

Кроки

Компанії імітують реальних веб-користувачів за допомогою хмарних послуг тестування, які надаються постачальниками хмарних послуг, таких як Advaltis, Compuware, HP, Keynote Systems, Load Impact, Neotys, RADview і SOASTA. Після того, як користувацькі сценарії розробляються і призначаються, постачальники послуг важелі хмарних серверів (надані постачальниками хмарних платформ, таких як Amazon.com, Google, Microsoft, Rackspace, і т. д.), щоб генерувати веб-трафік, що виходить з різних країн світу. Після завершення тестування, постачальники хмарних послуг надають результати та аналітику назад до корпоративних ІТ-фахівців в реальному часі для повного аналізу, як їх програми та інтернет буде виконуватись під час пікових обсягів.


Додатки

Хмарне тестування часто розглядається як тільки тестування продуктивності або навантаження, однак, як уже говорилося раніше воно охоплює багато інших видів тестування. Хмарні обчислення себе часто називають союз програмного забезпечення як послуга (SaaS) і обчислювальних утиліт. У зв'язку з виконання тестів, програмне забезпечення можу бути як служба яка буде генератором угоди і програмного забезпечення інфраструктури хмарного провайдера, або може бути просто останньою. Розподілені системи і паралельні системи в основному використовують цей підхід для тестування, через притаманний їм складний характер. D-хмара є прикладом такого середовища тестування програмного забезпечення.

Для тестування не інтернет-додатків, віртуальні екземпляри середовища тестування можна швидко налаштувати, щоб зробити автоматичне тестування програми. Постачальники хмарних послуг тестування надають необхідне середовище тестування відповідно до вимог застосування тестів. Фактичне тестування додатків виконується командою тестувальників в організації, яка володіє додатками або третіх тестувальників.


Інструменти

Провідні постачальники послуг хмарних обчислень включають, Amazon, Advaltis, 3-Terra, Skytap, HP і SOASTA. Деякі з інструментів для тестування хмарних включають в себе:

  1. CloudTest

  2. Soatest

  3. HP LoadRunner


Переваги

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

Нижче наведені деякі з ключових переваг:

  • Зниження капітальних витрат

  • Висока масштабованість


Результат

Первісна вартість міграції впровадження хмарного тестування дуже висока, як це пов'язано зі зміною деяких з тестів, щоб задовольнити хмарні середовища. Це робить рішення про міграцію вирішальний. Таким чином, хмарне тестування не обов'язково краще рішення всіх проблем тестування

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

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


Джерела: