Automatyzacja testów integracyjnych w projektach migracji SAP Process Orchestration do SAP Cloud Platform Integration

mar 17, 2021 | SAP

Jednym z coraz częstszych zadań podejmowanych przez organizacje działające w środowisku SAP jest proces migracji z SAP Process Orchestration (SAP PO) do SAP Cloud Platform Integration (SAP CPI). Są to produkty tej samej klasy i realizujące podobne zadania, ale bazujące na różnych technologiach i o odmiennej architekturze. SAP CPI jest platformą integracyjną realizowaną w chmurze i stanowi w dużej części kontynuację szyny SAP PO. Klienci SAP coraz częściej decydują się na migrację swojego środowiska integracyjnego w kierunku chmury.

Projekt migracji oprogramowania klasy Middleware najczęściej jest projektem typowo technicznym. Zazwyczaj nie zakłada zmiany w obecnym funkcjonowaniu procesów i interfejsów. Poprawki i usprawnienia są ściśle kontrolowane i stanowią mniejszość prac. W związku z tym, firmy, które decydują się na takie wdrożenie muszą się zmierzyć ze specyficznymi wyzwaniami. Główne wyzwania towarzyszące migracji SAP PO do SAP CPI to:

  • Ograniczone zaangażowanie zasobów biznesowych firmy ze względu na projekt o charakterze czysto technicznym;
  • Ograniczone wsparcie i komunikacja partnerów ze względu na brak zmian poza środowiskiem SAP oraz brak zmian w interfejsach komunikujących firmę z partnerami;
  • Ograniczona możliwość wprowadzania usprawnień i poprawek w projekcie – głównym celem jest przeniesienie środowiska takiego, jakie jest;
  • Bardzo duży nacisk na testy nowego rozwiązania – wymaganiem jest identyczne działanie interfejsów na szynie SAP CPI jak poprzednio na szynie SAP PO.

Celem projektu jest uruchomienie takiego samego rozwiązania wykorzystującego jednak zupełnie nową architekturę służącą do komunikacji. Dlatego niezbędne jest zweryfikowanie poprawności działania każdego istniejącego interfejsu. Można, a nawet należy zdefiniować podzbiór krytycznych biznesowo komunikatów, które w trakcie trwania projektu weryfikowane są wielokrotnie, np. w ramach testów regresji. Nie wolno jednak wykluczyć z zakresu testów interfejsów o niższym priorytecie biznesowym, które powinny być przetestowane co najmniej jeden raz. Dla każdego testowanego interfejsu powinien powstać co najmniej jeden przypadek testowy weryfikujący przebieg pozytywny.

Rodzaj testów przeprowadzanych w projekcie

Z powyższego obrazu wyłania się charakter testów przeprowadzanych w projekcie migracji SAP PO do SAP CPI. Są to głównie testy integracyjne, skupiające się na porównywaniu wymienianych komunikatów i efektów komunikacji (dokumentów biznesowych) w SAP. Weryfikacja pełnych procesów biznesowych stanowi jedynie uzupełnienie zakresu prac. Jest realizowana w ramach testów regresji, w celu potwierdzenia poprawności działania krytycznych przebiegów biznesowych.

Testy integracyjne, oparte o weryfikację przekazywanych komunikatów wymagają wiedzy i kompetencji technicznych. Bez zastosowania odpowiednich narzędzi, są czasochłonne ze względu na konieczność manualnego porównania komunikatów oraz dokumentów utworzonych lub zmienionych w wyniku komunikacji. Do tego zadania konieczne jest zaangażowanie trudno dostępnych i ograniczonych czasowo specjalistów.

Poziom złożoności zagadnienia wzrasta, kiedy systemy zewnętrzne, z którymi należy zapewnić poprawność integracji, nie mają dostępnych środowisk testowych. W takim wypadku należy podjąć relatywnie trudne decyzje o zasymulowaniu środowiska testowego lub użycia ograniczonej funkcjonalności środowiska produkcyjnego do testów, bądź o rezygnacji z testów takiego interfejsu w ogóle. Każda z takich decyzji osobno wiąże się z kosztami i ryzykiem.

Z tych powodów kompleksowe przeprowadzenie testów integracyjnych w procesie migracji szyny danych może okazać się poważnym wyzwaniem.

Automatyzacja testów integracyjnych w SAP

W celu usprawnienia procesu testowania i ograniczenia kosztów testów integracyjnych z pomocą przychodzi Int4 IFTT – narzędzie automatyzujące testy integracyjne z systemami SAP.

Wykorzystując narzędzie Int4 IFTT projekty migracji szyny integracyjnej można przeprowadzić znacznie szybciej oraz spełniając wymagania ograniczonego zaangażowania części biznesowej organizacji. Po konfiguracji Int4 IFTT nie ma konieczności wykonywania manualnych testów integracyjnych dla żadnego ze skonfigurowanych w Int4 IFTT scenariuszy. Dzięki temu, zaangażowanie osób „biznesowych” organizacji w testy jest minimalne. Liczba przetestowanych komunikatów znacznie większa, a sam czas projektu ulega istotnemu skróceniu w porównaniu do wykonywania testów w sposób wyłącznie manualny.

