OPIS PROJEKTU

Aby skrócić czas wprowadzania produktów na rynek i znacząco usprawnić procesy QA, a1qa stworzyła dla nas framework do automatyzacji testów, który mogliśmy następnie samodzielnie rozwijać. Po zakończeniu prac nad frameworkiem zespół a1qa przeprowadził szkolenia i wspierał naszych specjalistów w ramach modelu rozszerzenia zespołu, pomagając nam dalej rozwijać i rozszerzać zakres automatyzacji testów.

...ich proaktywność: nie są po prostu „dodatkowymi rękami do pracy”. Do każdego zadania podchodzą z inicjatywą i zaangażowaniem, proponując różne rozwiązania, dobre praktyki i możliwości poprawy wydajności.

VP Product Operations

Klient tworzy innowacyjne rozwiązania iGaming, przeznaczone zarówno dla obiektów stacjonarnych, jak i platform cyfrowych. Jego portfolio obejmuje różnorodne formy rozrywki: przestronne sale gier wyposażone w terminale elektroniczne, pole golfowe zlokalizowane w gęsto zabudowanej części miasta oraz zabytkowy tor wyścigów konnych z wieloletnią tradycją. Firma łączy programy lojalnościowe dostępne w obiektach stacjonarnych i kanałach cyfrowych, integrując tradycyjne formy rozrywki z rozwiązaniami mobilnymi.

Klient opracował i rozwija platformę do zakładów sportowych, a także produkty internetowe i aplikacje mobilne, obejmujące gry kasynowe oraz integracje z usługami zewnętrznych dostawców.

Aby wesprzeć ekspansję na kolejne stany USA i szybciej realizować cele biznesowe, klient zwrócił się do partnera QA z prośbą o usprawnienie procesu dostarczania oprogramowania w środowisku współpracy wielu dostawców.

Planują Państwo wprowadzić na rynek kolejny produkt iGaming?

Od testowania platform zakładów sportowych i kasyn online po testy systemów płatności, wydajności i aplikacji mobilnych oraz weryfikację zgodności z regulacjami – a1qa pomaga firmom z branży iGaming skracać cykle wydawnicze, ograniczać ryzyko operacyjne i utrzymywać wysokie standardy jakości na rynkach regulowanych.

Porozmawiaj z ekspertem QA ds. iGaming

ŚWIADCZONE USŁUGI

  • Automatyzacja testów
  • Testy aplikacji mobilnych
  • Testy kompatybilności
  • Testy regresyjne
  • Testy wydajnościowe
  • Testy funkcjonalne

TECHNOLOGIE I NARZĘDZIA

  • Java
  • C#
  • TypeScript
  • Charles Proxy
  • DevTools
  • Serenity
  • Appium
  • Playwright

ZAKRES PROJEKTU

Aby zapewnić częste wydawanie nowych wersji w ramach modelu pracy Scrumban, a1qa powołała dedykowany zespół, który był rozbudowywany wraz z rozwojem produktu i reagował na pojawiające się wyzwania w miarę wdrażania nowych funkcjonalności.

Testowanie funkcjonalne

Przed rozpoczęciem testów inżynierowie QA opracowali i utrzymywali szczegółowe przypadki i scenariusze testowe, aby zapewnić przejrzyste pokrycie wymagań funkcjonalnych i uporządkować proces testowania.

Zespół przeprowadzał testy nowych funkcjonalności, aby potwierdzić ich prawidłowe działanie i zgodność z regułami biznesowymi. Regularnie wykonywał również testy regresyjne, aby upewnić się, że istniejące funkcjonalności, takie jak rejestracja, obstawianie zakładów, przeglądanie list zawodników i wydarzeń, gry kasynowe online czy płatności, działają stabilnie i nie ulegają zakłóceniom w wyniku zmian wprowadzanych w kolejnych wersjach oprogramowania. Testy obejmowały zarówno kluczowe ścieżki użytkownika, jak i wcześniej wdrożone funkcjonalności.

Zespół rejestrował wszystkie wykryte defekty, dokumentując dokładne kroki ich odtworzenia, oczekiwane wyniki i szczegóły środowiska testowego. Ułatwiało to analizę problemów i przyspieszało ich usuwanie. Inżynierowie ponownie testowali również poprawki, aby potwierdzić ich skuteczność i wykryć ewentualne skutki uboczne wprowadzonych zmian.

Ponadto a1qa pomogła klientowi zapewnić zgodność platformy z aktualnymi wymogami i wytycznymi regulacyjnymi określonymi przez United Kingdom Gambling Commission (UKGC). Podczas rejestracji użytkownicy muszą potwierdzić swoją tożsamość, przedstawiając odpowiednie dokumenty, aby uzyskać pełny dostęp do konta i funkcjonalności platformy. Proces weryfikacji tożsamości wymaga czasu, dlatego inżynierowie QA sprawdzili, czy przebiega on zgodnie z założeniami, np. czy dostęp do określonych funkcji pozostaje ograniczony do momentu zakończenia weryfikacji.

Testowanie kompatybilności

Inżynierowie QA zadbali o spójne działanie systemu i jednolite doświadczenie użytkownika w różnych środowiskach. Przeprowadzili testy kompatybilności w różnych przeglądarkach desktopowych, aby zweryfikować prawidłowe wyświetlanie serwisu, działanie jego funkcjonalności i responsywność w różnych konfiguracjach.

Równolegle zespół sprawdził działanie aplikacji na różnych urządzeniach mobilnych i tabletach z systemami iOS i Android. Zweryfikował, czy wszystkie funkcje działają zgodnie z oczekiwaniami przy różnych rozmiarach ekranów, wersjach systemów operacyjnych i konfiguracjach sprzętowych.

Działania te pozwoliły wcześnie wykryć problemy charakterystyczne dla poszczególnych środowisk oraz zapewnić niezawodne działanie produktu na różnych platformach.

Testowanie aplikacji mobilnych

Specjaliści QA korzystali z rzeczywistych urządzeń mobilnych dostępnych w wewnętrznych laboratoriach a1qa, aby zwiększyć dokładność testów i wykryć więcej defektów. Szczególną uwagę poświęcili wersji aplikacji na iOS ze względu na specyfikę jej rozwoju.

Oprócz weryfikacji kluczowych funkcjonalności inżynierowie a1qa przeprowadzili dodatkowe testy dotyczące zachowania aplikacji w sytuacjach, w których jej działanie jest przerywane przez zdarzenia zewnętrzne.

Automatyzacja testów

Inżynierowie oszacowali wzrost pokrycia testami i zwrot z inwestycji (ROI), aby określić skalę oszczędności czasu pracy oraz poprawę skuteczności wykrywania błędów. Następnie specjaliści przystąpili do automatyzacji testów z wykorzystaniem języka C#, obejmującej testy integracyjne, testy end-to-end, testy API oraz operacje na bazach danych.

Aby wesprzeć te działania, a1qa:

Wdrożyła dedykowany framework do automatyzacji testów

a1qa wdrożyła rozwiązanie do automatyzacji testów dostosowane do potrzeb klienta, wykorzystując Playwright jako główny framework. Testy zostały opracowane w TypeScript przez inżynierów QA o interdyscyplinarnych kompetencjach.

Inżynierowie zautomatyzowali scenariusze testowe oparte na podejściu Behavior-Driven Development (BDD), aby zweryfikować różne sposoby interakcji użytkowników z oprogramowaniem i upewnić się, że system działa zgodnie z wymaganiami biznesowymi.

Na początkowym etapie wdrażania automatyzacji wykorzystywano również Serenity oraz rozwiązania oparte na Javie, co odzwierciedlało ewolucję strategii automatyzacji klienta.

Usprawniła pipeline CI/CD

Aby skrócić time-to-market i zwiększyć elastyczność procesu dostarczania oprogramowania, inżynierowie wdrożyli codzienny proces budowania wersji referencyjnej (build).

Każdej nocy system CI/CD pobierał najnowsze zmiany w kodzie, tworzył nowe środowisko, kompilował i wdrażał pełną wersję aplikacji, a następnie uruchamiał na niej testy.

Dzięki temu a1qa zapewniła sprawny proces dostarczania oprogramowania, umożliwiła szybkie identyfikowanie testów zakończonych niepowodzeniem i przyczyniła się do podniesienia ogólnego poziomu jakości produktu.

Skonfigurowała przejrzyste raportowanie

a1qa zintegrowała TestRail, aby usprawnić zarządzanie testami i śledzenie ich wyników. Ponadto zespół wdrożył i rozwijał wewnętrzny system Aquality Tracking, który umożliwiał generowanie przejrzystych raportów zawierających statystyki i zrzuty ekranu. Raporty były generowane i dołączane po każdym buildzie oraz każdym uruchomieniu testów automatycznych.

Jednym z wyzwań była automatyzacja testów gry przeglądarkowej opracowanej przez zewnętrznego dostawcę. Ponieważ tradycyjne podejście oparte na selektorach elementów interfejsu nie było możliwe do zastosowania, zespół wykorzystał widzenie komputerowe z użyciem OpenCV. Technologia ta umożliwiała rozpoznawanie elementów na zrzutach ekranu, określanie ich współrzędnych i wykonywanie odpowiednich działań, takich jak klikanie przycisków.

Testowanie wydajności

Aby upewnić się, że oprogramowanie jest w stanie obsłużyć duże obciążenie i zachować stabilność w dłuższej perspektywie, a1qa przeprowadziła testy wydajności API opartego na protokole SOAP.

Po stronie aplikacji klienckiej inżynierowie przetestowali takie procesy, jak rejestracja użytkowników, logowanie, obstawianie zakładów i nawigacja w serwisie.

Zespół zweryfikował również działanie panelu administracyjnego, z którego menedżerowie korzystali do tworzenia wydarzeń, obsługi użytkowników końcowych, zarządzania ich profilami, przyznawania darmowych zakładów i wykonywania innych operacji administracyjnych.

W tym celu zespół QA zastosował następujące podejścia:

  • Testy niezależne – każdy test służył ocenie wydajności pojedynczego elementu. Przez 15 minut inżynierowie stopniowo zwiększali obciążenie, a następnie utrzymywali je na osiągniętym poziomie przez kolejne 15 minut, aby sprawdzić, czy system jest w stanie obsłużyć zakładane obciążenie docelowe.
  • Testy łączone – każdy test obejmował kilka komponentów, np. główny komponent obsługujący zakłady, funkcję cash out i historię zakładów, z możliwością stopniowego dołączania kolejnych elementów. Obciążenie zwiększano przez 45 minut, a następnie utrzymywano na osiągniętym poziomie przez kolejne 15 minut.
  • Testy obsługi wydarzeń – każdy test obejmował pełen zakres funkcjonalności, w tym panel administracyjny i kluczowe funkcje systemu. Scenariusze uwzględniały m.in. statystyki ze środowiska produkcyjnego dotyczące liczby zakładów zawartych podczas wydarzeń sportowych w ciągu ostatnich 24 godzin.

Aby przygotować poszczególne scenariusze testowe, a1qa określiła wartości docelowe na podstawie danych ze środowiska produkcyjnego oraz docelową liczbę transakcji na sekundę dla każdego komponentu. Po osiągnięciu założonych wartości zespół zwiększał obciążenie o kolejne 50%, aby zidentyfikować granice wydajności systemu i potencjalne wąskie gardła.

Po przekazaniu programistom informacji o wykrytych błędach a1qa ponownie uruchamiała testy, aby zweryfikować wprowadzone poprawki.

Przygotowanie skryptów testowych było złożonym zadaniem, ponieważ każdy komponent miał specyficzne wymagania. Zamiast nagrywać sesje użytkowników, zespół generował obciążenie za pomocą żądań API i stosował parametryzację w Javie, aby dostosować skrypty do wymagań projektu testowego.

WYNIKI

  • a1qa przyspieszyła proces testowania dzięki wdrożeniu automatyzacji oraz przeprowadzeniu specjalistycznych szkoleń dla zespołu klienta, przekazując mu wiedzę niezbędną do samodzielnego rozwijania praktyk automatyzacji.
  • Zespół zapewnił wysoką jakość oprogramowania, dostosowując strategię testowania do każdej wersji i dbając o odpowiednie pokrycie kluczowych funkcjonalności aplikacji, bez powodowania opóźnień w harmonogramie wydań.
  • Eksperci wsparli ekspansję na rynku amerykańskim, umożliwiając udostępnienie oprogramowania w kolejnych stanach USA, co zwiększyło jego dostępność dla użytkowników na większym obszarze kraju.

W LICZBACH

  • >7
    lat realizacji projektu
  • 7
    inżynierów QA w okresach szczytowego obciążenia
  • >26
    wydań w ciągu ostatniego roku
  • 6
    świadczonych usług