Блог a1qa

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

Как выпустить успешное ПО: технологии и критерии оценки качества

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

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

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

Давайте подробно рассмотрим каждый из них.

Технологический аспект

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

Интерактивная визуализация

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

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

Виртуальные цифровые помощники

Подобные веб-сервисы эффективно решают рутинные задачи по сбору и анализу информации, планированию времени и т. д. Уже сейчас пользователь может забронировать авиабилеты или вызвать такси, просто обратившись голосом к цифровому помощнику. А с увеличением возможностей будет расти и спрос. По данным исследовательской компании Gartner, к 2023 году ожидается увеличение числа обращений к виртуальным помощникам от общего числа пользовательских запросов до 25% (по сравнению с 3% в 2019 году).

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

  • ответы на вопросы;
  • консультирование и помощь при выполнении ряда действий;
  • принятие и обработка жалоб.

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

Персонализация

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

К примеру, индивидуальные электронные письма открываются втрое чаще обезличенных посланий из массовой рассылки. И это не удивительно, ведь 80% респондентов из тысячи опрошенных в возрасте от 18 до 64 лет (согласно исследованию ресурса Epsilon) отметили, что чаще расположены общаться с компанией, которая предоставляет персонифицированные решения.

Развитие программных продуктов в рамках этого направления позволяет добиваться больших результатов. К примеру, за последние годы один из крупнейших производителей консервированных супов потратил более $40 млн на создание собственных веб-продуктов:

  • сервис Habit, который составляет персональные рекомендации по диете и меню;
  • конструктор еды Chef’d, который подбирает рецепт на основе продукции компании.

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

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

В этом случае решением станет проведение тестирования производительности. Оно позволяет понять следующее:

  • работоспособен ли продукт под прогнозируемой нагрузкой;
  • какую пиковую нагрузку может выдержать ПО;
  • есть ли в производительности программного продукта дефекты;
  • каков уровень отказоустойчивости системы.

Оценка производительности производится на основе численного выражения характеристик программного продукта – метрик. Именно они позволяют взглянуть на ПО с пользовательской точки зрения и своевременно выявить дефекты.

Аспект обеспечения качества ПО

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

Одна из первых моделей оценки качества ПО была предложена в 1977 году. В своей работе Дж. МакКолл предложил 11 показателей качества, которые были объединены в группы по способу взаимодействия пользователя и продукта. Графически эта концепция приобрела вид треугольника.

Треугольник МакКола

Дж. МакКолл предложил сфокусироваться на:

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

Метрики – параметры оценки качества программного продукта – повышают объективность и позволяют точнее прослеживать динамику совершенствования ПО.

К примеру, можно собрать данные о состоянии ресурсов веб-сервера во время взаимодействия с ним пользователя:

  • число запросов в секунду;
  • процент ошибок;
  • время отклика запроса.

Анализ полученных данных поможет определить узкие места работы сервера. Для пользователя они превращаются в страницы с ошибками 502/504 или слишком долгое ожидание загрузки, что снижает общую удовлетворённость ПО.

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

Как правило, учитываются следующие метрики:

  • процессорное время;
  • общий и задействованный объём памяти;
  • скорость чтения/записи диска;
  • дерево запросов и проблемные места в нём.

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

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

  • продолжительность загрузки картинок;
  • время загрузки текстового контента;
  • время выполнения скрипта в JavaScript;
  • время отклика запроса;
  • политика кэширования.

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

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

Резюмируя

Когда индустрия программного обеспечения развивается наиболее активно, компании обращаются к новым ИТ-решениям, чтобы сделать свой продукт более привлекательным для пользователей.

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

Если и вы нуждаетесь в экспертной оценке качества ПО, напишите нам и получите бесплатную консультацию QA-инженеров.

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