getting started with cloud testing
У цій статті ми збираємось навчитися виконувати “хмарне тестування”. Для того, щоб це зрозуміти, нам спочатку потрібно знати концепцію хмарних обчислень. У цій статті розповідається про хмарні обчислення, хмарне тестування та основні проблеми, пов’язані з тестуванням у хмарі.
Вступ до хмарних обчислень
Кілька років тому галузь стала свідком нового висловлювання та технології, яка називається 'віртуалізація'. З появою віртуалізації, ідеологія розподілу обчислювальних ресурсів між кількома операційними системами з метою збільшення масштабованості, зменшення капітальних витрат та спрощення адміністрування ІТ-інфраструктури, вона стала основою декількох підприємств.
За останні кілька років ІТ стали свідками еволюції віртуалізації у формі хмарних обчислень. Будь-який новачок у хмарі повинен уявити хмарні обчислення як модель, яка розглядає все як послугу.
Очевидно, що хмарні обчислення можна визначити як комплексне рішення, яке забезпечує ІТ як послугу. Як і віртуалізація, її девізом є розподіл ресурсів, завдяки якому розподіл та доступність здійснюються за запитом через Інтернет.
(зображення джерело )
Приклад із реального життя для пояснення хмарних обчислень:
Ми можемо легко зрозуміти теорію Росії Хмарні обчислення взявши простий приклад їжі в ресторані. Наприклад, розгляньте можливість їсти вдома, а не їсти в ресторані. Хоча метою є виключно споживання їжі, підхід чи модель, що використовуються в обох випадках, дуже різняться.
Вдома вам потрібно переконатися, чи є у вас всі інгредієнти, необхідні для їжі, вам потрібно переконатися, що необхідна підготовка для приготування конкретної страви виконана. Ви готуєте їжу, а відповідальність за те, щоб навколишнє середовище було охайним, після приготування страви, належить виключно вам.
Тепер, з іншого боку, поїдання в ресторані можна охарактеризувати як кейтеринг, що є послугою. Як клієнт ви заходите лише до ресторану, замовляєте страву на ваш вибір і оплачуєте послуги.
Бонусом володіння інгредієнтами, підготовки до страви, приготування страви, її подачі, подачі страви вам, прибирання та прибирання столу після закінчення, упаковки надлишків залишків їжі, все лягає на адміністрацію ресторану.
Цей приклад можна розглядати як подібний до ідеологій та принципів хмарних обчислень - „Доступність за запитом”, „Як послуга” та „Оплата використання”.
Що ви дізнаєтесь:
- Моделі хмарної доставки
Моделі хмарної доставки
(зображення джерело )
В основному хмара має три типи моделей доставки або компонентів, що надають можливості «як послуги»:
- Інфраструктура як послуга (IaaS) : Це найбільш фундаментальний шар, який утворює будівельний матеріал хмари. В основному він складається з фізичних ресурсів, таких як сховище, мережеві пристрої, обчислювальні сервери тощо. Всі ці обчислювальні ресурси доступні за запитом, коли користувач платить за це відповідно до свого використання.
- Платформа як послуга (PaaS) : Центральний шар у хмарі - це платформа. Тут немає контролю над базовою інфраструктурою, але ви можете отримати доступ до розгорнутих програм. Отже, це забезпечує все середовище виконання за запитом, яке може бути середовищем розробки або тестування. Отже, у цій моделі найчастіше у вас буде віртуальна машина, яка містить повне середовище, таке як ОС, необхідне проміжне програмне забезпечення тощо, коли воно вам потрібно.
- Програмне забезпечення як послуга (SaaS) : Найвищим шаром тут є прикладний рівень, який загалом буде видимим для будь-якого користувача. Тут додатки / продукти доступні для користувачів на замовлення через Інтернет. Отже, замість того, щоб отримувати ліцензію для конкретного користувача, це виявляється найбільш економічно ефективним способом переконатися, що ліцензія постійно використовується. Прикладами цього є Gmail, Google Docs, Photoshop тощо.
Типи хмар
Існує 3 типи хмарних утворень, а саме державна, приватна та гібридна хмари:
- Громадські хмари це ті, де послуги доступні кожному, де ресурси розподіляються та надаються динамічно відповідно до запиту.
- Приватні хмари як правило, керуються правилами брандмауера певної організації і доступні лише для користувачів у компанії.
- Гібридні хмари є сумішшю як приватних, так і державних хмар. Організації можуть вирішити, які послуги вони хочуть надавати кожному, і які послуги вони хочуть надавати лише користувачам в організації.
Хмарне тестування - необхідність у цьому
Хмарне тестування стосується тестування таких ресурсів, як апаратне забезпечення, програмне забезпечення тощо, які доступні за запитом . Навіть тестування тут можна розглядати 'як послугу'. Для хмарних пропозицій важливо переконатись, що послуга (продукт) відповідає не тільки своїм функціональним вимогам, але й нефункціональним вимогам. Завдяки ряду застосувань у хмарі зараз стає важливим розробити стратегію хмарного тестування.
Переваги хмарного тестування
Потреба в хмарному тестуванні легко помітна з вигодами, які ми від цього отримуємо, яких занадто багато. Нижче ми спробували обговорити найбільш очевидні переваги, які пояснюють, чому Хмара - це потреба години:
що таке тестування чорного ящика та тестування білого ящика на прикладі
- Динамічна доступність середовище тестування : Звичайним підходом до тестування в будь-якій організації є інвестування в апаратну / програмну інфраструктуру, необхідну для тестування. Майже багато хто з вас погодяться з тим, що середовище, яке надається випробувальним групам, дуже рідко відповідає середовищу споживача через швидко мінливі вимоги, внаслідок чого компаніям дуже складно продовжувати це робити. Хмара є єдиною відповіддю на цю проблему, завдяки якій користувачі можуть легко повторити середовище клієнта та виявити дефекти на початку циклу.
- Низька вартість : Ще одним кутом попереднього пункту є те, що коли компанії інвестують в інфраструктуру, звичайною причиною цього є те, що багато їх сервери не використовуються постійно. Як результат, їм може знадобитися додаткові витрати на поновлення ліцензії. Перехід на хмару допомагає і в цьому сценарії, оскільки користувачі можуть вводити в експлуатацію електроприлади, як і коли хочуть, тим самим економить величезні витрати для організації.
- Легко налаштовується : Використовуючи хмару, організаціям легко імітувати середовище, орієнтоване на кінцевого користувача, налаштовуючи його відповідно до використання, тим самим заощаджуючи витрати та час. Тестові групи можуть легко виконувати сценарії тестування навантаження та продуктивності в різних перестановках та комбінаціях, таких як - різні ОС, браузери, конфігурації тощо.
- Масштабованість : Це одна з найпривабливіших особливостей хмари, завдяки якій обчислювальні ресурси можна збільшувати або зменшувати скрізь, де це необхідно. Це широко використовується в ситуаціях, коли вимоги бізнесу постійно змінюються.
Хмарне тестування глибокого занурення
Тестування щодо хмари використовуватиме як традиційні, так і новітні методи для проведення тестування. Тестування та хмара є однаково великими доменами на своєму шляху. Давайте дізнаємось, як переглядати обидва разом у нижченаведених розділах.
# 1) Форми хмарного тестування
Хмарне тестування можна розділити на чотири різні категорії залежно від того, що вони мають намір робити:
- Тестування всієї хмари: Хмара розглядається як ціла сутність на основі її особливостей, і тестування проводиться на основі цього.
- Тестування в хмарі: Це тестування, яке проводиться всередині хмари, перевіряючи кожну її внутрішню функцію
- Тестування по хмарах: Виходячи зі специфікацій, тут тестування проводиться на різних типах хмарних державних, приватних та гібридних хмар.
- Тестування SaaS в хмарі: Функціональне та нефункціональне тестування проводиться на основі вимог.
# 2) Середовища хмарного тестування
Існує 3 типи середовищ хмарного тестування:
- Приватне чи державне середовище, де якість розгорнутих у них додатків повинна бути перевірена.
- Гібридне середовище, де потрібно перевірити якість розгорнутих у них програм.
- Тестове середовище, засноване на хмарі, де потрібно перевіряти якість програм, розгорнутих у хмарі.
# 3) Види тестування, що проводяться в хмарі
Тестування в хмарі повинно не лише забезпечити виконання функціональних вимог, але також слід зробити сильний акцент на нефункціональному тестуванні. Давайте подивимось на різні види тестування, які проводяться.
Функціональне тестування :
Функціональне тестування повинно бути виконане, щоб переконатися, що пропозиція надає послуги, за які користувач платить. Функціональні тести гарантують виконання бізнес-вимог.
Деякі функціональні тести описані нижче:
- Тестування перевірки системи : Це гарантує, що різні модулі функціонують правильно між собою, тим самим гарантуючи, що їх поведінка відповідає очікуваним.
- Прийомне тестування : Тут хмарне рішення передається користувачам, щоб переконатися, що воно відповідає їхнім очікуванням.
- Тестування сумісності : Будь-яка програма повинна мати гнучкість для роботи без будь-яких проблем не тільки на різних платформах, але вона також повинна працювати безперебійно при переході з хмарної інфраструктури на іншу.
Нефункціональне тестування:
Нефункціональні тести головним чином зосереджуються на тестах, заснованих на веб-додатках, які гарантують, що вони відповідають бажаним вимогам.
модульне тестування інтеграція тестування системи тестування
Ось кілька форм нефункціональних тестів, про які йдеться нижче:
# 1) Тестування доступності : Хмарний наглядач / постачальник повинен переконатися, що хмара доступна цілодобово. Оскільки може бути багато критично важливих заходів, адміністратор повинен переконатися, що це не має негативного впливу на споживачів
# 2) Тестування багатоквартирного житла : Тут декілька користувачів використовують хмарну пропозицію. Тестування повинно проводитися для забезпечення достатньої безпеки та контролю доступу до даних, коли кілька користувачів використовують один екземпляр.
# 3) Тестування продуктивності : Необхідно перевірити час відповіді, щоб переконатися, що все ціле, навіть коли є багато запитів, які потрібно задовольнити. Затримка мережі також є одним із найважливіших факторів для оцінки продуктивності.
Крім того, балансування робочого навантаження потрібно робити, коли навантаження зменшується, шляхом виведення з експлуатації ресурсів. Таким чином, тестування на навантаження та стрес проводиться у хмарі, щоб забезпечити оптимальну роботу додатків із збільшенням / зменшенням навантаження та напруги.
# 4) Тестування безпеки : Оскільки в хмарі все доступно в будь-який час, важливо переконатися, що вся конфіденційна інформація користувачів не має несанкціонованого доступу, а конфіденційність користувачів залишається недоторканою. Під час обслуговування програм у хмарі також повинна бути перевірена цілісність даних користувачів.
# 5) Тестування на аварійне відновлення : Як уже зазначалося в тестуванні доступності, хмара повинна бути доступною постійно, і якщо є якісь збої, такі як перебої в роботі мережі, поломка внаслідок екстремального навантаження, несправності системи тощо, виміряйте, наскільки швидко вказана несправність втрата даних відбувається в цей період.
# 6) Тестування масштабованості : Тестуйте, щоб переконатися, що пропозиція має можливість забезпечити збільшення або зменшення можливостей відповідно до потреби.
Інструменти хмарного тестування
Деякі інструменти, що використовуються в різних видах тестування в хмарному середовищі, згадуються в цьому розділі. Деталі інструментів виходять за рамки цієї статті.
Інструменти для тестування продуктивності в хмарі:
Багато інструментів в основному використовуються для тестування продуктивності, навантаження та напруги. Деякі з наведених нижче інструментів також можна використовувати для функціональних тестів:
- SOASTA CloudTest
- LoadStorm
- CloudTestGo
- AppPerfect.
- Jmeter
- Хмаринка
- CloudTestGo
- AppPerfect
Інструменти тестування хмарної безпеки:
Є також деякі інструменти, пов'язані з безпекою, які зазвичай використовуються:
- Несс
- Wireshark
- Nmap
Проблеми хмарного тестування
Як би захоплююче не звучала хмара, тут все не химерно. Існує кілька проблем із покладанням на хмару та використанням її також як інфраструктури. Давайте розглянемо деякі основні проблеми під час використання хмари.
Завдання №1) Оскільки все доступне на замовлення будь-якому користувачеві, безпека є першочерговим питанням для бізнесу, оскільки в даний час у галузі ще багато дискусій та досліджень щодо встановлення стандартів безпеки. Захист конфіденційності користувачів, стандарти безпеки в хмарі, безпека програм, що працюють у хмарі, Методи перевірки безпеки є одними з основних питань, які необхідно вирішити в хмарній інфраструктурі.
Виклик No2) Ще однією великою проблемою є продуктивність програми в хмарі, зокрема в приватних хмарах. Це буде спільним для багатьох користувачів, а отже, це також може призвести до затримок. Крім того, у випадку якихось заходів з технічного обслуговування або відключення, пропускна здатність може здатися недостатньою.
Виклик No3) Іноді для цілей тестування нам потрібні певні конфігурації щодо серверів, сховища чи мережі, які можуть не підтримуватися хмарним постачальником. Це іноді ускладнює наслідування середовища клієнта.
Завдання No4 )Ще одна проблема, з якою часто стикаються, полягає в інтеграційному тестуванні, за допомогою якого тестувальники тестують мережу, базу даних, сервери тощо. У таких ситуаціях тестувальник не матиме контролю над базовим середовищем. По-друге, проблема подвоюється, коли між цими компонентами повинна бути взаємодія, оскільки тестувальник повинен передбачити такі ризики, як збої, поломка мережі або вихід серверів.
Висновок
Сьогодні хмарні обчислення стали одним із тих «великих вибухів» у галузі. Більшість організацій зараз схиляються до прийняття хмари через її гнучкість, масштабованість та зниження витрат .
Використання хмари для тестування надзвичайно допомагає організаціям придбати необхідні інструменти, ліцензії на програмне забезпечення, інфраструктуру за дуже низьку ціну, не вимагаючи її самостійного налаштування і пізніше турбуватися про її максимальне використання.
Очевидно, хмара тут залишиться надовго, і тестування хмар також має світле майбутнє. :)
Про автора : Це гостьова стаття Сніги Надіг. Вона працює провідником випробувань з більш ніж 7-річним досвідом роботи в проектах тестування на ручну техніку та автоматизацію.
Ви працюєте над хмарним тестуванням? Будь ласка, поділіться своїм досвідом. Або запитання? сміливо публікуйте це в коментарях.
Рекомендована література
- Початок роботи з хмарним тестуванням
- Хмарне тестування продуктивності: постачальники послуг на основі хмарного тестування навантаження
- Хмарне тестування мобільних додатків: повний огляд
- Найкращі постачальники послуг тестування мобільних додатків на основі хмари у 2021 році
- 10 КРАЩИХ інструментів моніторингу хмар для ідеального управління хмарою
- 10 КРАЩИХ постачальників безкоштовних хмарних сховищ (Інтернет-сховище 2021)
- 12 НАЙКРАЩИХ постачальників хмарних хостингів у 2021 році (порівняно за послугою та вартістю)