Zastosowanie metodologii Soflab TASG w kontekście wdrażania testów automatycznych z wykorzystaniem narzędzi open-source w mniejszych zespołach projektowych.
W jaki sposób zespoły Agile mogą wykorzystać Soflab TASG (Test Automation Service Group) do skutecznego wdrożenia automatyzacji testów?
Zapoznaj się z case study projektu automatyzacji testów oprogramowania dla klienta zagranicznego i poznaj przebieg jego realizacji.
W dynamicznym środowisku rozwoju oprogramowania B2B2C, szybko rozwijające się projekty wymagają od zespołów deweloperskich nie tylko sprawności działania, ale także utrzymania najwyższych standardów jakości oprogramowania dostarczanych rozwiązań. Nasz klient zagraniczny, specjalizujący się w rozwiązaniach e-commerce i posiadający kompetencje w zakresie rozwoju oprogramowania oraz DevOps, zwrócił się do nas z potrzebą implementacji bramek jakościowych w swoich projektach. Wspólnie ustaliliśmy, że efektywne testy automatyczne będą optymalnym rozwiązaniem tego zadania, szczególnie z wykorzystaniem narzędzi takich jak selenium.
Wyzwania klienta w obszarze automatyzacji testów
Klient zmagał się z deficytem kompetencji w zakresie testowania automatycznego w swoim zespole. Dostępność doświadczonych specjalistów QA była znacznie ograniczona, a właściwa weryfikacja ich umiejętności w procesie rekrutacji generowała dodatkowe trudności i była czasochłonna. Zatrudnienie zasobów w modelu Time & Materials również nie było optymalne ze względu na krótkoterminowy charakter zadania oraz niechęć specjalistów do podejmowania takich zleceń bez perspektywy długoterminowej współpracy.
Dodatkowo, klient nie był zainteresowany budową własnego rozwiązania testowego od podstaw i uznał, że wykorzystanie płatnych narzędzi automatyzacji nie jest uzasadnione. Kluczowym aspektem projektu była optymalizacja kosztów testowania w odniesieniu do całościowego budżetu.
Zaistniała konieczność znalezienia sprawdzonego rozwiązania opartego na technologiach open-source, które można szybko dostosować do wymagań, unikając długotrwałego i kosztownego procesu tworzenia własnych frameworków testowych od podstaw.
Kluczowe okazało się również zrównoważenie kosztów testowania w stosunku do wydatków na prace programistyczne, co jest szczególnie istotne w kontekście projektów o mniejszej skali, takich jak Proof of Concept czy migracja systemów SAP.
Proponowane podejście do automatyzacji testów
Efektywne testy automatyczne to takie, które potrafią w sposób powtarzalny i ciągły weryfikować jakość rozwiązań, identyfikując potencjalne defekty przed wdrożeniem na produkcję. Długoterminowo powinny obniżać koszty rozwoju i skracać czas potrzebny na rutynowe zadania, umożliwiając zespołowi koncentrację na bardziej złożonych aspektach projektu, takich jak testy API, testy UI, testy regresji czy testy wydajnościowe.
Inwestycja w testy automatyczne przypomina starannie zaplanowaną strategię inwestycyjną. Na etapie planowania analizujemy cele biznesowe, dobieramy podejście do istniejących procesów, określamy zakres testów i wybieramy odpowiednie narzędzia, takie jak Tricentis Tosca dla systemów SAP S/4HANA czy SAP Process Orchestration. Działania te są analogiczne do analizy rynku i potencjalnych aktywów przed inwestycją kapitałową.
W strategii automatyzacji testów kluczowe jest nie tylko precyzyjne planowanie i implementacja, ale także optymalizacja zasobów na każdym etapie projektu. ROI testów automatycznych znacząco przyspiesza przy efektywnym wykorzystaniu specjalistów – przydzielając ich kompetencje adekwatnie do bieżących potrzeb. Etap projektowania infrastruktury testowej wymaga głębokiej ekspertyzy, podczas gdy rutynowa obsługa skryptów testowych może być realizowana przez mniej doświadczonych pracowników.
Klasyczny model Time & Materials, z pełnoetatowym zaangażowaniem eksperta, często nie zapewnia wymaganej elastyczności. Proponujemy dynamiczne dostosowywanie zasobów do aktualnych wymagań projektu, zgodnie z zwinnymi metodykami. To umożliwia nie tylko optymalizację kosztów, ale też zwiększa zwinność i adaptacyjność.
Takie podejście przyspiesza osiągnięcie progu rentowności, gdyż inwestycja jest stale dostosowywana do realiów projektu. Automatyzacja testów przestaje być stałym kosztem, a staje się inteligentną inwestycją, dopasowującą się do zmieniającego się otoczenia technologicznego i biznesowego, w tym do specyfiki systemów SAP.
ROI z automatyzacji testów jest mierzalne i wieloaspektowe:
- skrócenie czasu realizacji testów
- zmniejszenie liczby defektów
- poprawa jakości produktu końcowego
to tylko niektóre z wymiernych korzyści składających się na zwrot z inwestycji.
Menedżerowie testów powinni postrzegać automatyzację jako strategiczne narzędzie optymalizacji procesów, umożliwiające skupienie zespołu na zadaniach o wysokiej wartości dodanej, przy jednoczesnym zapewnieniu powtarzalności i niezawodności rutynowych procedur testowych, takich jak testy SAP.
Długofalowe korzyści takiej inwestycji obejmują zarówno zwiększoną skalowalność i elastyczność w procesie produkcyjnym, jak i zdolność do szybkiej adaptacji do ewoluujących wymogów rynku i technologii, w tym rozwiązań low-code/no-code czy wykorzystania sztucznej inteligencji w testowaniu.
Automatyzacja testów oprogramowania i jej efekty
Na wczesnym etapie projektu zaproponowaliśmy przydzielenie doświadczonego specjalisty ds. automatyzacji testów. Jego kluczowym zadaniem było nie tylko opracowanie strategii i uzgodnienie środowiska oraz narzędzi do automatyzacji testów, ale także szybkie dostosowanie naszych sprawdzonych frameworków do specyficznych wymagań środowiska CI/CD klienta, w tym integracji z platformą SAP Cloud Platform Integration. Dzięki temu mogliśmy natychmiast uruchomić zautomatyzowane testy, co przyczyniło się do natychmiastowego zwiększenia pokrycia testami i poprawy jakości oprogramowania.
Do projektu oddelegowaliśmy eksperta z rozległym doświadczeniem w analizie potrzeb klienta i doborze odpowiednich rozwiązań. Jego główne obowiązki obejmowały:
- selekcję narzędzi i technologii dostosowanych do wymagań klienta
- opracowanie metodologii zarządzania danymi testowymi
- adaptację gotowych frameworków, wypracowanych podczas realizacji licznych podobnych projektów
- integrację z istniejącymi procesami CI/CD.
Dzięki podejściu wypracowanemu na etapie analizy, czas wdrożenia automatyzacji w nowych projektach został zredukowany do jednego dnia – pierwszy funkcjonujący skrypt. Zastosowane metody i rozwiązania, będące rezultatem dogłębnie przeprowadzonej analizy, umożliwiły nam znaczące przyspieszenie procesu.
Zaproponowane rozwiązanie zakładało ograniczone zaangażowanie specjalisty, co pozwoliło na optymalizację kosztów.
Bieżące zadania związane z implementacją nowych lub utrzymaniem testów istniejących skryptów z repozytorium były zarządzane w systemie JIRA. Estymacja nakładu pracy odbywała się zgodnie z metodyką Scrum (planning poker), według podejścia rekomendowanego przez zespół TASG. Po każdym uruchomieniu zestawu skryptów przygotowywano raporty z testów wraz z wykrytymi defektami i ich statusem.
Nasze wdrożenie przyniosło nie tylko bezpośrednie korzyści, takie jak zwiększona efektywność testowania i redukcja kosztów, ale także długoterminowe efekty. Zapewniliśmy wsparcie w różnorodnych technologiach testowych, umożliwiając kompleksowe testowanie front-endu i back-endu, a także wyposażyliśmy klienta w narzędzia i kompetencje niezbędne do samodzielnego prowadzenia i rozwijania testów automatycznych w przyszłości, zgodnie z koncepcją piramidy testów.
Podejście Soflab TASG okazało się efektywne, a projekt zakończył się sukcesem
Doświadczenie naszego zespołu w Soflab Technology oraz elastyczność rozwiązań TASG umożliwiły skuteczne sprostanie wyzwaniom klienta. Sukces wdrożenia nie tylko potwierdził wartość naszego podejścia, ale również otworzył możliwości rozszerzenia współpracy. Nasze rozwiązanie zostało zaimplementowane w kolejnych projektach, realizowanych równolegle przez inne zespoły deweloperskie klienta.
Środowisko testów automatycznych, które stosujemy, jest nieustannie rozwijane w ramach usługi TASG, co umożliwia wszechstronną automatyzację – od testów webowych i mobilnych, po testy integracyjne oraz wydajnościowe. Nasze narzędzie wykracza poza testowanie funkcjonalności. Umożliwia również przeprowadzanie testów integracji poszczególnych API oraz realizację podstawowych testów wydajnościowych, zapewniając kompleksowe wsparcie w zakresie zapewnienia jakości oprogramowania.
Poszukujesz wydajnego, adaptacyjnego i ekonomicznego rozwiązania do automatyzacji testów oprogramowania? Skontaktuj się, aby poznać narzędzie dostosowane do Twoich dynamicznie ewoluujących wymagań w obszarze zapewnienia jakości oprogramowania.