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.

Zautomatyzowane testowanie oprogramowania: 2-krotny wzrost szybkości wydawania funkcji

Firma Innowise przeprowadziła automatyczne testowanie oprogramowania, aby zapewnić, że integracja nowych funkcji systemowych nie wpłynie na integralność istniejących funkcji.

Klient

Branża
Technologia informacyjna
Region
Szwajcaria
Klient od
2023

Nasz klient jest dostawcą rozwiązań ERP w chmurze zaprojektowanych w celu zwiększenia wydajności operacyjnej i odporności na zakłócenia operacyjne.

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

Wyzwanie

Weryfikacja stabilności systemu ERP po integracji nowych funkcji

Nasz klient wprowadził nowe funkcje do swojego systemu ERP i zintegrował je z istniejącą wersją. Zwrócił się do Innowise z prośbą o ocenę stabilności wdrożonego oprogramowania. Oferowaliśmy usługi automatycznego testowania oprogramowania, mające na celu zidentyfikowanie potencjalnych przeszkód w systemie i ich naprawienie.

Wdrożenie

Korzystanie z usług zautomatyzowanego testowania oprogramowania w celu identyfikacji i rozwiązywania potencjalnych problemów.

Innowise ulepszył system ERP klienta dzięki wieloaspektowemu podejściu do automatycznego testowania oprogramowania. Obejmowało ono testy dymu, funkcjonalne i regresji, wszystkie wykonywane w ramach potoku ciągłej integracji/ciągłego dostarczania (CI/CD). Testy dymu zostały zastosowane w celu szybkiego zweryfikowania stabilności kluczowych funkcji, podczas gdy testy funkcjonalne były niezbędne do sprawdzenia poprawności każdej funkcji. Testy regresji miały kluczowe znaczenie dla zapewnienia, że nowe aktualizacje nie wpłyną negatywnie na istniejące funkcje. Integracja tych metod testowania z potokiem CI/CD usprawniła proces rozwoju. Takie podejście umożliwiło szybką identyfikację i rozwiązywanie problemów oraz zapewniło spójne wdrażanie solidnych, wysokiej jakości funkcji w systemie ERP.

Ocena przypadków testowych pod kątem automatyzacji

Na początku naszym zadaniem było przeczesanie przypadków testowych stworzonych przez testerów manualnych. Korzystając z naszego rozległego doświadczenia w testowaniu oprogramowania, zagłębiliśmy się w każdy przypadek, ręcznie wykonując kroki każdego przypadku testowego, aby ocenić jego złożoność i możliwość automatyzacji. Naszym celem było określenie najbardziej efektywnego sposobu automatyzacji powtarzalnych i czasochłonnych zadań bez wpływu na dokładność wyników testów.

Wdrażanie testów dymu

Nasi testerzy stworzyli kolekcję nagranych wcześniej testów dymu, które były uruchamiane przy każdej nowej kompilacji. Testy te były niezbędne do potwierdzenia, że główne funkcje oprogramowania działają, zapewniając spójność i dokładność. Jeśli zautomatyzowany test sygnalizował błąd, natychmiast powiadamiał o tym nasz zespół, umożliwiając szybką identyfikację problemu i podjęcie odpowiednich działań.

Elastyczność naszego procesu umożliwiła naszemu zespołowi szybkie rozwiązywanie wszelkich problemów wykrytych podczas kompilacji. Niezwłocznie wdrożyliśmy wymagane poprawki i ponownie wdrożyliśmy kompilację, zapewniając minimalne zakłócenia.

Integracja testów funkcjonalnych w każdym sprincie

Płynnie przeszliśmy od szeroko zakrojonej weryfikacji testów dymnych do ukierunkowanego i skrupulatnego podejścia do testów funkcjonalnych. Zapewniło to, że każda nowa aktualizacja była skuteczna w izolacji i płynnie łączyła się z ustalonymi komponentami oprogramowania. Przeprowadzaliśmy testy funkcjonalne w każdym sprincie, dzięki czemu każdy przyrostowy rozwój był rygorystycznie oceniany, utrzymując ogólną jakość i spójność oprogramowania.

