Разделы портала

Онлайн-тренинги

.
Тестирование SAP: особенности и инструменты
19.09.2018 14:52

В трансляцию блогов регулярно добавляются новые блоги. Их количество уже давно перевалило за отметку 100. Ну а мы продолжаем знакомить Вас с новыми блогами.

Блог компании «Аплана» — http://aplana.ru/infocenter/corpblog

Немного о нас:

«Аплана» — лидирующий поставщик услуг тестирования и обеспечения качества информационных систем, а также управления жизненным циклом приложений. Компания на рынке уже 17 лет, в штате более 700 специалистов, общее количество проектов превысило 1500.

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

Публикуем одну из первых статей блога.

Оригинальная публикация: http://aplana.ru/infocenter/corpblog/testirovaniesap

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

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

Система управления каждой второй российской компании основывается на решениях SAP, а значит — она занимает более половины всего российского рынка, опередив «1С». В 2017 году выручка SAP в России составила 468,4 млн евро, что на 32% больше, чем годом ранее. Эксперты предсказывают дальнейший рост интереса к продуктам вендора, для многих они стали корпоративным стандартом.

Предпосылки для тестирования SAP

Тестирование — важный этап обеспечения качества ПО, направленный на детальное исследование программного кода и выявление ошибок в работе системы. Одна из ее главных целей — проверка соответствия работоспособности системы в целом или отдельных модулей ожиданиям заказчика. Тестирование SAP требуется в трех случаях: когда система только внедряется и нужно снизить возможные риски, когда система установлена, работает, но не без проблем, а также при модификации модулей SAP.

Как правило, пользователи SAP — крупные компании с внушительными оборотами. Потери, которые может понести бизнес в случае неправильной работы ПО, более, чем значительны. Нестабильность в работе SAP-систем, любое нестандартное поведение обязательно отразятся на бизнесе. Цена ошибки в этом случае очень высока: всего один час отказа информационной системы приводит к потерям до 400.000 долларов. Чтобы оценить масштаб возможного ущерба, достаточно представить, что из-за проблем в системе среднестатистического банка с филиалами в 60 городах России происходит задержка в проведении финансовых операций на 30-40 секунд.

Есть и реальные кейсы. Например, в 2003 году компания «Утконос» силами штатных сотрудников и нескольких программистов-фрилансеров внедрила SAP R/3. В системе часто случались сбои: заказы путались и приходили не туда. В 2013 году «Утконос» проводила обновление SAP, но, из-за возникших трудностей, интернет-гипермаркету пришлось на девять дней остановить доставку продуктов. По подсчетам специалистов, такой простой мог привести к потере около 10 млн долларов, не говоря уже о серьезном ударе по репутации. После вынужденного перезапуска потребовалось время, чтобы снова выйти на прежние обороты и вернуть лояльность клиентов.

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

При работе с SAP важно помнить о нескольких моментах:

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

Особенности тестирования SAP-систем

1. SAP не user friendly

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

Чтобы помочь своим пользователям, SAP создали бесплатную платформу массовых корпоративных онлайн-курсов openSAP и облачную платформу SAP Learning Hub с доступом ко множеству обучающих материалов и виртуальным учебным комнатам (с бесплатной пробной версией). Для более глубокого погружения можно купить учебный курс по отдельным решениям SAP из каталога SAP Education, а, чтобы улучшить навыки работы с системой или расширить знания в соответствующей области, — пройти сертификацию SAP.Это работает не всегда, ведь в каждой компании и сфере есть специфика.

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

2. У SAP сложная архитектура

SAP служит для автоматизации и управления такими внутренними процессами предприятия, как: бухгалтерский учет, торговля, производство, финансы, управление персоналом, управление складами и т. д. Каждый такой внутренний процесс представляется как отдельный модуль. Самые популярные из них: SAP ERP (Enterprise Resource Planning) — планирование ресурсов предприятия, SAP CRM (Customer Relationship Management) — управление взаимоотношениями с клиентами, SAP HCM (Human Capital Management) — управление человеческим капиталом, SAP SRM (Supplier Relationship Management) — управление взаимоотношениями с поставщиками, SAP RE-FX (Flexible Real Estate Management) — управление недвижимостью, SAP EWM (Extended Warehouse Management) — складами и пр. В настоящее время SAP — это более трехсот программных продуктов. Консультанты SAP обычно специализируются на одном-двух модулях, найти тех, кто знает больше, невозможно. Компания SAP предлагает также комплексные решения для всех бизнес-процессов во всех отраслях, например, закупки и сети, привлечение клиентов и коммерция, аналитика, финансы, управление персоналом и другое.

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

