Все этапы проекта внедрения ERP-системы важны одинаково и уникальны по своему. Не исключением является фаза тестирования, которая в зависимости от методологии может называться по-разному: например опытно-промышленной эксплуатацией или моделированием. Наименование здесь не столь важно, важно содержание: в контексте этой фазы ведется испытание разработанной информационной системы. Недотестированная система послужит плохую службу и успешный продуктивный запуск может не произойти.
Существуют классические способы тестирования, причем их достаточно много и проводятся они совершенно разными сотрудниками. Наряду с множеством методов тестирования программных продуктов часто возникает непонимание целесообразности их использования. Ведь если попытаться применить их все, то продолжительность проекта возрастет в разы. А этого ли ждет заказчик? Нет, для него важно качество продукта, а не число испытаний.
Уже на этапе старта проекта необходимо определиться с количеством проводимых тестирований и внести эту информацию в план проекта, ведь это те трудозатраты, которые мы должны учитывать в бюджете проекта и соответствующем ресурсном плане. Поэтому важность хорошо продуманной стратегии тестирования, обеспечивающей минимально достаточный для запуска системы объем испытаний, не требует доказательства. Но все-таки в этой статье сегодня мы это докажем.
Цели и задачи
Целью статьи состоит в анализе и определении области применения способов тестирования крупных программных продуктов, реализуемых в проектах внедрения ERP-систем. Это позволит реализовать проекты более эффективно и в заданный срок. Мы достигнем эту цель путем реализации следующих задач:
анализ способов тестирования;
V-модель разработки через тестирование;
документальное сопровождение тестирования;
формирование стратегии тестирования.
1. Категории тестирования
Начнем с основополагающего термина: под тестированием понимается исследование разработанного программного продукта для проверки соответствия его реального и ожидаемого поведения, используя набор сценариев тестирования и тестовых данных [1]. Существует большое число различных испытаний, выделяют категории функционального, нефункционального и связанных с изменениями тестирований (рис. 1). Категория функционального тестирования направлена на исследование корректности работы заданной функции/логики разработанной программы, например: возможность выбора и отображение данных на экране, корректность загрузки информации из внешнего файла и др.
Нефункциональные испытания ориентированы не столько на логику работы функции, сколько на ее надежность, удобство, скорость обработки, расширяемость и др. В отличие от предыдущей категории тестирования текущая ведется исключительно силами технических специалистов, но не конечных пользователей системы. Следующая категория тестирования связана с изменениями, суть которой заключается в проверки того, что новоразработанная система не оказывает негативного влияния на уже существующие программы и системы. Каждая из категория тестирования представима набором видов испытаний, давайте посмотрим на них более детально (рис. 2).
2. Описание тестирования типового проекта внедрения ERP-системы
Типовой проект внедрения ERP-системы включает практически все категории тестирования, начиная от функциональных, заканчивая тем, что связаны с изменениями [2]. И это действительно оправданно, так как каждая категория испытаний, как мы с вами увидели ранее, ориентирован на проверку совершенно различного качества программной системы. Начнем с функциональных видов тестирования. Разработка каждой программы в ERP-системе завершается проведением функционально-модульного испытания, затрагивающего проверку реализованной функции системы. Данный вид испытаний ведется преимущественно силами техспециалистов и разработчика и чаще всего не требует подготовки сценариев тестирования.
Модульное тестирование, проведенное в масштабе всей информационной системы, задает системное испытание, где акцент делается на ширину охвата. Тест осуществляется всеми техническими специалистами и затрагивает процессы логистики, финансов и кадров, т.е. практически всей внутрихозяйственной деятельности организации. Интеграционное тестирование, в отличие от системного, позволяет убедиться в работоспособности интеграционных моментов работы систем. Несмотря на то, что оба вида испытаний требуют подготовки сценариев тестирования, их содержание отличается по определению.
И заключительный вид функциональных испытаний называется непрерывным тестированием, что также часто именуют как E2E-тестирование, т.е. тестирование от начала бизнес-процесса до его логического завершения. Фактически E2E-испытание представляет собой совокупность системного и интеграционного видов тестирования. В практике внедрения ERP-систем этот вид испытаний ведется силами ключевых и конечных пользователей на основе сценариев соответствующего тестирования. Достаточно часто E2E-тестирование называют приемочным (User Acceptance Test), хотя немного неверно.
Приемочное тестирование – это испытание, направленное на проверку системы, форма испытания зависит от содержания проекта, вернее программной разработки. Поэтому, когда имплементируется ERP-решение, приемочный тест ведется в форме непрерывного тестирования. Если мы говорим о подпроекте по разработке межсистемных интерфейсов, то речь идет о приемке через интеграционное тестирование и т.д. Как мы видим, конечные и ключевые пользователи принимают участие только в приемочном тестировании. Обычно пользователи хотят протестировать все возможные сценарии, что физически невозможно. Поэтому число сценариев жестко ограничивают по числу. В случае проведения приемки через непрерывное тестирование, сценарии разделяют на подтипы: непосредственно E2E-сценарии, охватывающие несколько смежных областей, и изолированные, относящиеся только к заданной функциональной группе.
3. Последовательность действий при испытании программной системы
Рассматривая функциональные виды тестирований, требующие подготовки тестовых сценариев, можно описать следующую последовательность действия по испытанию разрабатываемой программной системы:
формирование перечня сценариев тестирования;
определение шагов, входных и выходных данных для каждого сценария;
настройка программных средств для ведения сценариев тестирования, например: HP ALM, MS Excel и др.;
идентификация и подготовка тестовых данных;
задание ответственных за шаги тестирования и плановых дат выполнения;
выполнение тестов и отслеживание их статуса.
Суммируем типовые виды функциональных испытаний в проектах внедрения корпоративных информационных систем. Для этого сопоставим виды требований и тестов, позволяющих убедиться в том, что требования действительно реализованы. В итоге получаем V-модель разработки через тестирование, наглядно демонстрирующую сложности, связанные с реализацией программных систем (рис. 3). Кроме функциональных категории тестирования, в ERP-проектах также нередко проводят нефункциональные испытания и испытания, связанные с изменениями [3]. Для чего применяются нагрузочное тестирование и регрессионное. Первый вид тестирования позволят проверить производительность системы в случае обработки критического объема входящих транзакционных данных, второй – убедиться, что текущие разработки не повлияли на существующие подсистемы ИТ-архитектуры. Обычно и нагрузочные, и регрессионные испытания проводятся в автоматизированном режиме с точечным вовлечение технических специалистов ...
Литературный источник:
Терентьев И.М. Стратегия тестирования в проектах имплементации ERP-систем. – 2018. – №3 – С. 39-45. – URL: https://corpinfosys.ru/archive/issue-3/141-2018-3-testingstrategy.