Strona korzysta z plików cookie w celu realizacji usług zgodnie z Polityką Cookies. Możesz samodzielnie określić warunki przechowywania lub dostępu plików cookie w Twojej przeglądarce.

Rozumiem

Zautomatyzowana nowoczesność

Systemy tworzone w BSB są często systemami krytycznymi, które muszą wykazywać się niezawodnością, dostępnością oraz bezpieczeństwem. Takie aplikacje muszą każdorazowo przechodzić dokładny proces testowania, który manualnie zazwyczaj trwa za długo i nie daje gwarancji powtarzalności. Rozwiązaniem dla powyższych problemów jest zastosowanie automatyzacji dla procesów testowych.

Zmiana = test

Testy automatyczne uruchamiane są przez dedykowane narzędzia przy każdej wprowadzonej zmianie w oprogramowaniu. Weryfikują one poprawność działania aplikacji oraz wprowadzonych modyfikacji, zanim zmiany zostaną wprowadzone do docelowej wersji. Stosowanie automatyzacji testów pozwala na szybkie wykrywanie błędów oraz zapewnia wysoką jakość wytwarzanego oprogramowania.

Wykorzystywane narzędzia do tworzenia testów automatycznych

Na rynku dostępnych jest wiele narzędzi umożliwiających tworzenie testów automatycznych, które można z powodzeniem stosować podczas produkcji i weryfikacji oprogramowania. Najważniejsze z nich przedstawione są na poniższej wizualizacji.

Czy testowanie automatyczne może zastąpić pracę testera manualnego? Zdecydowanie nie, jednak automatyzacja procesu testowania może przynieść wiele korzyści.

Automatyzacja testów pozwala na zdecydowanie szybsze i bardziej kompleksowe testowanie wytwarzanego oprogramowania w porównaniu do testów manualnych. Umożliwia wieloplatformowe przetestowanie funkcjonalności w oparciu o różnorodne konfiguracje danych testowych w serii powtarzalnych testów, z możliwością symulacji testowania oprogramowania przez dziesiątki użytkowników.

Ze względu, że testy przeprowadzanie są za pomocą skryptów i narzędzi, eliminują możliwość popełnienia błędu przez testera, są tym samym rzetelniejsze i dokładniejsze. Z uwagi na swoją  powtarzalność sprzyjają testowaniu w sposób transparentny zarówno zadań rutynowych, jak i o złożonej logice biznesowej.

Ciągłość testowania

Zachowanie ciągłości procesu testowania sprzyja wszechstronnej analizie procesu realizacji oprogramowania w oparciu o dostarczane informacje zwrotne. Szczegółowe dane zawarte w raportach, które są generowane podczas procesu testowania, pozwalają na wizualne porównanie oczekiwanych i rzeczywistych wyników, możliwość odtworzenia błędów oraz natychmiastowe raportowanie awarii.

Testy umożliwiają systematyczne testowanie pojedynczych funkcjonalności kodu już na wczesnych etapach produkcji, co pozwala na zmniejszenie kosztów i czasu pracy nad oprogramowaniem. Dzięki swojej powtarzalności  i łatwości adaptacji testy automatyczne zapobiegają zjawisku regresji podczas procesu refaktoryzacji, modyfikacji funkcjonalności lub rozbudowy istniejącego rozwiązania.

Przykładowe case study czyli jak to robimy w BSB:

1. Błędy regresji

Podczas realizacji nowego projektu, budowanie wersji z głównej gałęzi kodów czasami kończyło się niepowodzeniem ze względu na występowanie błędów regresji. Nowa wersja aplikacji nie mogła zostać wystawiona na środowisko testowe dopóki nie zostały naprawione wykryte usterki. Opóźnienie w wystawianiu wersji skutkowało brakiem wymaganego czasu na przeprowadzanie planowanych testów manualnych.

W celu szybszego wychwytywania błędów regresji w aplikacji, wprowadzono uruchamianie testów automatycznych przy każdym scalaniu zmian z główną gałęzią kodów.

Wprowadzone zmiany nie tylko pomogły szybciej wychwytywać usterki, ale także poprawiły świadomość, w których dokładnie zmianach one występują, co skutkowało szybszą ich poprawą. Rozwiązanie również zniwelowało opóźnienia w wystawianiu wersji oraz zwiększyła się ilość dostępnego czasu na przeprowadzenie testów manualnych.

2. Ciągła kontrola w dobie różnorodności

Podczas modyfikacji funkcjonalności dla istniejącego projektu, mimo testowania nowej wersji aplikacji na środowisku deweloperskim przez testy automatyczne, na środowiskach klienckich pojawiały się błędy. Wynikały one z różnorodnych konfiguracji i preferowanych przez klientów ustawień aplikacji.

W celu dokładniejszego i szybszego wykrywania błędów na środowiskach zgodnych z parametryzacją klientów, wprowadzono uruchamianie testów automatycznych dla wszystkich środowisk testowych z preferowanymi ustawieniami poszczególnych klientów.

Efektem czego jest możliwość kontrolowania działania aplikacji w sposób ciągły dla każdego z klientów z osobna. Pozwala to na wychwycenie błędów wynikających ze specyficznych ustawień klienta od tych  stanowiących błędy globalne. Wprowadzona zmiana skróciła czas retestowania pozostałych systemów oraz pozwoliła na precyzyjne określenie miejsca wystąpienia awarii i sprawną komunikację zwrotną.

Jeśli mają Państwo pytania dotyczące automatyzacji testów lub są Państwo zainteresowani współpracą w tym zakresie to prosimy o kontakt. Nasz zespół jest do Państwa dyspozycji.