Стратегия тестирования в проектах имплементации ERP-систем

Корпоративные информационные системы и учетная политика организации при применении автоматизированной формы ведения учета

Аннотация: в статье описываются категории и виды тестирования, применимые в проектах внедрения корпоративных информационных систем. Показано, что в ERP-проектах чаще всего используют модульный, интеграционный, непрерывный виды тестирований, а также нагрузочное и регрессионное испытания. Описываются параметры стратегии тестирования, заданные видами и сценариями тестирования, критериями успеха испытаний, а также процентов вовлечения пользователей.
СкачатьPDF (статья), PDF (выпуск №3).
Ключевые слова: стратегия тестирования программного обеспечения, исследование стратегий тестирования программного обеспечения, анализ стратегий тестирования программного обеспечения, план и стратегия тестирования, нагрузочное тестирование программного обеспечения, регрессионное тестирование программного обеспечения, модели разработки и тестирования, V-модель разработки через тестирование, модульное тестирование программного обеспечения, интеграционное тестирование, тестирование программного обеспечения, E2E-тестирование, user acceptance test, пользовательское приемочное тестирование, unit тестирование, юнит тест, end to end процесс, сквозное тестирование, UAT тестирование.

Введение

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

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

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

Цели и задачи

Целью статьи состоит в анализе и определении области применения способов тестирования крупных программных продуктов, реализуемых в проектах внедрения ERP-систем. Это позволит реализовать проекты более эффективно и в заданный срок. Мы достигнем эту цель путем реализации следующих задач:

  • анализ способов тестирования;
  • V-модель разработки через тестирование;
  • документальное сопровождение тестирования;
  • формирование стратегии тестирования.

1. Категории тестирования

Начнем с основополагающего термина: под тестированием понимается исследование разработанного программного продукта для проверки соответствия его реального и ожидаемого поведения, используя набор сценариев тестирования и тестовых данных [1]. Существует большое число различных испытаний, выделяют категории функционального, нефункционального и связанных с изменениями тестирований (рис. 1). Категория функционального тестирования направлена на исследование корректности работы заданной функции/логики разработанной программы, например: возможность выбора и отображение данных на экране, корректность загрузки информации из внешнего файла и др.

Категории тестирования

Рис. 1. Категории тестирования

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

Типичные виды испытаний для ERP-проекта

Рис. 2. Типичные виды испытаний для ERP-проекта

2. Описание тестирования типового проекта внедрения ERP-системы

Типовой проект внедрения ERP-системы включает практически все категории тестирования, начиная от функциональных, заканчивая тем, что связаны с изменениями [2]. И это действительно оправданно, так как каждая категория испытаний, как мы с вами увидели ранее, ориентирован на проверку совершенно различного качества программной системы. Начнем с функциональных видов тестирования. Разработка каждой программы в ERP-системе завершается проведением функционально-модульного испытания, затрагивающего проверку реализованной функции системы. Данный вид испытаний ведется преимущественно силами техспециалистов и разработчика и чаще всего не требует подготовки сценариев тестирования.

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

И заключительный вид функциональных испытаний называется непрерывным тестированием, что также часто именуют как E2E-тестирование, т.е. тестирование от начала бизнес-процесса до его логического завершения. Фактически E2E-испытание представляет собой совокупность системного и интеграционного видов тестирования. В практике внедрения ERP-систем этот вид испытаний ведется силами ключевых и конечных пользователей на основе сценариев соответствующего тестирования. Достаточно часто E2E-тестирование называют приемочным (User Acceptance Test), хотя немного неверно.

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

3. Последовательность действий при испытании программной системы

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

  • формирование перечня сценариев тестирования;
  • определение шагов, входных и выходных данных для каждого сценария;
  • настройка программных средств для ведения сценариев тестирования, например: HP ALM, MS Excel и др.;
  • идентификация и подготовка тестовых данных;
  • задание ответственных за шаги тестирования и плановых дат выполнения;
  • выполнение тестов и отслеживание их статуса.

V-модель разработки через тестирование

Рис. 3. V-модель разработки через тестирование

Суммируем типовые виды функциональных испытаний в проектах внедрения корпоративных информационных систем. Для этого сопоставим виды требований и тестов, позволяющих убедиться в том, что требования действительно реализованы. В итоге получаем V-модель разработки через тестирование, наглядно демонстрирующую сложности, связанные с реализацией программных систем (рис. 3). Кроме функциональных категории тестирования, в ERP-проектах также нередко проводят нефункциональные испытания и испытания, связанные с изменениями [3]. Для чего применяются нагрузочное тестирование и регрессионное. Первый вид тестирования позволят проверить производительность системы в случае обработки критического объема входящих транзакционных данных, второй – убедиться, что текущие разработки не повлияли на существующие подсистемы ИТ-архитектуры. Обычно и нагрузочные, и регрессионные испытания проводятся в автоматизированном режиме с точечным вовлечение технических специалистов.

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

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

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

Заключение

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

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

Литература 

  1. Гвоздева Т.В., Баллод Б.А. Проектирование информационных систем: учебное пособие. – Ростов н/Д.: Феникс, 2009. – 508 с.
  2. Степанов Д.Ю. Анализ, проектирование и разработка корпоративных информационных систем: уровень приложений / МГТУ МИРЭА. - М., 2017. – URL: https://stepanovd.com/science/12-erp/52-erp-8-applicationlevel.
  3. Степанов Д.Ю. Проблемы внедрения корпоративных информационных систем: уровень приложений // Менеджмент сегодня. – 2015. – т.87, №3. – c.180-191. – URL: https://stepanovd.com/science/30-article-2015-1-erpappl.

Выходные данные статьи

Терентьев И.М. Стратегия тестирования в проектах имплементации ERP-систем. – 2018. – №3 – С. 39-45. – URL: https://corpinfosys.ru/archive/issue-3/141-2018-3-testingstrategy.

Стратегия тестирования в проектах имплементации ERP-систем

Об авторе

Терентьев Илья Михайлович Терентьев Илья Михайлович – эксперт по системам управления складами. Сертифицированный консультант SAP по модулю управление материальными потоками. Принимал участие более чем в 10 проектах имплементации корпоративных систем. Имеет обширный опыт внедрения складских систем в проектах «с нуля», а также тиражирования. Регулярно издает статьи в электронно-сетевом журнале «САПер». Электронный адрес: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра..

Статьи выпуска №3

  1. Разработка проекта системы управления цепями поставок (часть 1);
  2. Стратегия тестирования в проектах имплементации ERP-систем;
  3. Управление ожиданиями в проектах имплементации ERP-систем;
  4. Стратегия ролей и полномочий в ERP-проектах;
  5. Стратегия обучения пользователей в проектах внедрения ERP-систем.