Testy można przeprowadzić po konfiguracji narzędzia Int4 IFTT, którą wykonujemy osobno dla każdego interfejsu. W przypadku bardziej złożonych procesów istnieje możliwość wykorzystania skryptów eCATT w celu odwzorowania manualnej akcji użytkownika w systemie. Int4 IFTT umożliwia wykorzystanie komunikatów pochodzących z systemu źródłowego (np. produkcyjnego) i ponowne ich uruchomienie na środowisku testowym po migracji.

Wykorzystanie Int4 IFTT w projekcie migracji szyny integracyjnej możemy opisać w trzech krokach:

  1. Pobranie komunikatów z obecnego środowiska SAP PO. Komunikaty mogą zostać w szybki i łatwy sposób zgromadzone na podstawie archiwalnych wiadomości (wejściowych i wyjściowych) ze środowiska produkcyjnego SAP PO oraz dokumentów biznesowych (zamówień, faktur etc.) z systemu SAP ERP. Na podstawie tak zgromadzonych danych mamy kompletną informację jakie wiadomości i jakie dokumenty biznesowe powinny powstać po migracji do SAP CPI. Każdemu komunikatowi odpowiada pozytywny przypadek testowy, dzięki czemu w automatyczny sposób zostaje zdefiniowany pełen zakres testów do wykonania.
  2. Migracja do SAP CPI, w trakcie której następuje bieżące testowanie z wykorzystaniem przypadków testowych zdefiniowanych w punkcie 1. Int4 IFTT pozwala na wielokrotne powtarzanie raz pobranego komunikatu w dowolnym skonfigurowanym środowisku.
  3. Walidacja poprawności wiadomości. Int4 IFTT pokaże różnice w komunikatach i dokumentach powstałych po migracji do SAP CPI oraz pomoże zidentyfikować różnice/błędy w konfiguracji nowego środowiska (błędny URL, niedostateczna liczba odbiorców itd.). Raport z testów może zostać zaprezentowany w SAP GUI lub wysłany mailem. Dodatkowo w przypadku wystąpienia błędów może automatycznie zostać utworzone zgłoszenie w systemie SAP Solution Manager.

Do przeprowadzenia testów na nowym środowisku nie muszą być dostępne systemy dziedzinowe poza SAP i szyną integracyjną.

Proces realizacji testów z wykorzystaniem Int4 IFTT przedstawia poniższy rysunek:

Rys. 1. Proces realizacji testów z wykorzystaniem Int4 IFTT. Źródło: materiały Int4 IFTT

Testy po zakończeniu projektu – testy integracyjne jako Continuous testing w CI/CD

Po zakończeniu projektu migracji Int4 IFTT umożliwia bieżące testowanie całego środowiska przy pomocy skonfigurowanych wcześniej testów w celu wspierania ciągłego rozwoju integracji w firmie. Testy mogą być uruchamiane w tle, a ich wyniki przedstawiane na bieżąco zespołowi. Dla skonfigurowanych weryfikacji danego interfejsu istnieje możliwość pobrania nowych komunikatów z systemu produkcyjnego, dodania nowej wersji komunikatu i uruchomienia go na dowolnym środowisku. Dzięki takim możliwościom Int4 IFTT pozwala sprawować bieżącą kontrolę nad jakością środowiska integracyjnego w trybie ciągłym. Umożliwia automatyczne, cykliczne testowanie bieżących zmian dotyczących integracji w środowisku, bez konieczności zapewniania kompleksowego zintegrowanego środowiska testowego co generuje ogromne oszczędności czasu i pieniędzy. 

Rys. 2. Mechanizm wirtualizacji środowiska SAP w procesie testowym. Źródło: materiały Int4 IFTT

Podsumowanie

Chociaż projekt migracji Middleware wydaje się na pierwszy rzut oka relatywnie mało złożonym projektem technicznym, pociąga za sobą konieczność dużego nakładu prac związanych z weryfikacją poprawności komunikacji po migracji. W takich przypadkach optymalnym podejściem jest przeprowadzenie testów integracyjnych z wykorzystaniem narzędzi do ich automatyzacji takich jak Int4 IFTT.

Narzędzie Int4 IFTT pozwala skutecznie i szybko przeprowadzić wiarygodne i powtarzalne testy integracyjne, na bardzo dużej próbie rzeczywistych komunikatów wykorzystując archiwalny ruch ze środowiska produkcyjnego SAP PO oraz dokumenty biznesowe z systemu SAP ERP. Zastosowanie tego rozwiązania ogranicza pracochłonności zarówno strony biznesowej, jak i technicznych specjalistów. Po zakończeniu projektu wypracowany model testów, może być z powodzeniem wykorzystywany w innych projektach oraz podczas codziennego utrzymania systemu w ramach Continuous testing.

Polecamy również