Тестування сервісу (Service Testing)
Last updated
Last updated
Якість обслуговування, що надається веб-додатком, може бути визначена включенням усіх його атрибутів, таких як функціональність, продуктивність, надійність, зручність використання, безпека тощо. Однак для наших цілей тут ми виділяємо три конкретні завдання обслуговування (service objectives), які піддаються ретельній перевірці в рамках того, що ми називаємо тестуванням послуг:
Performance;
Reliability;
Manageability;
У всіх трьох випадках нам необхідно моделювати навантаження користувача для ефективного проведення тестів. Цілі продуктивності, надійності та керованості існують у контексті реальних клієнтів, які використовують сайт для бізнесу. Швидкість відгуку (в даному випадку час, необхідний одному системному вузлу для відповіді на запит іншого) сайту залежить від ресурсів, доступних у технічній архітектурі. Чим більше клієнтів використовують цю послугу, тим менше технічних ресурсів доступне обслуговування запитів кожного користувача, і час відгуку скорочується. Очевидно, що слабко завантажена служба з меншою ймовірністю вийде з ладу. Більшість складності програмного та апаратного забезпечення існує для задоволення вимог до ресурсів у рамках технічної архітектури, коли сайт сильно завантажений.
Компоненти інфраструктури виходять з ладу, тому що код програми (через погану розробку або реалізацію) пред'являє надмірні вимоги до ресурсів.
Компоненти програми можуть вийти з ладу, тому що необхідні ресурси не завжди можуть бути доступні (вчасно).
Моделюючи типові та незвичайні виробничі навантаження протягом тривалого періоду, тестувальники можуть виявити недоліки в конструкції або реалізації системи. Коли ці недоліки будуть усунені, ті ж таки тести продемонструють стійкість системи. Для всіх служб зазвичай існує низка критичних процесів управління, які необхідно виконати для забезпечення безперебійної роботи служби. Можна було б закрити службу для виконання планового обслуговування в неробочий час, але більшість онлайн-служб працюють 24 години на добу. Робочий день сервісу ніколи не закінчується. Негайно, що процедури керування повинні виконуватися, поки служба працює і користувачі перебувають у системі. Ці процедури необхідно тестувати за наявності навантаження на систему, щоб переконатися, що вони не впливають на живу службу,
Тестування управління послугами (Service Management Testing). Коли служба розгортається у виробничому середовищі, нею необхідно керувати. Для підтримки працездатності служби необхідно, щоб її відстежували, оновлювали, створювали резервні копії та швидко виправляли, коли щось піде не так. Процедури, які менеджери служб використовують для виконання оновлень, резервного копіювання, випусків та відновлення після збоїв, є критично важливими для забезпечення надійної служби, тому їм необхідне тестування, особливо якщо служба зазнає швидких змін після розгортання. Необхідно вирішити такі конкретні проблеми:
Процедури не дають бажаного ефекту;
Процедури непрацездатні чи непридатні;
Процедури порушують пряму трансляцію;
По можливості тести мають проводитися реалістично.
Джерело: