Testowanie systemów SAP służących do zarządzania szeroko pojętymi procesami biznesowymi stanowi niemałe wyzwanie. Z uwagi na stopień skomplikowania tych programów konieczne jest korzystanie z różnorodnych narzędzi testowych, jak również aplikacji wspierających testy, w tym rozwiązań do zarządzania testami. Które z nich wybrać i w jaki sposób połączyć, by skutecznie przeprowadzić proces testowy i zapewnić odpowiednią jakość oprogramowania? Przyjrzyjmy się kilku narzędziom dedykowanym produktom SAP, biorąc pod uwagę ich funkcjonalność, wszechstronność oraz możliwości współdziałania.
Przykłady narzędzi do automatyzacji testów w środowisku SAP
Na początek warto podkreślić, że powszechny dziś trend do zastępowania testów manualnych automatycznymi w wypadku struktur tak rozbudowanych, jak systemy SAP staje się koniecznością. Trudne do wyobrażenia byłoby ręczne sprawdzenie wszystkich scenariuszy testowych dla tak wielu zadań, jakie realizuje oprogramowanie tego typu. Automatyzacja pozwala na zwiększenie wolumenu wykonywanych testów, obniża koszty procesów zapewniania jakości i umożliwia szybkie sprawdzenie większego obszaru projektu.
Rynek oferuje wiele narzędzi do automatyzacji testów. Z doświadczenia Soflab wynika, że biorąc pod uwagę kompatybilność tych narzędzi z systemami SAP, szczególnie wartych polecenia jest kilka z nich:
- SAP TAO (Test Acceleration and Optimization) – domenowe rozwiązanie SAP,
- platforma SAP Solution Manager Test Suite (skrypty CBTA/eCATT), w ramach SAP Solution Manager,
- SAP Enterprise Continuous Testing by Tricentis (SAP ECT), czyli Tricentis Tosca w wersji dedykowanej dla SAP, przygotowany we współpracy z Tricentis,
- Int4 IFTT, opracowany z myślą o testach typowo integracyjnych. O tym narzędziu pisaliśmy już szerzej w artykule Automatyzacja testów integracyjnych w projektach migracji SAP Process Orchestration do SAP Cloud Platform Integration.
Funkcjonalność i wszechstronność narzędzi automatyzacji testów
Wybór docelowego zestawu narzędzi testowych zależy zazwyczaj od tego, jak elastycznie można je dostosować do potrzeb klienta, a więc jaki jest wachlarz oferowanych funkcjonalności. I tak Int4 IFTT jest jedynym programem przeznaczonym do testów integracyjnych SAP, który wykorzystuje funkcjonalności zarówno produktów klasy Middleware (SAP PO, SAP CPI), jak i produktów do zarządzania API (SAP API Management, APIGEE) oraz tzw. Backendu (SAP S/4, SAP ERP).
Rys. 1. Przykład szerokiego zakresu funkcjonalności, jakie oferuje narzędzie Int4 IFTT, źródło: Inf4
Od szerokiej gamy dostępnych funkcjonalności narzędzia nie mniej ważna jest możliwość jego zastosowania w testach integracji produktów SAP z innymi systemami wykorzystywanymi przez klienta. Testy integracji są szczególnie istotne w przypadku projektów toczących się w złożonej architekturze informatycznej. Int4 IFTT wspiera produkty integracyjne SAP Process Orchestration i SAP Cloud Platform Integration. Oferuje również pełne wsparcie dla szyny integracyjnej Dell Boomi. W ten sposób pełna funkcjonalność oprogramowania Int4 IFTT może być wykorzystana przez klientów, którzy integrują system SAP z oprogramowaniem innych producentów za pośrednictwem platformy integracyjnej Boomi.
Rys. 2. Schemat automatyzacji testów integracji z Dell Boomi przy użyciu Int4 IFTT, źródło: Int4.com
Narzędziem o wszechstronnym zastosowaniu jest SAP Enterprise Continuous Testing by Tricentis (SAP ECT) – Tricentis Tosca, które bez konieczności kodowania automatycznych skryptów testowych pozwala na automatyzację testów procesów biznesowych realizowanych przez wszystkie systemy SAP, bez ograniczeń technologii UI (SAPUI5, Fiori, SAP GUI, SuccessFactors, Ariba etc). Tricentis Test Automation umożliwia również automatyczne testowanie API produktów SAP (RFC, Rest, oData etc).
System Tosca Tricentis jest kompatybilny z większością popularnych technologii, takich jak SAP, ORACLE, JAVA, SOA, HTML, itd. – łącznie narzędzie Tosca wspiera ponad 150 technologii i aplikacji korporacyjnych. Daje to możliwość prostej automatyzacji złożonych procesów biznesowych przechodzących przez systemy budowane w różnych technologiach.
Integracja z innymi narzędziami w procesie testowym
Bardzo istotną kwestią jest możliwość współpracy narzędzi automatyzacji testów z platformami do zarządzania testami, jak również możliwość integracji z ekosystemem narzędziowym w ramach procesu CI/CD (Continuous Integration/Continuous Delivery). Współpraca ta pozwala usprawnić procesy zarządzania zakresem testów automatycznych, zgłaszania błędów i wyciągania wniosków na ich podstawie, czy proces raportowania wyników testów.
Int4 IFTT umożliwia integrację z SAP Solution Manager Test Suite między innymi poprzez możliwość wykorzystania istniejących skryptów CBTA.
Tosca Tricentis ma z kolei wbudowaną opcję współpracy z JIRA, popularnym narzędziem do zarządzania testami, które można rozbudować jeszcze o użyteczne pluginy, takie jak np. Xray czy Zephyr.
Można również rozważyć wykorzystanie platformy Tricentis qTest, dedykowanej do zwinnego zarządzania testami, będącej repozytorium wymagań, manualnych przypadków testowych, ale również narzędziem do orkiestracji i harmonogramowania testów automatycznych. Umożliwia ona zautomatyzowanie całego procesu testowego, nawet w przypadku, gdy testy automatyczne są napisane w technologiach Open Source.
Strategia testowania “shift-left” w ramach wydajnego pipeline CI/CD
Strategia “shift-left” oznacza przesunięcie testowania na wczesne etapy cyklu życia oprogramowania. Dążenie do ograniczenia testowania pełnych procesów biznesowych wynika z obserwowanego braku efektywności takiego podejścia. W praktyce Continuous Integration i Continuous Delivery (CI/CD) zespoły wytwarzają oprogramowanie w krótkich cyklach, co umożliwia uzyskanie informacji zwrotnych na tyle wcześnie, by odpowiednio zareagować na wykryte usterki. Ciężar zapewniania jakości przesuwa się więc z czasochłonnych, skomplikowanych i wymagających zintegrowanego środowiska testów e2e, wykonywanych na w pełni działającym systemie, na testy półautomatyczne, zwinne lub całkiem zautomatyzowane testy funkcjonalne oraz testy API, uruchamiane w pipeline DevOps.
W tym kontekście jedną z największych zalet narzędzia SAP Enterprise Continuous Testing (SAP ECT) – Tricentis Tosca jest wsparcie i możliwość integracji z pipelinem CI/CD. Jest to tym ważniejsze, że podejście CI/CD jest dziś podstawą projektów transformacji cyfrowej na dużą skalę. Praca w krótkich cyklach pozwala rozwijać bardzo złożone systemy małymi krokami. Dzięki automatycznym testom regresji można przeprowadzać migracje i dokonywać up-gradów w środowiskach SAP przy minimalnym ryzyku wystąpienia awarii. Sprzyja to innowacjom i ułatwia twórcom oprogramowania szybsze udostępnianie klientom nowych funkcjonalności.
Wszystkie wymienione narzędzia mają swoje zalety. To, jakie rozwiązanie jest odpowiednie dla Twojej firmy, zależy od specyfiki środowiska SAP, z którego korzystasz oraz od Twoich potrzeb. Jeśli nie masz pewności, które narzędzia do testowania będą najlepsze dla Ciebie lub chcesz się upewnić co do swojego wyboru, skontaktuj się z nami. Chętnie zapoznamy się z Twoim środowiskiem SAP i pomożemy Ci podjąć decyzję. Zachęcamy do kontaktu!
Sebastian Maciejewski
Konsultant SAP
Konsultant SAP od 2013 r. Od początku swojej kariery zajmuje się integracją w środowiskach SAP z użyciem narzędzi on-Premise oraz Cloud. Uczestniczy w projektach utrzymaniowych oraz wdrożeniowych dla polskich oraz międzynarodowych przedsiębiorstw, prowadzonych metodami klasycznymi oraz zwinnymi. Jest certyfikowanym konsultantem technicznym SAP (ABAP, SAP Process Orchestration, SAP Cloud Platform Integration). Obecnie, pracując jako ekspert SAP dla Soflab Technology, zajmuje się wdrażaniem projektów związanych z testami integracyjnymi SAP.
Sofiia Lahoda
Ekspert Integracyjny SAP
Zajmuje się integracją SAPa około 4 lat. Realizując projekty dla polskich i międzynarodowych korporacji uczestniczyła w integrowaniu systemów SAPowych z systemami zewnętrzymi używając takie narzędzia jak SAP PO, AMQ, API Gateway. Posida certyfikat Javy (OCA). Obecnie, pracując jako Ekspert Integracyjny SAP w Soflab Technology, zajmuje się implementacją testów integracyjnych SAP.