Testowanie regresji oprogramowania

Zastosowaliśmy usprawniony, ale dokładny proces wdrażania zautomatyzowanych testów regresji. Nasz zespół skonfigurował środowisko testowe, które odzwierciedlało rzeczywiste warunki produkcyjne, zapewniając, że nasze wyniki były tak dokładne, jak to tylko możliwe. Dzięki Selenium zautomatyzowaliśmy skrypty testów regresji, znacznie zwiększając wydajność, co jest kluczowym czynnikiem w przypadku złożonych systemów.

Po zautomatyzowaniu uruchomiliśmy te skrypty w odniesieniu do najnowszej kompilacji, aby sprawdzić niespójności lub awarie. Po uruchomieniu testów dokładnie przeanalizowaliśmy wyniki, wskazując wszelkie pojawiające się błędy lub problemy.

Jeśli wykryliśmy jakiekolwiek problemy, natychmiast je rozwiązywaliśmy, modyfikując kod i ponownie przeprowadzając testy, aby potwierdzić skuteczność naszych poprawek. Ten cykl testowania, analizowania i udoskonalania był stały przy każdej nowej aktualizacji oprogramowania, zapewniając jego stabilność i zamierzoną funkcjonalność. Takie skuteczne podejście do testów regresyjnych było kluczem do utrzymania niezawodności i wydajności oprogramowania, zmniejszając w ten sposób ryzyko wystąpienia błędów i zapewniając płynne wrażenia użytkownika.

Potok ciągłej integracji/ciągłego dostarczania (CI/CD)

Oprócz rygorystycznego procesu testowania, zintegrowaliśmy również nasze testy z potokiem ciągłej integracji/ciągłego dostarczania (CI/CD), zwiększając wydajność naszego cyklu rozwoju i szybkość reakcji. Wykorzystaliśmy narzędzie Allure do szczegółowego raportowania, które zapewniło jasny wgląd w wyniki testów. Ta integracja pozwoliła nam skonfigurować zautomatyzowany system, w którym testy były uruchamiane każdej nocy. Ta nocna rutyna testowania zapewniła, że wszelkie nowe zmiany były natychmiast oceniane, umożliwiając szybką identyfikację i rozwiązywanie problemów. Włączenie raportów Allure do naszego potoku CI/CD oznaczało, że nasz zespół miał dostęp do kompleksowych danych testowych każdego ranka, usprawniając podejmowanie decyzji i utrzymując stały nacisk na jakość i stabilność. Integracja ta przyspieszyła nasz proces testowania i zwiększyła niezawodność każdej dostarczanej przez nas kompilacji oprogramowania.

Szczegółowe kroki w naszym potoku CI/CD:

  • Kod: Programiści pisali i udoskonalali kod, upewniając się, że spełnia on nasze standardy dotyczące funkcjonalności i wyglądu.
  • Zobowiązanie: Następnie zatwierdziliśmy zaktualizowany kod w naszym systemie kontroli wersji, oznaczając pierwszy punkt kontrolny w potoku.
  • Budować: Ten zatwierdzony kod przeszedł proces kompilacji, w którym został przekonwertowany do postaci nadającej się do uruchomienia, gotowej do testowania.
  • Testy jednostkowe: Poddaliśmy kompilację testom jednostkowym, w których poszczególne komponenty zostały przetestowane pod kątem poprawności. Zostało to przeprowadzone w celu zagwarantowania, że każdy komponent działa bezbłędnie.
  • Testy dymu: Po testach jednostkowych przeprowadziliśmy testy dymne kompilacji, aby szybko sprawdzić, czy krytyczne funkcje działają zgodnie z oczekiwaniami.
  • Zobowiązanie: Po przeprowadzeniu testów dymnych ponownie zatwierdziliśmy kod w systemie kontroli wersji, wprowadzając wszelkie zmiany wprowadzone po testach.
  • Recenzja: Dokładnie sprawdziliśmy każdy commit, upewniając się, że zmiany są zgodne z naszymi standardami jakości i celami projektu.
  • Inscenizacja: Kompilacja została przeniesiona do środowiska przejściowego, które ściśle odzwierciedlało konfigurację produkcyjną, w celu dalszych testów.
  • Testy systemu: W fazie testowej przeprowadziliśmy kompleksowe testy systemu, aby zweryfikować kompilację w środowisku symulującym rzeczywiste użycie.
  • Produkcja: Gdy kompilacja pomyślnie przeszła wszystkie etapy testów, została wdrożona w środowisku produkcyjnym, udostępniając ją użytkownikom końcowym.