Задача инженеров по тестированию — провести эффективное тестирование программных модификаций любого модуля SAP или целого комплекса вне зависимости от бизнес-специфики, добиться стабильности и быстроты работы системы. Для этого тестировщики должны понимать инфраструктуру полностью: как это работает с точки зрения самой архитектуры SAP (мануальных, административных настроек) и с точки зрения бизнеса.

  1. Коммерческие тайны. Тестирование подразумевает изучение инженерами бизнес-процессов заказчика. Например, чтобы протестировать создание счет-фактуры, тестировщик должен знать, за что отвечает каждое поле. Без этого понимания он не сможет написать хороший тестовый сценарий и провести проверку. Погружение в бизнес-область обычно затрудняет наличие коммерческих тайн или не желание владельцев компаний посвящать во «внутреннюю кухню» сторонних специалистов. В этом случае приходится подключать аналитиков, которые общаются с консультантами от заказчика и получают нужную информацию. Хотя и здесь возникают сложности — клиенты могут попросить не отвлекать сотрудников от своих прямых обязанностей. Тогда нужно самостоятельно проанализировать ситуацию, изучить доступные документы, чтобы ни у кого не отнимать время
  2. Собственная система управления тестированием. В SAP предусмотрена собственная система для управления всеми решениями и модулями — Solution Manager (SAP SM). С помощью Solution Manager происходит внедрение новых разработок, управление жизненным циклом приложения и запуск решений SAP.
  3. Интеграция. Еще одна особенность тестирования SAP — неоднородность IT-ландшафта заказчика. Как правило, если в компании есть SAP, то есть и другие системы. В этом случае инженеры тестируют все внешние системы и их интеграцию с SAP. Это могут быть кассы, магазины, pos-терминалы, web-порталы и пр.

  4. Тестирование с нуля. Иногда проектной команде приходится выстраивать процесс тестирования с нуля. Это случается, когда компания работает с SAP, но тестирование не выделено у нее как отдельный процесс — разработчикам доверились полностью и не обратились к независимым тестировщикам. В результате процесс получается не совсем прозрачный и возникают проблемы. Обычно разработчики концентрируют усилия на обеспечении стабильной работы создаваемой или внедряемой системы, поэтому не так объективно оценивают качество кода. Даже когда разработчики находят баги, в их интересах скрыть находки. Так заказчик получает в пользование систему с ошибками, которые проявятся в любой момент.

    Команда сторонних тестировщиков нужна, чтобы получить объективное представление об основных системных ошибках и принять необходимые меры по совершенствованию корпоративного ПО. Ключевая цель инженеров по тестированию — обеспечить наименьшее количество дефектов в продуктиве.

Виды и инструменты тестирования SAP-систем

На проектах SAP доступны стандартные виды тестирования: ручное (РФТ), автоматизированное (АФТ), нагрузочное (НТ). Узнать о них подробнее можно из статьи «Введение в тестирование: F.A.Q. новичка».

На сегодняшний день в «Аплане» семь активных проектов по тестированию SAP в трех направлениях (НТ, РТ И АФТ), пять из которых – проекты «СберТеха». Наши специалисты проводили тестирование SAP для X5 Retail Group, TELE2, METRO, «Мегафон», «Сибур», «Юлмарт» и других компаний. Всего на проектах SAP задействовано более восьмидесяти инженеров в трех городах: Москва, Санкт-Петербург и Нижний Новгород.

Нагрузочное тестирование

Один из наиболее популярных инструментов для автоматизированного нагрузочного тестирования SAP — HP LoadRunner. Эта утилита состоит из следующих приложений: Virtual User Generator (для разработки нагрузочных скриптов), Load Generator (для генерации виртуальных пользователей), Controller (для разработки и запуска сценариев нагрузки) и Analysis (для анализа результатов нагрузочного тестирования).

Наши инженеры по тестированию использовали HP LoadRunner для проверки надежности SAP-систем при работе над нагрузкой для крупнейшего нефтехимического холдинга России, ведущего мобильного оператора и банка с самой широкой сетью подразделений. Результаты нагрузочного тестирования позволяют оперативно определить максимальную производительность внедряемых или используемых SAP-систем, выявить и устранить проблемы при длительной работе под стандартной нагрузкой, а также при восстановлении систем после пиковой нагрузки.

Для интеграционного нагрузочного тестирования специалисты «Апланы» часто используют собственные инструменты SAP или Apache JMeter. Утилита JMeter разрабатывалась как средство тестирования web-приложений, но с помощью нее можно проводить нагрузочные тесты для JDBC-соединений, FTP, LDAP, SOAP, JMS, POP3, IMAP, HTTP и TCP.

Утилиту Apache JMeter в сочетании с JIRA Zephyr и Confluence наши тестировщики использовали на проекте по функциональному и интеграционному нагрузочному тестированию SAP в крупнейшем российском частном интернет-холдинге, специализирующимся на сегменте электронной коммерции.

Кроме того, для нагрузочного тестирования используются IBM Performance Tester, MS Visual Studio Ultimate и пр.

Ручное функциональное тестирование

Для ручного тестирования SAP-систем инженеры «Апланы» считают эффективными такие инструменты, как HP ALM, JIRA Zephyr, Confluence, SAP Solution Manager и другие. В основном для функционального тестирования SAP используются именно ручные тесты, но на крупных и долгосрочных проектах удобнее использовать автоматизированные. С помощью авто-тестов можно без потери качества протестировать тот же объем, но за меньшую стоимость и меньшее время.

Автоматизированное функциональное тестирование

Популярный инструмент для автоматизирования SAP — их собственный фреймворк — Component based Test Automation (CBTA), который интегрирован вместе с системой управления тестированием в Solution Manager (SM). Узнать подробнее о CBTA и других инструментах можно будет в следующем материале — «Автоматизированное тестирование SAP».

Благодарим за помощь в подготовке материала директора проектов компании «Аплана» —Константина Синанова, старшего инженера-тестировщика — Никиту Потапова и заместителя руководителя направления тестирования — Николая Стрельцова.

Обсудить в форуме