Блог a1qa

О тестировании и качестве ПО

Обеспечиваем стабильность программного продукта в нестабильных условиях

Распространение COVID-19 официально признано пандемией. Компания Deloitte назвала коронавирус «чёрным лебедем», который непредсказуемо меняет глобальные социальные и экономические процессы.

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

Нужно ли в такой ситуации переводить бизнес в онлайн-режим? Как успешно приспособиться к слишком быстро меняющимся условиям тем, кто уже присутствует в digital-пространстве? Читайте далее, чтобы узнать.

Историческое изменение глобального контекста

Представители бизнеса многих отраслей экономики оказались под неожиданным ударом в этом году. Распространение коронавируса вместе с другими внешними факторами приводит к переустройству привычной экономической системы.

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

В начале марта прошла крупнейшая со времён экономического кризиса 2008 года распродажа акций мировых компаний. Многие эксперты уже назвали этот день «чёрным понедельником». Всего за один день акции компаний Европы и США потеряли в цене 6―10%. В новых обстоятельствах главной целью многих крупных инвесторов стало не увеличивать капитал, а сокращать потери.

Если до событий последних месяцев ожидалось, что в 2020 году прирост мировой экономики составит 3%, то сейчас эксперты в один голос говорят о рецессии. Но даже в таких сложных для многих компаний условиях остаётся действенный выход ― переход в цифровое пространство. Образовательные, развлекательные площадки, онлайн-магазины пользуются высоким спросом, а значит, и трафик растёт.

Только за третью неделю марта этого года интернет стали посещать на 22% чаще. Наиболее активный рост продемонстрировали сегменты онлайн-игр и стриминговые платформы. По данным статистики социальной сети «ВКонтакте», за этот же период марта просмотры новостной ленты увеличились на 10%, интерес к видео возрос на 16%, игровая площадка привлекла на 10% больше пользователей. Онлайн-кинотеатр «Кинопоиск HD» рассказал об увеличении среднего показателя времени просмотра и числа пользователей в дневное время. Во многом это стало следствием перехода на «цифровые рельсы» компаний, которые переводят своих сотрудников в формат удалённой работы.

Но такой бурный рост и развитие некоторых площадок имеет обратную сторону ― высокий пользовательский интерес повышает нагрузку на серверы, что может затормозить или даже приостановить работу веб-сервиса. Неудивительно, что Еврокомиссия порекомендовала стриминговым площадкам (таким как Netflix) снизить качество видеоконтента, чтобы сократить нагрузку на глобальный трафик.

Даже самые крупные площадки оказались неготовыми к такому резкому увеличению числа пользователей. Можно сказать, что сейчас мы наблюдаем формирование новых стандартов производительности веб-продуктов. Сегодня, чтобы сохранить и приумножить число постоянных пользователей, платформам предстоит продемонстрировать стабильную работу под высокой и даже стрессовой нагрузкой. Но точно узнать о возможностях своего программного продукта можно лишь после его падения от наплыва пользователей или при тестировании производительности.

Как использовать нестабильные условия в свою пользу?

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

Важно заранее подготовить продукт к пиковым показателям интереса, который принесёт бизнесу свои преимущества. По данным Cloudflare, текущий прирост трафика сопоставим с периодом проведения Олимпийских игр. Ведь слишком медленная или некорректная работа ПО оттолкнёт новых пользователей и вынудит прежних искать альтернативы у конкурентов.

Стоит готовиться к бурному развитию сектора e-commerce. Если только в 2019 году в России суммарный объём рынка онлайн-торговли увеличился на 41%, то уже в этом году мы можем ожидать значительного увеличения показателей. Но массовый переход процессов в режим онлайн даёт возможность новым продуктам быстро развиться и расширить свою долю на рынке. Рестораны обращаются к созданию собственных сервисов по доставке еды, офлайн-бизнес перепрофилируется под новые условия и запускает сайты, компании внедряют компьютерное зрение, чтобы помочь клиентам «‎примерить»‎ товар, не выходя из дома.

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

Обеспечиваем стабильность работы ПО

Мы предлагаем обратить внимание на факторы, которые повышают вероятность возникновения трудностей при отказе от тестирования производительности или его несвоевременном проведении.

