Nevion, należący do grupy Sony, wielokrotnie nagradzany dostawca rozwiązań technologicznych do produkcji medialnych, chciał stworzyć framework do automatycznego testowania połączeń audio-video. Kluczową kwestią było sprawdzanie połączeń pochodzących z różnych systemów, czego nie obsługiwały tradycyjne testy regresji.
Nevion potrzebował dedykowanego frameworka do automatycznego testowania sygnałów pochodzących z różnych systemów audio-video swoich klientów, który miał poszerzyć ich dotychczasową ofertę. Niestety, klient nie posiadał wystarczających zasobów do realizacji tego projektu, dlatego rozpoczął poszukiwania odpowiedniego partnera technologicznego. Na tle innych potencjalnych dostawców, Solwit wyróżnił się propozycją kompleksowych usług doradczych w zakresie architektury testów automatycznych oraz w pełni skalowalnymi zasobami, jeśli chodzi o zespoły programistyczne.
Zespół Solwitu posiadał kompetencje w pełni odpowiadające potrzebom klienta, został więc zaproszony do współpracy nad opracowaniem frameworka, który spełniałby kryteria wydajności, niezawodności, stabilności i skalowalności.
W związku z tym, że mamy duże doświadczenie w pracy nad systemami audio i wideo oraz ekspercką wiedzę z zakresu testowania oprogramowania, postanowiliśmy podjąć się tego wyzwania.
Stworzony system został oparty na konfigurowalnym frameworku do wykonywania testów automatycznych i generowania raportów.
Framework stworzony przez zespół Solwitu może być wykorzystywany do realizacji testów automatycznych oraz generowania raportów, zarówno w warunkach laboratoryjnych, jak również w środowisku specyficznym dla danego klienta końcowego (z uwzględnieniem ograniczeń wynikających z wymogów bezpieczeństwa). Głównym celem systemu jest przewidzenie jak największej liczby potencjalnych kosztownych awarii w środowisku produkcyjnym u każdego klienta końcowego.
Framework jest w pełni konfigurowalny, daje możliwość wykonywania automatyzacji testów niefunkcjonalnych, obciążeniowych i zgodności oraz możliwość symulowania aktywności w czasie rzeczywistym, żeby sprawdzać zużycie zasobów systemowych w określonych warunkach.
Testowany system (SUT) działa w warunkach wysokiej stabilności, dostępności, niezawodności oraz sprawnego przełączania awaryjnego przy jednoczesnym ciągłym obciążeniu, związanym z utrzymaniem setek połączonych punktów końcowych, obsługujących strumienie audio i wideo. Aby przetestować składające się na system: GUI, REST-owy backend oraz media sieciowe, framework wspiera scenariusze trwające minuty, a nawet miesiące, jednocześnie pozwalając na zbieranie i analizę metryk niefunkcjonalnych. Framework wykorzystuje takie technologie jak Python, pytest, Ansible, PostgreSQL, REST, Prometheus, Selenium Webdriver 3-4, Selenium GRID, Docker, Jenkins.
Marcin Gryczko, Konsultant ds. testów automatycznych
W ramach projektu, oprócz stworzenia frameworka, zautomatyzowaliśmy proces zmiany wersji oprogramowania na dowolnej maszynie, co pozwala na oszczędności poprzez minimalizowanie czasu niedostępności systemów u klientów końcowych. Wszystkie scenariusze testów automatycznych są konfigurowalne i dostosowane do pracy w środowiskach produkcyjnych klientów Neviona.
Skuteczne wdrożenie frameworka było wstępem do rozszerzenia współpracy i rozpoczęcia prac nad analizą całego systemu klienta w zakresie danych z przesyłu obrazu i dźwięku. W przyszłości planujemy przygotowanie dodatkowych scenariuszy testowych, parametryzację i dalszą automatyzację testów funkcjonalnych.
Powiedz nam czego dokładnie potrzebujesz.
Ustalmy priorytety i kolejność wykonywanych funkcjonalności / funkcji / zmian Twojego oprogramowania.
Chcemy wiedzieć, na kiedy potrzebujesz gotowego rozwiązania.