Technologie

AQA

Python, Pytest, Selenium, Allure

Back-end

Java, Spring, Hibernate

VSC

Git, Gitlab

Cloud

AWS Grafana IAM, SNS, SQS, KMS, RDS(PostgreSQL), S3, SES

DevOps

Gitlab, Docker, Docker Compose

Proces

Metodologia Agile i struktura sprintu

W naszym projekcie ściśle przestrzegaliśmy metodologii Agile, dzieląc proces rozwoju na dwutygodniowe sprinty. Takie podejście pozwoliło nam podzielić projekt na łatwe do zarządzania części, zapewniając spójność i wydajność na każdym etapie.

Zarządzanie zadaniami i współpraca zespołowa

Na początku każdego sprintu określaliśmy jasne cele i zadania, które były śledzone za pomocą Jira. Narzędzie to utrzymywało nasz zespół na bieżąco. Używaliśmy go nie tylko do śledzenia zadań, ale także jako centralnego centrum współpracy i komunikacji, dzięki czemu każdy członek zespołu był zawsze na bieżąco z najnowszymi osiągnięciami i priorytetami.

Przegląd sprintu i szczegółowe raportowanie

Gdy zbliżaliśmy się do końca każdego sprintu, skupialiśmy się na konsolidacji naszej pracy i przygotowaniach do przeglądu sprintu. Starannie opracowywaliśmy szczegółowe raporty, które podkreślały zakres i wyniki naszych testów. Raporty te były czymś więcej niż tylko podsumowaniem wykonanych zadań, zawierały one dogłębną analizę tego, co osiągnęliśmy, jakie wyzwania napotkaliśmy i jak sobie z nimi poradziliśmy. Zawierały one również informacje zwrotne z naszych procesów testowania oraz wszelkie wnioski, które można było przenieść na następny sprint.

Zespół

3

Inżynierowie AQA

1

Inżynier DevOps

Wyniki

Przyspieszone wdrażanie funkcji i zmniejszenie liczby błędów produkcyjnych o 50%

Wdrożenie zautomatyzowanych testów dla systemu ERP naszego klienta zaowocowało znaczącymi ulepszeniami i wydajnością:

  • Szybsze wydawanie nowych funkcji: dzięki zautomatyzowanym testom nowe funkcje zostały wydane dwa razy szybciej w porównaniu z poprzednim procesem ręcznym.
  • Redukcja liczby błędów: Integracja CI/CD doprowadziła do zmniejszenia liczby błędów trafiających do produkcji o 50%, znacznie zwiększając niezawodność oprogramowania.

Biorąc pod uwagę ten pozytywny wynik, nasz klient wyraził entuzjazm dla naszej współpracy. Dostrzegają wartość, jaką nasza wiedza i wdrażanie najnowocześniejszych technologii wnoszą do ich działalności. W przyszłości będziemy ściśle współpracować z naszym klientem, aby wykorzystać osiągnięte sukcesy i zbadać dalsze możliwości ulepszenia jego systemów i procesów.

Czas trwania projektu
  • Wrzesień 2023 r. - w trakcie realizacji

2x

wzrost szybkości uwalniania funkcjonalności

50%

mniej błędów trafiających do produkcji

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.

    Спасибо!

    Cобщение отправлено.
    Мы обработаем ваш запрос и свяжемся с вами в кратчайшие сроки.

    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