Тестирование – залог предсказуемости
и качества (часть 2)

часть 1 см. здесь

Выбор стратегии тестирования – системный подход

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

Задачи системы определяют стратегию тестирования

Как и какие части системы и ее функционала тестировать – зависит от стоящей перед системой задачи. Поэтому очень важно заранее правильно определить стратегию, тип тестирования, правильно выбрать инструмент, в результате – сформировать программу и методику испытаний (ПМИ).

Сквозное (end-to-end) тестирование

  • При сквозном тестировании проверяется каждый компонент на пути доставки сервиса конечному пользователю – от дата-центра к ядру сети, к сети доступа, периметру безопасности и далее к устройствам и приложениям. Примеры сквозного тестирования:
  • Проверка возможности развертывания нового приложения в системе
  • Тестирование корректной работы протоколов на низких уровнях сети по пути доставки сервиса
  • Тестирование решений различных поставщиков компонентов системы для обеспечения наилучшего соотношения безопасности и производительности
  • Нагрузочное тестирование приложений и устройств на уровне приложений и безопасности перед их окончательным развертыванием в системе
  • Тестирование для поиска и устранения уязвимостей безопасности
  • Предварительное тестирование на соответствие основных компонентов, протоколов, устройств и всей сети целиком до внедрения их на «живой» сети
Рамки сквозного тестирования могут расширяться по мере роста инфраструктуры системы и требований к ней. Сквозное тестирование проводится для выяснения того, как замена или апгрейд отдельных компонентов или модулей системы повлияет на параметры ее работы в целом. Такой вид тестирования может применяться к новым элементам сети и дата-центра, к облачному сегменту, или даже к отдельным устройствам.

Пример сквозного тестирования

Однако, скорость развития ИТ-технологий вызывает необходимость непрерывной модернизации систем и сетей, когда нужно управлять постоянными изменениями и потоком проектов в ИТ-среде. Это часто приводит к «проблемам роста» и различным сбоям в системе. Аналитики «Монк Диджитал Лаб», специализирующейся на корпоративном ИТ-мониторинге, в 2024 году провели комплексное исследование ИТ-систем российских компаний по итогам года, которое показало, что общее количество сбоев в них выросло в 2024 году на 22% по сравнению с 2023 годом С серьезными инцидентами в критически важных сервисах столкнулись 93% организаций1.

Непрерывное тестирование

Когда ИТ-система быстро развивается, и изменения происходят одновременно в разных частях инфраструктуры, необходимо проводить непрерывное тестирование, по сути являющееся частью непрерывного процесса разработки и интеграции CI/CD (Continuous Integration, Continuous Development).

Можно выделить три главных аспекта непрерывного тестирования в пределах жизненного цикла продукта или системы:
На этапе разработки
необходимо всесторонне протестировать продукт со всех сторон до его выпуска, составить ясное представление о том, как будет выглядеть готовый продукт: от интерфейса пользователя до нижележащих сетевых протоколов, от пользовательской нагрузки до возможностей масштабирования трафика.
Перед развертыванием решения
необходимо убедиться, что весь спектр сервисов, конфигурация сети, приложений и политик безопасности удовлетворяют критериям SLA и исходным требованиям технического задания.
Валидация новых апгрейдов
ПО и конфигурации оборудования, а также политик безопасности до выпуска продукта в живую систему. При этом необходимо найти оптимальный и стабильный баланс между производительностью и безопасностью, а также обеспечить рост показателей с каждым выпуском.

Место непрерывного тестирования в процессе CI/CD

Тестирование при разработке

Разработка новых функций и сервисов – именно то время, когда отлов ошибок и «косяков» может принести наибольшую пользу. На ранних этапах разработки, наиболее эффективны следующие виды тестирования:
  • Выбор поставщика
При выборе поставщика решения или оборудования крайне важны тесты «подтверждения концепции» PoC (Proof of Concept), которые помогают выяснить, чем решение того или иного поставщика отличается от его конкурентов и наилучшим образом удовлетворяет заданным требованиям.

Тестирование сетевого элемента в лаборатории

  • Тестирование решения на соответствие
Если новое решение составлено из нескольких элементов, то тестирование при развертывании решения позволяет убедиться, что все его компоненты работают нормально во взаимодействии друг с другом.
  • Верификация дизайна решения
