Тестирование стабильности

Приложения и сайты работают в непрерывном режиме (без перезагрузки серверов) на протяжении многих недель и месяцев. В очень крупных (глобальных) проектах количество одновременных пользователей может быть очень большим практически все время, при этом доступ к сайтам/приложениям должен быть гарантирован всегда, что заставляет владельцев таких проектов проводить тестирование стабильности (надежности, устойчивости).

QA-команды, проводящие такое тестирование, фокусируются на недопущении:

  • внезапных сбоев сервиса из-за недоступности инфраструктуры
  • замедления скорости и ухудшения качества сервиса
  • и других последствий длительной непрерывной работы «на высоких оборотах». 

Важность

Итак, тестирование стабильности — это проверка стабильности приложения/сайта, работающего длительное время в условиях большой нагрузки. Оно помогает разработчикам и архитекторам совершенствовать систему, делая ее более гибкой, устойчивой к стабильно большой нагрузке, и измерить пределы выносливости. Будет ли система гарантированно стабильной? Что можно сделать превентивно? Какое количество одновременных пользователей/запросов на протяжении месяца система готова отработать без выведения в режим обслуживания? Когда проявятся утечки памяти? 

Проблемы

Проблемы, которые возникают или накапливаются в системах на протяжении долгого периода непрерывной работы:

  • Постепенное замедление системы, потеря «отзывчивости» на каких-то уровнях
  • Потеря части функциональности
  • Неправильное/некорректное функционирование
  • Со временем возможен полный отказ системы

Этапы

Стандартные этапы тестирования стабильности/надежности/устойчивости системы:

  1. Описать цели и масштабы тестирования, и выделить время
  2. Распределить ресурсы и ответственность по задачам. Написание тест-плана, включающего описание общей стратегии, этапов проведения, и мониторинг
  3. Подготовка команды с соответствующим уровнем навыков тестирования производительности
  4. Непосредственно проведение тестирования
  5. В качестве подготовительного/дополнительного этапа желательно проведение нагрузочного тестирования
  6. Репорты и их анализ

Метрики 

Проводится мониторинг системы и сбор тестовых метрик, а далее их анализ. Метрики:

  • Время обработки транзакции — как параметр, страдающий в первую очередь
  • Количество обработанных запросов к серверу в секунду
  • Пропускная способность (Throughput)
  • Параметры CPU, памяти и дисков

Инструменты

Инструменты для тестирования стабильности/надежности/выносливости/износостойкости системы — стандартные нагрузочные, по ссылке.

***

Книги, туториалы и запись на стажировки на канале QA Собес

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас