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

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

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

Огляд[ред. | ред. код]

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

Потреба хмарного тестування[ред. | ред. код]

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

Types of testings supported

Види тестування[ред. | ред. код]

Стрес[ред. | ред. код]

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

Навантаження[ред. | ред. код]

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

Продуктивність[ред. | ред. код]

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

Функціональність[ред. | ред. код]

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

Сумісність[ред. | ред. код]

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

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

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

Латентність[ред. | ред. код]

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

Кроки[ред. | ред. код]

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

Steps for Cloud Testing

Ключі успішного тестування[ред. | ред. код]

  1. Розуміння гнучкості моделей / динамічний метод конфігурації платформ провайдера
  2. Перебування в курсі мінливих послуг моніторингу провайдера і угод про рівень обслуговування (SLA)
  3. Потенційне залучення постачальника послуг як поточної роботи партнера, якщо виробляти комерційне Off-The-shelf (COTS) програмне забезпечення.

Додатки[ред. | ред. код]

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

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

Інструменти[ред. | ред. код]

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

  1. CloudTest
  2. Soatest
  3. HP LoadRunner

Переваги[ред. | ред. код]

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

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

Результат[ред. | ред. код]

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

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

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

Примітки[ред. | ред. код]

  1. Tilley, S.; Parveen, T. (12 вересня 2010). Migrating software testing to the cloud. Software Maintenance (ICSM), 2010 IEEE International Conference.
  2. Girmonsky, Alon. Cloud-testing compared to traditional testing with-in the corporate LAN. Архів оригіналу за 25 квітня 2012. Процитовано 12 жовтня 2011.
  3. Ariola, Wayne. The Next Generation of Test Environment Management. Архів оригіналу за 20 липня 2017. Процитовано 12 жовтня 2011.
  4. Dubie, Denise. Poor application performance translates to lost revenue, research shows. Процитовано 12 жовтня 2011.
  5. http://www.soasta.com/2009/01/26/using-the-cloud-to-stress-test-your-web-applications/. Архів оригіналу за 19 грудня 2011. Процитовано 12 жовтня 2011.
  6. Performance and Load Testing Services using Cloud Computing. Архів оригіналу за 2 листопада 2011. Процитовано 12 жовтня 2011.
  7. Ganon, Z.; Zilbershtein, I.E. (12 червня 2009). Cloud-based Performance Testing of Network Management Systems. Computer Aided Modeling and Design of Communication Links and Networks. с. 1—6. Процитовано 12 жовтня 2011.
  8. Banzai, Takayuki; Koizumi, Hitoshi; Kanbayashi, Ryo; Imada, Takayuki; Hanawa, Toshihiro; Sato, Mitsuhisa (17 травня 2010). D-Cloud: Design of a Software Testing Environment for Reliable Distributed Systems Using Cloud Computing Technology. Cluster, Cloud and Grid Computing (CCGrid), 2010 10th IEEE/ACM International Conference. с. 631—636.
  9. Top 10 Cloud Computing Load Test and Performance Monitoring Companies.[недоступне посилання з липня 2019]
  10. Test infrastructure in the Cloud business case; a cost reduction, or not?. Процитовано 12 жовтня 2011.
  11. Five Benefits of Software Testing On Cloud. Архів оригіналу за 18 вересня 2011. Процитовано 12 жовтня 2011. {{cite web}}: |first= з пропущеним |last= (довідка)
  12. T., Parveen; Tilley, S. (6–10 April 2010). When to Migrate Software Testing to the Cloud?. Software Testing, Verification, and Validation Workshops (ICSTW). с. 424—427. Процитовано 12 жовтня 2011.
  13. S., Tilley; Parveen, T. (12–18 Sept 2010). Migrating software testing to the cloud. Software Maintenance (ICSM). с. 1. Процитовано 19 жовтня 2011.
  14. Roodenrijs, Ewald (1 листопада 2010). Testing on the Cloud (PDF). Архів оригіналу (PDF) за 21 жовтня 2012. Процитовано 23 листопада 2015.
  15. MacVittie, Lori. Cloud testing: The next generation. Архів оригіналу за 3 вересня 2012. Процитовано 12 жовтня 2011.

Посилання[ред. | ред. код]