Formularz został pomyślnie przesłany.
Więcej informacji można znaleźć w skrzynce pocztowej.
Innowise zintegrowało zautomatyzowane testowanie aplikacji internetowych aby zapewnić szybkie i wolne od błędów cykle rozwoju oprogramowania.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
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.
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
Po pomyślnym wdrożeniu zautomatyzowanych ram testowania, klient przeszedł na solidne środowisko automatyzacji testów, które zapewnia znaczące usprawnienia operacyjne.
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.
3x
szybsze wdrażanie wersji
50%
mniej błędów produkcyjnych
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.
Po przeanalizowaniu wymagań, nasi analitycy i programiści opracowują projekt z zakresem prac, wielkością zespołu, czasem i kosztami szacunki.
Umówimy się z Tobą na spotkanie, aby omówić ofertę i dojść do porozumienia porozumienia.
Podpisujemy umowę i rozpoczynamy pracę nad projektem tak szybko, jak to możliwe.
© 2007-2024 Innowise. Wszelkie prawa zastrzeżone.
Polityka prywatności. Polityka dotycząca plików cookie.
Innowise Sp. z o.o Ul. Rondo Ignacego Daszyńskiego, 2B-22P, 00-843 Warszawa, Polska
Rejestrując się, wyrażasz zgodę na naszą Politykę Prywatności, w tym korzystanie z plików cookie i przekazywanie Twoich danych osobowych.
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.