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

Что такое shift-left тестирование, и когда можно его применять?

Shift-left тестирование переводится на русский язык громоздким словосочетанием «сдвиг процессов тестирования влево». Такой подход к работе предполагает, что тестирование начинается не в тот момент, когда разработчики уже написали продукт, а еще на этапах формулировки бизнес-требований, аналитики и разработки.

Зачем на этих этапах нужны тестировщики? Как правило, команда тестирования — это самые большие эксперты во всем продукте, связующее звено между бизнесом и разработкой. Они знают продукт от «А» до «Я» и понимают, как новая логика может его сломать. Вовлечение команды тестирования на ранних стадиях разработки позволяет находить ошибки как можно раньше и исправлять их с меньшими затратами ресурсов. Участие в процессах разработки продукта и формулировки бизнес-требований также будет полезным и для тестировщика — он получит необходимый контекст, который поможет ему грамотно протестировать финальный продукт: составить план тестирования, оценить необходимые объемы и тестовую модель.

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

Классическое тестирование в ПСБ

Процесс тестирования в ПСБ построен по стандартной схеме, которая включает в себя пять этапов тестирования:

  • На стенде разработки пишется и отлаживается программный код, а также проводится юнит-тестирование;

  • На стенде тестирования проводится функциональное тестирование и тестирование интеграций;

  • Стенд «препрод» предназначен для регрессионного тестирования и проверки работоспособности программы после внесения изменений;

  • Наконец, стенд «прод» — основной стенд, которым пользуются конечные пользователи;

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

Помимо тестирования при разработке важные системы ПСБ ежегодно проходят DRP-тестирование (disaster recovery program). Это тестирование имитирует падение отдельных элементов системы в результате серьезного инцидента, например, отказа отдельных серверов или дата-центров, нарушения контура безопасности. Таким образом проверяется восстанавливающая способность критически важных систем банка.

Инструментарий тестировщика в ПСБ включает в себя стандартный набор: Postman для тестирования API, системы управления тестированием TestRail и TestIT. Много времени в ПСБ уделяется тест-дизайну.

Shift-left тестирование в ПСБ

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

Монолитные легаси-приложения очень сложно покрыть тестами целиком, но при разработке нового продукта можно начать тестирование сразу, с использованием методологии shift-left. В ПСБ на стадии декомпозиции системы для среднего и малого бизнеса команда тестирования смогла вовлечься в процесс разработки и сместить значительную часть проверок «влево», из этапа тестирования в этап разработки. Благодаря этому, скорость разработки выросла, а количество ошибок уменьшилось.

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

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

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

Заключение

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

State transition — техника, используемая в тестировании для проверки системы при изменении ее состояния. Благодаря этому методу можно выявить ошибки, возникающие в процессе перехода системы из одного состояния в другое.

Decision table — таблица, в которой строки соответствуют входным данным, а столбцы содержат их возможные значения. С ее помощью можно проверить все возможные комбинации данных и результатов, увеличив покрытие тестирования.

Комментарии (4)


  1. 0Bannon
    08.09.2023 09:39

    Шифт - смена, лефт - остался. ) т.е. остался после работы, потестировал всё )). Замечательная методология.)


    1. Yusmit
      08.09.2023 09:39

      Это шифтрайт) Срок вправо уходит


  1. sungam3r
    08.09.2023 09:39

    Как правило, команда тестирования — это самые большие эксперты во всем продукте, связующее звено между бизнесом и разработкой.

    В это слабо верится, исходя из опыта работы в банковской сфере.


  1. sungam3r
    08.09.2023 09:39

    На стенде тестирования проводится функциональное тестирование и тестирование интеграций;

    Он один на все команды или есть командные тестовые контуры? В первом случае когда одна из команд тестирует свой код, то все остальные волей-неволей тоже его тестируют, нарываясь на непонятные чужие баги?

    Какое отношение имеют к основному тексту сноски State transition и Decision table в заключении?