Блог a1qa

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

Cокращаем time to market программных продуктов в нестабильных условиях

Мировая ситуация затронула все сферы экономики, включая крупный, средний и малый бизнесы. Это коснулось и ИТ-индустрии. Согласно опросу Руссофт, более 80% ИТ-компаний столкнулись с задержкой платежей за уже выполненные заказы, что говорит о неминуемом сокращении выручки в этой отрасли по итогам II квартала 2020 года.

Неопределённые времена привели и к ускорению перехода сервисов и операций в цифровую экосистему. Массовая миграция в онлайн-пространство и кризис изменили предпочтения и нужды конечных пользователей.

В таких условиях многие компании стремятся сделать больше, чтобы получить конкурентное преимущество на рынке. Для этого стоит позаботиться о выпуске успешного ПО, то есть сделать это качественно и быстро, сократив time to market.

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

Всё начинается с команды

Чем чётче определены процессы, тем проще минимизировать время простоя и соблюдать запланированные сроки, заложенные в стратегии. Однако налаживать бизнес-операции важно на всех этапах жизненного цикла ПО, включая тестирование.

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

Модель «dedicated team» помогает компаниям получать не только дополнительные таланты для проведения качественного тестирования, но и мотивированных и заинтересованных в успехе ИТ-решения профессионалов.

В этом интервью руководитель отдела тестирования делится своим опытом работы с выделенными командами, а также в чём преимущества такой модели в a1qa.

Применяем гибкие методологии

Сегодня всё больше компаний внедряют Agile для оптимизации рабочих процессов. В 2019 году ScrumTrek провела исследование использования гибких методов в управлении среди 1500 представителей малого, среднего и крупного бизнеса.

Опрос показал, что такие подходы чаще всего применяются в ИТ и финансовой сфере.

agile

Источник: ScrumTrek

Также результаты опроса зафиксировали, что по сравнению с водопадной моделью, после внедрения Agile скорость поставки продуктов увеличивается в среднем на 75%.

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

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

Когда нужен SAFe?

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

Применяя принципы Scaled Agile Framework, компания развивается быстрее и благодаря бережливому и гибкому подходу к разработке ПО, и из-за системного мышления. Иными словами, SAFe затрагивает не только руководство и менеджеров, но и всех остальных сотрудников, и рассматривает проблему как общую.

Согласно опросу ScrumTrek, компании всё чаще прибегают к SAFe для масштабных трансформаций рабочих процессов.

Если в 2018 году рост использования подходов SAFe и LeSS был практически одинаковым (11-12%), то в 2019 произошёл сильный скачок популярности SAFe (до 19%), в то время как использование LeSS уменьшилось до 10,3%.

safe

Источник: ScrumTrek

Используем практики DevOps

Компании, которые переходят на DevOps, получают ряд преимуществ, таких как высокое качество ПО, увеличение производительности выполнения задач и сокращение time to market. Ведь ключевыми целями данного подхода являются улучшение управления конфигурацией, уменьшение затрат и расширение автоматизированных процессов.

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

  1. Непрерывная интеграция (CI), которая помогает регулярно обновлять базы исходного кода, в некоторых случаях – несколько раз в день. На данном этапе QA-специалисты проводят модульное и интеграционное тестирование.
  2. Непрерывная доставка (CD) обеспечивает развёртывание кода после добавления изменений и может выполняться автоматически, после чего с помощью end-to-end тестов инженеры проверяют качество новой функциональности.
  3. Автоматизированное тестирование – это ядро CT. По сравнению с трудо- и времязатратным ручным тестированием, автоматизация ускоряет процессы и позволяет инженерам по контролю качества находить критические ошибки на ранних стадиях.

Параллельные запуски автотестов сокращают время выполнения тестирования и позволяют получить отчёт о качестве за считанные минуты.

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

Используя эти сэкономленные часы, QA-команда сможет сконцентрироваться на исследовательском и ad hoc-тестировании. Таким образом, время, затраченное на весь цикл разработки ПО, уменьшается.

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

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

Почему так важно внедрять непрерывное тестирование именно сейчас? CT помогает:

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

Shift-left или непрерывное тестирование?

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

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

Отличие shift-left и непрерывного тестирования в том, что первое ориентировано на начальные этапы жизненного цикла разработки программного обеспечения, такие как проектирование и анализ требований. Непрерывное тестирование может проводиться на любой стадии.

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

Чтобы оставаться конкурентоспособными на рынке ПО в неопределённые времена, важно сосредоточиться на сокращении time to market. Сэкономить время поможет внедрение гибких методологий, практик DevOps, а также оптимизация рабочих процессов.

Остались вопросы? Свяжитесь с нами для получения консультации от QA-экспертов о том, как сделать это качественно и в сжатые сроки.

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