Обеспечиваем стабильность работы ПО

  • Период до релиза

Если вы готовитесь представить на рынке новый программный продукт, то могли уже провести ряд тестов. Но стоит пересмотреть требования к производительности с учётом изменений текущих показателей потенциальной нагрузки на мобильные и веб-приложения. Не упустите возможность проверить свой продукт перед релизом дополнительно даже под непредвиденно высокими нагрузками!

  • Неадаптированность мобильного приложения к работе на разных платформах

При ограниченности использования программного продукта не стоит ожидать резкого увеличения пользовательской нагрузки. А ведь с ростом интереса к сервису ожидается и увеличение плюсов для бизнеса. Потому неподготовленность ресурса к работе на нескольких платформах станет скорее преградой для развития, чем сдерживающим фактором.

  • Проверка новых функциональностей

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

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

  • Незнание пиковых точек нагрузки

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

  1. Какими являются пиковые точки нагрузки?
  2. Как отличается поведение системы в этих точках?
  3. Сколько система способна работать при резком повышении нагрузки?
  • Переход на новое программное обеспечение

Обновления сопряжены с рисками для стабильности работы программного продукта. Чтобы убедиться в правильном функционировании системы после обновления, например БД, стоит провести ряд нагрузочных тестов. Ещё один пример ― миграция информации в новую систему управления базами данных (СУБД). Такой подход поможет выявить отличия поведения системы в привычных и новых условиях.

Нивелировать влияние данных факторов на производительность программного продукта позволят экстренные меры по стабилизации работоспособности системы.

Помощь программному продукту: 3 экстренные меры

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

  • Оптимизация загрузки

Чтобы сократить время загрузки каждой страницы, стоит временно сократить объём визуального контента или обратиться к сжатию файлов, кэшированию. Минификация CSS- и JavaScript-файлов также поможет страницам загружаться быстрее.

  • Изменение возможностей сервера

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

  • Масштабирование ресурсов

Даже если сейчас вы справляетесь с пользовательской нагрузкой, уже завтра может понадобиться дополнительное пространство для манёвра. Предлагаем обзавестись ещё несколькими программными или аппаратными системами для обработки запросов.

Как оптимизировать производительность

Кроме того, в качестве дополнительных эффективных мер вы можете сделать следующее:

  • настроить мониторинг системы для определения самых нагруженных компонентов;
  • увеличить мощности инфраструктуры, на которой развернуто приложение с применением облачных решений;
  • настроить профилирования БД и серверов (выявить наиболее медленные запросы и проанализировать их с целью оптимизировать время обработки запроса).

Следующее активное действие ― провести тестирование производительности. Лучше подготовить ваш программный продукт к значительным нагрузкам, а также выявить и понять узкие места системы поможет команда a1qa:

  • С увеличением трафика растёт и число пользователей, и объём хранимой информации в БД. Оценить возможность системы справляться с этим ростом поможет объёмное тестирование.
  • Тестирование конфигурации позволит определить лучшее сочетание компонентов для сервера, которое сократит расходы ресурсов на поддержание окружения.
  • Проверка стабильности поможет определить оптимальные параметры масштабируемости при резком росте или падении нагрузки. Автоматизация поведения системы в таких условиях также позволит сэкономить ресурсы.

Подробнее о подходе к тестированию производительности и основных этапах этого процесса мы рассказали в нашей статье.

Подведём итоги

Текущие глобальные преобразования ― возможность дать новый стимул для развития, ведь стремительный рост интереса к онлайн-продуктам даёт бизнесу возможность диверсифицировать риски.

Но увеличение трафика ведёт к нестабильной работе приложения. Решение для данной проблемы стоит искать в тестировании производительности. Оно позволит выявить пиковые точки нагрузки на продукт, при которых сохраняется стабильность, а также определить поведение системы при длительной нагрузке (увеличение числа пользователей или объёма данных). Определение пороговых показателей работоспособности предотвратит резкий выход из строя системы.

А вы уже обеспечили высокую производительность своего программного продукта? Напишите нам, чтобы получить персональную консультацию от QA-экспертов о том, как сделать это максимально качественно.

Поделиться статьей: