Zostaw swoje dane kontaktowe, a my wyślemy Ci nasz przegląd e-mailem
Wyrażam zgodę na przetwarzanie moich danych osobowych w celu przesyłania spersonalizowanych materiałów marketingowych zgodnie z Regulaminem. Politykę Prywatności. Potwierdzając zgłoszenie, użytkownik wyraża zgodę na otrzymywanie materiałów marketingowych
Dziękuję!

Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.

Innowise jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. Jesteśmy zespołem ponad 1800+ specjalistów IT tworzących oprogramowanie dla innych profesjonalistów na całym świecie. profesjonalistów na całym świecie.
O nas
Innowise jest międzynarodową firmą tworzącą oprogramowanie w pełnym cyklu założona w 2007 roku. Jesteśmy zespołem ponad 1600 specjalistów IT tworzących oprogramowanie dla innych profesjonalistów na całym świecie. profesjonalistów na całym świecie.

Automatyzacja testów aplikacji internetowych: 50% mniej błędów produkcyjnych

Innowise zintegrowało zautomatyzowane testowanie aplikacji internetowych aby zapewnić szybkie i wolne od błędów cykle rozwoju oprogramowania.

Klient

Branża
Telekomunikacja
Region
Belgia
Klient od
2023

Nasz klient jest wiodącym dostawcą usług komunikacyjnych, który specjalizuje się w rozwiązaniach łączności internetowej, sprzedaży modemów, dostarczaniu kart SIM i konfiguracji pakietów telewizyjnych.

Szczegółowe informacje o kliencie nie mogą zostać ujawnione zgodnie z warunkami umowy NDA.

Wyzwanie

Usprawnienie procesów testowania w celu przyspieszenia wydawania wysokiej jakości oprogramowania

Wewnętrzny zespół programistów klienta początkowo skonfigurował niestandardowy framework do przeprowadzania zautomatyzowanych testów aplikacji internetowej. Jednak framework ten nie działał zgodnie z oczekiwanymi standardami, co skutkowało niestabilnymi testami. Niestabilność była potęgowana przez brak odpowiedniej integracji z systemem ciągłej integracji (CI). Prowadziło to do opóźnień w przekazywaniu informacji zwrotnych i zwiększonej liczby ręcznych interwencji zespołów QA.

W obliczu tych wyzwań klient zlecił nam dostarczenie solidnego rozwiązania, które usprawniłoby procesy testowania, zmniejszyło liczbę błędów regresji i przyspieszyło cykle wydawnicze.

Wdrożenie

Rozwijanie możliwości QA poprzez strategiczną automatyzację testów

Odpowiadając na wyzwania klienta, skupiliśmy się na stworzeniu indywidualnego rozwiązania, które usprawniłoby jego pracę procesy zapewniania jakości. Zdając sobie sprawę z nieefektywności i ograniczeń istniejącej niestandardowej struktury testowania, postanowiliśmy opracować bardziej solidną, skalowalną i wydajną strategię testowania dostosowaną specjalnie do ich potrzeb.

Dostosowanie i integracja frameworka

W oparciu o nasze doświadczenie w zautomatyzowane testowanie aplikacji internetowychOpracowaliśmy strategię opartą na dwóch frameworkach, wykorzystując zarówno Cypress, jak i Playwright do kompleksowego testowania. Wybraliśmy te frameworki ze względu na ich unikalne atrybuty, które są dobrze oceniane za ich stabilność, solidność i kompatybilność z różnymi przeglądarkami i środowiskami.

Integracja z Cypress

Nasi inżynierowie AQA wybrali Cypress ze względu na jego wyjątkowe możliwości testowania end-to-end. Jedną z wyróżniających się cech Cypress jest natywny dostęp do interfejsów API przeglądarki bez konieczności przechodzenia przez serwery pośredniczące. Znacznie przyspiesza to wykonywanie testów i zmniejsza ich złożoność. Dostosowaliśmy Cypress do płynnej integracji z aplikacjami internetowymi klienta, umożliwiając wykonywanie testów w czasie rzeczywistym i testowanie wizualne. Taka konfiguracja pozwoliła nam dokładniej symulować rzeczywiste interakcje użytkownika. Dzięki temu wszystkie ścieżki użytkownika zostały dokładnie przetestowane, zanim jakikolwiek kod został przeniesiony do produkcji. Innowise wdrożyło uruchomienie testów Cypress w GitLab, demonstrując pomyślne zakończenie testów na zdalnym serwerze po wdrożeniu. Potwierdza to solidność i niezawodność naszej platformy testowej w środowisku ciągłej integracji.

Integracja dramaturgów

Z drugiej strony, Playwright okazał się idealny zarówno do testowania front-endu, jak i API, ze względu na możliwość uruchamiania testów we wszystkich głównych przeglądarkach przy minimalnej konfiguracji. Obsługuje testowanie w trybie headless, co jest kluczowe dla środowisk CI, i oferuje solidne narzędzia do obsługi zdarzeń asynchronicznych i złożonych interakcji stron. Wykorzystaliśmy funkcję równoległego wykonywania testów Playwright, aby uruchomić wiele testów jednocześnie w różnych środowiskach, co znacznie skróciło całkowity czas testowania. Co więcej, bogaty zestaw interfejsów API Playwright pozwolił nam tworzyć niestandardowe skrypty testowe, które naśladowały złożone zachowania i interakcje użytkowników. Zwiększyło to zasięg i niezawodność naszych testów. Dodatkowo przeprowadziliśmy kompleksowe raportowanie za pomocą Allure, aby śledzić wyniki testów, zapewniając jasny wgląd i analizy z naszych integracji Playwright.

Strategiczna personalizacja

Skonfigurowaliśmy każdy framework, aby dostosować go do istniejącej infrastruktury klienta. Zespół Innowise wprowadził wtyczki i rozszerzenia, które zwiększyły funkcjonalność frameworków i umożliwiły integrację z innymi narzędziami w stosie technologicznym klienta. Na przykład, zintegrowaliśmy Cypress z usługami uwierzytelniania klienta w celu obsługi bezpiecznego logowania podczas testów. Skonfigurowaliśmy również Playwright do automatycznego przechwytywania zrzutów ekranu i filmów do przeglądu w przypadku niepowodzenia testów.

Integracja CI

Inżynierowie AQA zintegrowali Cypress i Playwright z potokiem CI w Gitlab. Integracja ta pozwoliła nam skonfigurować automatyczne wykonywanie testów, które były uruchamiane przy każdym zatwierdzeniu kodu. Dzięki automatyzacji tych wykonań zapewniliśmy, że każdy nowy lub zmieniony kod został poddany dokładnym testom przed przejściem do dalszego etapu cyklu rozwoju. Taka konfiguracja nie tylko przyspieszyła proces testowania, ale także pomogła wychwycić błędy i problemy na najwcześniejszym możliwym etapie. Pomogło to zmniejszyć ryzyko przedostania się usterek do produkcji. Bezproblemowe połączenie tych frameworków z Gitlab CI ułatwiło również płynniejszy przepływ pracy, umożliwiając programistom skupienie się bardziej na opracowywaniu funkcji, a mniej na powtarzalnych zadaniach testowych.

Raportowanie na GitLab

Aby jeszcze bardziej wzmocnić procesy kontroli jakości, wykorzystaliśmy zaawansowane narzędzia raportowania Gitlab, koncentrując się w szczególności na zwiększeniu przejrzystości i odpowiedzialności między zespołem AQA a personelem kierowniczym. Dostosowując te narzędzia do generowania szczegółowych raportów w czasie rzeczywistym, zapewniliśmy obu zespołom nieocenione źródło dostępu do aktualnych danych na temat statusu różnych testów.

Raporty te zostały zaprojektowane tak, aby były kompleksowe, a jednocześnie łatwe do interpretacji, w tym kluczowe wskaźniki, takie jak pokrycie testami, wskaźniki niepowodzeń i czasy wykonania. Ten poziom szczegółowości zapewnił, że menedżerowie mogli szybko zrozumieć skuteczność wysiłków testowych i zidentyfikować obszary wymagające uwagi bez konieczności posiadania głębokiej wiedzy technicznej. Dla zespołu AQA raporty te służyły jako krytyczne narzędzie do śledzenia postępów, wskazywania powtarzających się problemów i walidacji jakości bazy kodu.

Rozwój architektury

Innowise opracowało skalowalną architekturę testową dostosowaną do różnorodnych testów, w tym testów dymnych, testów regresji i kompleksowych testów end-to-end. Architektura ta została zaprojektowana tak, aby wspierać natychmiastowe potrzeby projektu i stanowić podstawę dla przyszłych inicjatyw testowych. Modułowy charakter architektury pozwolił na łatwą adaptację i skalowanie. Tak więc, wraz z ewolucją wymagań klienta, struktura testowa mogła ewoluować bez konieczności wprowadzania znaczących modyfikacji.

Nasze podejście obejmowało utworzenie scentralizowanego systemu zarządzania testami, który ułatwiał organizację i śledzenie przypadków testowych, wyników i wskaźników. System ten odegrał kluczową rolę w zarządzaniu złożonością wielu typów testów i zapewnieniu spójnego przepływu pracy w cyklach testowych. Wdrażając solidne funkcje rejestrowania danych i analizy wyników, zapewniliśmy zespołowi QA narzędzia niezbędne do przeprowadzania szczegółowych ocen każdego cyklu testowego, co ma kluczowe znaczenie dla utrzymania wysokich standardów jakości oprogramowania.

Uruchamianie testów w narzędziu Xray Jira

Aby jeszcze bardziej usprawnić procesy QA, uruchomiliśmy testy przy użyciu narzędzia Xray Jira. Ta integracja pozwoliła nam śledzić i zarządzać przypadkami testowymi bezpośrednio w Jira, usprawniając komunikację i współpracę między zespołami QA i programistów. Wykorzystując potężne możliwości Xray w zakresie zarządzania testami, zachowaliśmy kompleksowy przegląd działań testowych. Zespół QA śledził również identyfikowalność od wymagań do defektów i generował szczegółowe raporty dotyczące pokrycia i wykonania testów. Integracja ta znacznie zwiększyła naszą zdolność do szybkiego wskazywania i rozwiązywania problemów, zapewniając wysoką jakość dostarczanego oprogramowania.

Szkolenie i wzmocnienie pozycji

Uznając kluczową rolę transferu wiedzy w powodzeniu każdego wdrożenia technologii, przeprowadziliśmy dogłębne sesje szkoleniowe specjalnie dostosowane do Cypress, biorąc pod uwagę jego kluczową rolę w strategii testowania klienta. Sesje te zostały zorganizowane tak, aby wyposażyć wewnętrzne zespoły klienta w wiedzę wymaganą do skutecznego korzystania, utrzymywania i rozszerzania ram testowych niezależnie.

Szkolenie obejmowało szereg istotnych tematów, od podstawowych ustawień i konfiguracji narzędzi testowych po zaawansowane funkcje, takie jak tworzenie skryptów automatyzacji testów i zarządzanie środowiskiem. Obejmowało ono również praktyczne ćwiczenia mające na celu uwzględnienie rzeczywistych scenariuszy, z którymi może spotkać się zespół, zwiększając ich umiejętności rozwiązywania problemów i pewność siebie w obsłudze narzędzi.

Poza szkoleniami technicznymi, podkreśliliśmy znaczenie strategicznego podejścia do praktyk zapewniania jakości. Pokierowaliśmy zespół, jak planować i przeprowadzać testy, które są zgodne z szerszymi celami biznesowymi. Takie podejście zapewniło, że zespół był nie tylko biegły w korzystaniu z technologii, ale także biegły w integrowaniu procesów zapewniania jakości z codziennymi przepływami pracy.

Technologie

Back-end

REST API, JSON, Java

Projektowanie

Figma, Sketch, Zeplin

Usługi

Firebase (Analytics, Crashlytics, Cloud Messaging, App Distribution), GitLab, Jira, Confluence, Strapi, Slack

AQA

Testy jednostkowe + integracja CI/CD za pośrednictwem SonarQube, Cypress, Playwright

Proces

Odkrywanie i planowanie

Projekt rozpoczął się od spotkań odkrywczych, aby dogłębnie zrozumieć specyficzne potrzeby i wyzwania. Ta faza była kluczowa dla skonfigurowania Cypress i Playwright, zapewnienia ich kompatybilności z istniejącymi systemami klienta oraz przygotowanie podstaw do płynnej integracji.

Rozwój i integracja

Dostosowaliśmy Cypress i Playwright do unikalnych wymagań testowych klienta i zintegrowaliśmy te frameworki z potokiem CI Gitlab. Integracja ta zautomatyzowała proces testowania, umożliwiając wczesne wykrywanie i rozwiązywanie problemów oraz przyspieszając i przyspieszenie cyklu rozwoju.

Szkolenie i przekazanie

Nasz specjalista AQA przeprowadził kompleksowe sesje szkoleniowe na Cypress, aby wyposażyć zespół klienta w umiejętności samodzielnego zarządzania i optymalizacji struktur testowych. Dostarczyli również szczegółową dokumentację i najlepsze praktyki w celu wsparcia bieżącej konserwacji i ulepszania systemów.

Komunikacja i zarządzanie projektami

Przez cały czas trwania projektu utrzymywaliśmy przejrzystą komunikację za pośrednictwem Slack i zarządzaliśmy zadaniami i postępami za pośrednictwem Jira. Takie podejście zapewniło, że wszyscy interesariusze byli wszyscy interesariusze byli konsekwentnie dostosowani, a projekt był dobrze skoordynowany i na dobrej drodze.

Zespół

1

Kierownik projektu

1

Kierownik zespołu

1

Lead Automation QA Engineer

1

Analityk danych testowych

4

Inżynierowie automatyzacji kontroli jakości / eksperci SDET

Wyniki

Szybszy cykl wydawania oprogramowania i 2x mniej błędów produkcyjnych

Po pomyślnym wdrożeniu zautomatyzowanych ram testowania, klient przeszedł na solidne środowisko automatyzacji testów, które zapewnia znaczące usprawnienia operacyjne.

  • Zwiększona wydajność uwalniania: Wykorzystując automatyzację, drastycznie zmniejszono zależność od czasochłonnego testowania ręcznego, co pozwoliło przyspieszyć cykl wydawania oprogramowania.
  • Redukcja błędów: Ulepszone możliwości testowania zaowocowały spadkiem liczby błędów regresji o 50%, co dowodzi skuteczności procesów automatyzacji testów.
  • Zwiększona stabilność środowiska testowego: Dzięki dopracowaniu i optymalizacji konfiguracji testów znacznie zminimalizowaliśmy występowanie błędów w testach, co doprowadziło do bardziej spójnych i niezawodnych wyników testów.

Ten strategiczny przegląd rozwiązał początkowe wyzwania klienta dzięki dostosowanemu podejściu technologicznemu i wskazówkom ekspertów. Wyposażając zespół w najnowocześniejsze narzędzia i dogłębną wiedzę, stworzyliśmy podstawy dla ciągłej skalowalności i ciągłych usprawnień operacyjnych.

Czas trwania projektu
  • Sierpień 2023 r. - w toku

3x

szybsze wdrażanie wersji

50%

mniej błędów produkcyjnych

Skontaktuj się z nami!

Zadzwoń lub wypełnij poniższy formularz, a my skontaktujemy się z Tobą po przetworzeniu Twojego zgłoszenia.

    Prosimy o podanie szczegółów projektu, czasu trwania, stosu technologicznego, potrzebnych specjalistów IT i innych istotnych informacji.
    Nagraj wiadomość głosową na temat
    projekt, który pomoże nam lepiej go zrozumieć
    W razie potrzeby dołącz dodatkowe dokumenty
    Prześlij plik

    Można załączyć maksymalnie 1 plik o łącznej wielkości 2 MB. Ważne pliki: pdf, jpg, jpeg, png

    Informujemy, że po kliknięciu przycisku Wyślij Innowise będzie przetwarzać Twoje dane osobowe zgodnie z naszą Polityką prywatności w celu dostarczenia Ci odpowiednich informacji.

    Co będzie dalej?

    1

    Po otrzymaniu i przetworzeniu Twojego zgłoszenia skontaktujemy się z Tobą wkrótce, aby wyszczególnić potrzeby projektu i podpisać umowę o zachowaniu poufności, aby zapewnić poufność informacji.

    2

    Po przeanalizowaniu wymagań, nasi analitycy i programiści opracowują projekt z zakresem prac, wielkością zespołu, czasem i kosztami szacunki.

    3

    Umówimy się z Tobą na spotkanie, aby omówić ofertę i dojść do porozumienia porozumienia.

    4

    Podpisujemy umowę i rozpoczynamy pracę nad projektem tak szybko, jak to możliwe.

    Dziękuję!

    Wiadomość została wysłana.
    Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

    Dziękuję!

    Wiadomość została wysłana.
    Przetworzymy Twoją prośbę i skontaktujemy się z Tobą tak szybko, jak to możliwe.

    strzałka