Автоматизированное тестирование SAP: опыт «Апланы»
Наши инженеры считают, что инструменты тестирования SAP должны быть доступными, удобными, стабильными, простым в освоении для тестировщиков, а главное — легко встраиваемыми в любой процесс. Выбор инструментов обязательно должен учитывать пожелания заказчика и особенности его IT-ландшафта.
ERP-системы, вроде SAP, могут объединять подразделения компании, обеспечивая автоматизацию планирования, учета и анализа всех бизнес-процессов. Они обрабатывают большие массивы данных, поэтому часто подвергаются перегрузкам, а с выходом обновлений в них могут появляться ошибки, сбиваться настройки и т.д. С целью выявления проблем в работоспособности SAP и его модулей проводится тестирование.
Автоматизированное тестирование SAP
В прошлой статье мы уже писали, что в основном для функционального тестирования SAP используются ручные тесты, однако, в сложных ситуациях, на крупных и долгосрочных проектах выгоднее использовать автоматизированные тесты. Если тестовая модель постоянно растет, наступает момент, когда ее ручное прохождение начинает обходиться заказчику дорого и занимает много времени. С помощью автоматизации тестирования можно без потери качества протестировать тот же объем, но быстрее и за меньшую стоимость. Ее успех обеспечивается правильным выбором инструмента тестирования и инфраструктуры автоматизации.
Процесс автоматизации тестирования состоит из следующих этапов:
- Анализ бизнес-процессов компании-заказчика, выявление основных из них
- Исследовательская работа (сбор и анализ документации, общение с ключевыми пользователями, аналитиками и консультантами)
- Определение стратегии тестирования
- Составление матрицы покрытия, формирование тест-плана, написание ручных тестовых сценариев
- Разработка автоматизированных тестов
Для автоматизированного тестирования SAP используют такие решения, как SAP CBTA, SAP ECATT, Unified Functional Testing (UFT), IBM Rational Functional Tester, SmartBear TestComplete и другие. Все перечисленные инструменты сотрудники «IBS AppLine» успешно используют в своих проектах, а если их возможностей становится недостаточно, разрабатывают собственные расширения.
В этом материале мы расскажем о средствах автоматизации SAP-систем, которые наши инженеры по тестированию используют чаще всего.
SAP CBTA (Component-based Test Automation)
Наиболее популярным инструментом для автоматизации тестирования SAP-приложений является SAP CBTA. SAP CBTA – это компонентно-основанный или компонентно-ориентированный инструмент автоматизации тестирования, интегрированный в SAP Solution Manager, и предназначенный для автоматизации E2E тестирования.
Создание автоматизированных тестов происходит с помощью мастера записи действий бизнес-пользователя (Record & Playback). Благодаря этому, инженеру-тестировщику не требуется знания языков программирования.
Особенности и возможности CBTA:
- Лаконичный мастер создания/записи тестов с контролем каждого записываемого шага;
- Библиотека готовых компонентов, поставляемых SAP, с помощью которых разрабатываются автоматизированные тесты,
- Относительно легкое сопровождение и изменение разработанных автоматизированных тестов;
- Возможность управления тестовыми данными и создание тестовых конфигураций для последующего E2E тестирования бизнес-процессов;
- Возможность повторного использования разработанных функций;
- Возможность подключения всех созданных тестов к BPCA и запуска тестов согласно внесенным в систему изменениям.
Технические ограничения CBTA:
- Для web-интерфейсов возможности CBTA ограничены: запись работает не всегда, записываются не все действий, распознаются не все веб-элементы;
- Для работы с элементами SAPGUITREE необходимо разрабатывать дополнительные функции.
В автоматизации SAP большинство элементарных операций покрывается поставляемыми компонентами, но бывают ситуации, когда этого мало. Расширить функциональность CBTA можно путем написания собственных библиотек на языке программирования VBScript.
Автоматизированные тесты, написанные на CBTA, могут быть легко интегрированы в методологию CI/CD (Continuous Integration и Continuous Delivery). Запуск автоматизированных тестов производится с помощью встроенного в SAP Solution Manager планировщика, а составление тестового покрытия – с помощью встроенных инструментов SAP BPCA (Business Process Change Analyzer) и SAP TBOM (Technical Bill of Material). SAP BPCA и SAP TBOM анализируют влияние переносимых изменений на бизнес-процессы. Изменения сравниваются со списком объектов еще неизмененной системы (функциональные модули, таблицы, элементы пользовательского интерфейса и т.д.), на основании полученной информации автоматически составляется список автоматизированных тестов для выполнения.
Unified Functional Testing (UFT)
UFT — один из ведущих инструментов автоматизации функционального тестирования, флагманский продукт компании MicroFocus в своей линейке. Использует VBScript (в новых версиях поддерживаются и другие), есть репозиторий объектов и средство хранения данных, возможна интеграция с ALM (хранятся все артефакты тестирования, сами тесты, библиотеки, заведенные дефекты и пр.), поддерживаются многие технологии — не только SAP, но и другие. Основным минусом UFT является стоимость лицензий и отсутствие интеграции с SAP Solution Manager.
Автоматизация SAP с помощью Java
Для автоматизации тестирования SAP можно использовать язык программирования Java и Java-библиотеку Jacob. Среди плюсов — возможность разработать более гибкий фреймворк для автоматизации и применить популярный подход BDD (behavior-driven development). Инструмент Selenium отлично подойдет для тестирования интеграций и веб-порталов SAP. Минусами подхода являются повышенные требования к квалификации команды тестировщиков, увеличенное время разработки автоматизированных тестов по сравнению с инструментами Record & Playback и отсутствие интеграции с SAP Solution Manager.
Сравнительная таблица инструментов
Критерий | Инструменты | ||
CBTA | UFT | Java + Jacob | |
Сложность настройки | Очень высокая | Низкая | Высокая |
Поддерживаемые технологии тестируемого приложения | SAP, WEB | SAP, Java, .Net, WEB, REST и другие | SAP, при подключении библиотеки Selenium - WEB |
Поддерживаемые языки программирования | VBScript | VBScript (в новых версиях и другие) | Java |
Наличие инструмента Record & Playback | Да, встроенный | Да, встроенный | Отдельное бесплатное приложение SAP Scripting Tracker |
Трудоемкость разработки автоматизированных тестов | Компонентный подход и возможность записи практически исключает необходимость программирования и сокращает трудозатраты на доработку | Встроенный инструмент записи не всегда корректно записывает действия. Для большого количества тестов необходима разработка удобного фреймворка | Объектно – ориентированный язык позволяет создавать удобные фреймворки, повышающие переиспользование готовых модулей. Если не планируется разработка большого количества тестов, то можно воспользоваться инструментами записи действий SAP Scripting Tracker |
Интеграция с Solman | Да, встроенная | Нет | Нет |
Порог вхождения | Низкий | Средний | Высокий |
Лицензия | Входит в поставку SAP | Платная | Open source |
Благодарим за помощь в подготовке материала заместителя руководителя направления тестирования — Николая Стрельцова, а также старших инженеров-тестировщиков «IBS AppLine» — Владислава Чижова и Никиту Потапова.