soak testing tutorial what is soak testing
Цей вичерпний посібник з тестування на замочування пояснює, що таке тестування на замочування, навіщо воно нам потрібне, його застосування, переваги, найкращі практики та недоліки:
Під час тестування програмного забезпечення необхідно проводити різні типи тестування. Функціональне та нефункціональне тестування - це дві широкі категорії, за якими ми можемо класифікувати типи тестування.
Функціональне тестування, як випливає з назви, стосується тестування функціональних можливостей програми. Нефункціональне тестування, навпаки, охоплює всі інші тестування (юзабіліті, продуктивність тощо), крім функціонального тестування.
Що ви дізнаєтесь:
Тестування на замочування - повне керівництво
Цей підручник знайомить вас із концепціями Soak-тестування, що є різновидом тестування продуктивності.
Як видно на зображенні вище, ми можемо сказати, що тестування на замочування - це тип нефункціонального тестування.
Що таке тестування на замочування
Це тип тестування продуктивності, щоб перевірити, чи може випробовувана заявка (AUT) витримувати постійне навантаження протягом заздалегідь визначених часових рамок. Це нефункціональний тип тестування. Це також називається як «Тестування на витривалість» або «Тестування на довголіття» .
Якщо ви використовуєте його буквальну назву, тоді слово «замочити» саме по собі означає значення того, що має намір зробити це тестування. Отже, піддавання заявці на певний період великому навантаженню є темою цього тестування.
Можна задатися питанням, яка може бути різниця, якщо додаток піддається навантаженню протягом години або, може, 20 годин. Але так, це має значення.
Це можна пояснити краще за допомогою реального сценарію. Якщо мотузку натягують з обох кінців двоє людей протягом деякого часу, то це може просто протистояти тиску, однак, якщо це продовжуватиметься протягом днів, тоді мотузка може просто порватися, піддавшись тиску з обох кінців.
(зображення джерело )
Як і у випадку з програмним забезпеченням. Коли ми піддаємо програму великому навантаженню (кілька сотень або тисяч користувачів), вона може просто працювати нормально протягом години. Однак, коли одна і та ж програма піддається навантаженню протягом 20 годин, вона може взагалі зруйнуватися.
(зображення джерело )
Тривалий інтенсивний рух протягом тривалого часу може спричинити різні проблеми у програмі. Таким чином, виникає необхідність у тестуванні на замочування.
У цьому тестуванні основною концепцією є завантаження програми з очікуваними користувачами, але на тривалий період. Це допомагає ідентифікувати різні основні проблеми, які в іншому випадку залишалися б не виявленими, поки в реальному застосунку не відбудеться фактичний сценарій.
Необхідність тестування на замочування
Щоб зрозуміти потребу, ми також повинні знати про можливі проблеми, з якими може зіткнутися програма, якщо вона тривалий час стикається з великим навантаженням.
Давайте розглянемо різні причини, які роблять необхідним тестування Soak.
# 1) В основному це потрібно для виявлення таких проблем, як неправильне управління пам'яттю, проблеми з підключенням до бази даних, погіршення часу відгуку програми тощо.
Кожне з цих питань було пояснено нижче:
- Неправильне управління пам’яттю може спричинити такі проблеми, як пам’ять, яка виділяється для використання, але ніколи не звільняється, або коли ресурси використовують більше пам’яті, ніж потрібно. Якщо такі сценарії тривають тривалий час, це може призвести до того, що в системі закінчиться пам’ять, в результаті чого програма припинить відповідати.
- Проблеми з підключенням до бази даних - Помилка, яка виникає під час закриття з'єднання з базою даних, може в кінцевому підсумку призвести до повного збою програми.
- Погіршує час відгуку програми - часом програма з якихось причин може стати менш ефективною, а час її відповіді може збільшитися. З часом це може призвести до того, що програма перестане відповідати.
Щоб уникнути подібних ситуацій, ми вважаємо за краще протестувати наш додаток. Це допомагає виявити такі основні проблеми, які в іншому випадку можуть не виявитись.
# два) Тест на замочування допомагає визначити, чи готова наша програма приймати навантаження протягом тривалого періоду.
# 3) Це дозволяє команді вжити коригувальних дій на основі того, як система реагує на тести замочування.
Коли починати тест на замочування?
(зображення джерело )
В ідеалі, як і будь-яке інше тестування продуктивності, це тестування слід проводити під час розробки продукту разом із функціональним тестуванням. Однак це робиться рідко. Причина очевидна, тобто управління витратами проекту.
Таким чином, основна увага приділяється функціональному тестуванню, і всі форми тестування продуктивності, як правило, відходять на другий план і наближаються до дати випуску програми.
Загалом тестування Soak проводиться безпосередньо перед тим, як програма буде передана клієнту. Але це має великий недолік, який стосується вирішення проблеми.
Коли будь-яку проблему з продуктивністю виявлять пізніше, може бути важко її виправити, оскільки це може спричинити значну зміну коду, яка може бути неможливою з огляду на близькість дати доставки Програми.
Таким чином, завжди бажано, щоб це тестування проводилось належним чином вчасно, щоб можна було вирішити виявлені проблеми.
Стратегія тестування на замочування
(зображення джерело )
Подібно до того, як для тестування програми готується тестова стратегія, заздалегідь готується стратегія для тестування Soak, і це дуже потрібно.
Давайте подивимось, що входить до підготовки стратегії випробування на замочування.
Перш ніж розпочати тест на замочування, команда повинна визначити навантаження, для якої потрібно протестувати програму. Тривалість, протягом якої його потрібно протестувати, також повинна бути заздалегідь визначена. Як правило, це забезпечується командою розробників.
Тестова група повинна прийняти рішення щодо сценаріїв, які вони планують для проведення тесту на замочування. Це, в свою чергу, залежатиме від зобов’язань Клієнта та вимог Програми, що тестується.
Оскільки тестування Soak в основному зосереджене на виявленні проблем із витоком пам'яті та ресурсів, важливо заздалегідь знати споживання пам'яті та бази даних порівняно з наявними.
Також слід вирішити такі деталі середовища, як ОС, пристрій тощо, на яких проводитиметься Soak-тестування.
Нарешті, але не в останню чергу, ризики, які беруть участь, також слід враховувати. Для таких ситуацій завжди слід складати резервний план. Наприклад, якщо база даних виходить з ладу під час тестування, то які інші альтернативи доступні замість неї тощо.
Сценарії тестування на замочування
Коли веб-сайт електронної комерції оголошує про продаж своєї продукції в Інтернеті, це природно, щоб веб-сайт завантажувався протягом періоду продажу, який може тривати 3-5 днів. У такій ситуації веб-сайт слід протестувати, щоб уникнути будь-яких несподіваних збоїв.
найкраще програмне забезпечення для очищення Windows 10
Під час завершення фінансового року веб-сайт банку може постійно стикатися з дуже великим навантаженням. У такій ситуації веб-сайт, мабуть, був протестований Soak, щоб уникнути будь-якого несподіваного збою веб-програми.
Коли додаток призначений для обробки заздалегідь визначеного навантаження протягом безперервного заздалегідь визначеного періоду, тоді стає необхідним протестувати додаток на навантаження принаймні в 2 рази більше його відомих можливостей обробки навантаження.
Наприклад, якщо веб-сайт, як відомо, обробляє 500 завантажень користувачів протягом безперервного періоду 15 годин, тоді програма також повинна бути протестована для 1000 користувачів протягом 15 годин. Це допомогло б нам знати, чи програма буде реагувати ненормально, якщо змусити подвоїти свою завантажувальну здатність удвічі.
Кращі практики
(зображення джерело )
- Тестування на замочування завжди слід проводити, знаючи обмеження простою програми в режимі очікування як з точки зору користувачів, так і тривалості часу. Це потрібно знати, оскільки метою є завантаження програми з очікуваними користувачами, але на тривалий час.
- Бажано проводити тести на замочування на ніч, або якщо потрібно проводити тестування навіть більшої тривалості, тоді бажано робити це на вихідних. Причина очевидна, тобто в робочий час ресурси зв’язуються, тоді як у нічний або неробочий час тестові сервери можуть бути доступними для тривалого використання. Таким чином, неробочий час - ідеальний час для таких випробувань.
- Ризики, пов’язані з тестуванням програми на замовлення, завжди повинні бути проаналізовані, а план пом’якшення повинен бути готовим до того самого будь-якого інциденту.
Замочіть обмеження тестування
(зображення джерело )
- Тривала тривалість, необхідна для тестування програми, є одним із великих обмежень, як правило, через відсутність часу. Таким чином, тестування на замочування іноді можна уникнути через брак часу.
- Тестове середовище повинно бути ретельно підібране, щоб будь-який інший тип тестування, що проводиться в Додатку, не зазнав впливу. Це може трапитися, оскільки тривале тестування програми на велике навантаження може спричинити проблеми.
- Час тестування на замочування має бути ретельно вирішено, і це повинно бути в основному поза робочим часом (наприклад, вихідні або нічні години після закриття роботи).
- Як правило, для тестування Soak потрібні засоби автоматизації, оскільки тести повинні виконуватися тривалий час із великою кількістю користувачів.
Недоліки тестування на замочування
- Графік проекту може вплинути на тестування замочування, оскільки час, необхідний для цього, як правило, високий.
- Ресурси зв’язуються на час тестування, оскільки велике використання пам’яті через велику кількість користувачів, що отримують доступ до програми.
Висновок
За допомогою цього підручника ми дізналися, що таке тестування Soak і що вимагає проведення цього тестування.
Тепер, розуміючи, що таке тестування на замочування та які проблеми він допомагає визначити, ми можемо дуже добре зрозуміти необхідність проводити те саме. Особливо в часи, коли весь світ завжди пов’язаний, це тестування стає обов’язковим.
Ми побачили, коли нам слід розпочати тест на замочування разом із підходом, якого слід дотримуватися. Тут також обговорювались сценарії, найкращі практики та пов'язані з цим обмеження.
Ми сподіваємось, що цей підручник допоміг вам зрозуміти, що таке тестування Soak, і, мабуть, покращив ваші знання.
Рекомендована література
- Тестування навантаження за допомогою підручників HP LoadRunner
- Підручник з деструктивного контролю та неруйнівного контролю
- Тестування Праймера Завантажити електронну книгу
- Кореляція - Тестування навантаження за допомогою LoadRunner
- Функціональне тестування проти нефункціонального тестування
- Різниця між робочим столом, тестуванням клієнтського сервера та веб-тестуванням
- Тестування навантаження за допомогою LoadUI - безкоштовний інструмент тестування навантаження з відкритим кодом
- Підручник з тестування SOA: Методологія тестування для архітектурної моделі SOA