Перед запуском нового решения проводится окончательное тестирование (верификация), при котором моделируется реальный трафик через физическую и виртуальную инфраструктуру решения. Также проводится валидация устойчивости решения к атакам, например, при помощи системы Ixia BreakingPoint. При этом решение загружается реальным «производственным» трафиком, поверх которого накладывается трафик тысяч атак различных типов. Таким образом выясняется наличие известных уязвимостей.

Тестирование перед развертыванием

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

Примеры того, что в первую очередь нужно протестировать перед развертыванием:
  • Уровень доступности услуг SLA (Service Level Agreement)
Неважно, развертывается ли ваше решение на собственной или арендованной ИТ-инфраструктуре, обеспечение доступности услуг – задача владельца проекта. Тест соответствия SLA позволяет выяснить, что производственные системы удовлетворяют всем требованием по нагрузке и устойчивости. Инструменты нагрузочного тестирования и мониторинга Ixia IxLoad помогут убедиться, что система обеспечивает параметры не ниже SLA.
  • Время запуска сервиса
Например, если сервис – веб-страница, то время ее открытия – критичный параметр. Исследования показывают, что даже при времени загрузки страницы в 4 секунды, 25% пользователей ее покидают, не дожидаясь открытия сайта, а это недополученная прибыль, и немалая. Инструменты Ixia, такие как IxChariot и IxLoad помогут определить «отзывчивость» и надежность сервисов.
  • Производительность решения
При передаче проекта между подразделениями, часто бывает нужно оценить, какую производительность имеет передаваемое решение, чтобы вовремя внести необходимые изменения, для приведения системы в соответствие требованиям или SLA.

Оптимизационное тестирование

Обычно все ИТ-системы находятся в процессе постоянной оптимизации: например, это могут быть новые апгрейды ПО, модернизация оборудования, изменения политик безопасности. При этом надо постоянно следить за тем, чтобы не было снижения производительности системы, когда, например, внедрение системы IPS вызывает снижение пропускной способности сети. Мы можем помочь проверить, что оптимизационные изменения безопасны и не вызовут снижения эффективности работы сети. Примеры оптимизационных тестов:
  • Подтверждение на соответствие политик:
подтверждение того, что, например, изменение политик безопасности не влияет на работу фаервола, или как ресурсы системы могут изменяться при добавлении новых лицензий в граничные маршрутизаторы.
  • Ввод новых технологий:
например, при апгрейде беспроводной сети на новый стандарт семейства 802.11 нужно убедиться, что не возникнет никаких проблем с емкостью и сервисами сети.
  • Верификация изменений:
тестирование для надежного подтверждения того, что нужные изменения успешно внедрены в работающей системе. Например, один из заказчиков компании Ixia, финансовый брокер, решил добавить в ИТ-систему своей организации сервис противодействия DDoS-атакам. Используя технологию Breaking Point от Ixia, заказчик смог сократить время реакции на запросы клиентов в 10 раз, а это для финансовых институтов весьма немаловажно и приводит к повышению отдачи инвестиций.

Заключение

Тестирование стало неотъемлемой частью жизненного цикла сетей, оборудования и сервисов для широкого спектра технологий при их быстрых изменениях и росте сложности систем.  Тестирование не только помогает проекту достичь требуемых параметров и превзойти их, но также в разы увеличивает отдачу от инвестиций и безопасность.

Решения тестирования от РУТЕСТ дадут вам уверенность в том, что ваши продукты и решения заслуживают доверия ваших клиентов. На нашем сайте можно больше узнать о преимуществах тестирования, лучших практиках и о том, как использовать их в вашей организации.

Решение IXIA

Тестирование сетевой фабрики AI
(RoCEv2)

IXIA Network Emulator 3

Тестирование приложений и решений ИБ в масштабах предприятия

Решение IXIA UHD100T32

Тестирование приложений и решений ИБ в масштабах предприятия

Решение IXIA UHD400T
Ultra-high Density

Тестирование приложений и решений ИБ в масштабах предприятия

Решение IXIA AresONE-M 800GE

Тестирование приложений и решений ИБ в масштабах предприятия

РУТЕСТ

Почему стоит выбрать РУТЕСТ для тестирования
  • Комплексный подход

    Мы охватываем все аспекты тестирования, включая методологии, аренду решений и автоматизацию
  • Опыт и профессионализм

    Мы работаем с передовыми технологиями и знаем, как внедрить их в ваш бизнес
  • Экономия времени и ресурсов

    Наши услуги позволяют снизить затраты на тестирование, сохраняя высокое качество