Тестирование программного решения в проектах внедрения ERP-систем

Все этапы проекта внедрения 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-систем. — 2018. — №3 — С. 39–45. — URL:  https://corpinfosys.ru/archive/issue-3/141–2018–3-testingstrategy.

Habrahabr.ru прочитано 2472 раза