Robot do automatyzacji testowania urządzeń sterowniczych

Robot do automatyzacji testowania urządzeń sterowniczych
Kiedy manualne testy urządzeń przestają być efektywne, warto rozważyć automatyzację. Firma Sii dla jednego ze swoich klientów buduje robota do przeprowadzania automatycznych weryfikacji poprawności działania urządzeń sterowniczych w maszynach kolejowych.

Projekt ma na celu budowę urządzenia prototypowego do testowania ekranów dotykowych.Ekrany, o których mowa, służą do monitorowania oraz sterowania maszyną, w której się znajdują. Wspomniana maszyna posiada dwa interfejsy (ekrany), które działają naprzemiennie. 

Pierwsza faza umożliwi zamontowanie urządzenia w laboratoriach klienta na całym świecie i uruchomienie testów na testowanych urządzeniach w dowolnej lokalizacji, z dowolnego miejsca na Ziemi, z dostępem do tej sieci robotów. Dzięki braku konieczności przebywania w laboratorium z testowanym urządzeniem i systemem, uzyskuje się zwiększenie przepustowości natężenia prac, szybkości dostarczenia wyników oraz obniżenie kosztów prac.

Prowadzone aktualnie testy maszyn odbywają się z udziałem człowieka, a konstrukcja rozwiązania nie pozwala na pełną automatyzację testów z poziomu kodowego. Powstał więc robot, który zastępuje człowieka podczas testów. Ruchy oraz kliknięcia odbywają się zgodnie ze zdefiniowanym programem - mówi Kamil Zorychta, inżynier oprogramowania z Sii, pracujący nad projektem.

Widoczny na wizualizacji 3D robot posiada głowicę, która jest elementem wykonawczym, wykorzystywanym podczas klikania na testowanych ekranach. Praca robota wspomagana jest przez kamerę oraz mikrofon. Kamera może zostać ustawiona prostopadle nad jednym z testowanych ekranów. Strumień wideo oraz audio może być analizowany przez program zewnętrzny lub służyć jako podgląd (z możliwością sterowania) ekranu przez człowieka (poprzez wbudowany interfejs webowy).

Decyzja o automatyzacji poprzez zewnętrzne urządzenie podjęta została po dogłębnej analizie technologicznej. Obraz z urządzeń wyświetlających nie może być przechwycony „z kabla”, ponieważ stanowi to potencjalne miejsce do przekłamania wyników testów. Przykładowo uszkodzony wyświetlacz uniemożliwi operatorowi posługiwanie się maszyną, a mimo to testy zakończą się pomyślnie, ponieważ sygnał jest nadawany poprawnie.

Najważniejszym punktem w decyzji o automatyzacji była swoboda modyfikacji parametrów wyświetlania oraz odpowiednich reakcji na komunikaty pojawiające się na ekranie. Po wprowadzeniu pełnej automatyzacji, testerzy poprzez skrypty będą kontrolowali reakcję, która powinna wystąpić podczas różnych zdarzeń (oczekiwany rezultat). Inaczej mówiąc, zachowanie maszyny (w której znajdują się wyświetlacze) oraz reakcja na wyświetlane komunikaty mogą być dzięki automatyzacji w pełni kontrolowane. 

Na decyzję o automatyzacji wpłynął również przeprowadzony business case, który pokazał szansę na redukcję kosztów testowania i zwiększenie efektywności w ich wykonaniu. Sama potrzeba, która była motorem napędowym, powstała już na etapie rozpoczęcia testowania ekranów. Szybko zauważono, że częste zmiany przypadków testowych oraz sposobów wyświetlania komunikatów są w tym przypadku bardzo nieefektywne, z powodu konieczności wykonywania setek testów ręcznie. Docelowe rozwiązanie pomoże zredukować monotonną pracę testerów. 

Projekt jest w fazie swojego pilotażu, a samo wdrożenie automatu podzielono na etapy, poszerzając jego zakres „obowiązków”. Należy pamiętać, że jest to prototyp, dlatego też urządzenie jest ciągle w fazie testów.  Do wdrażania powołano cały zespół z liderem oraz przeszkolonymi inżynierami, którzy będą oprogramowywać działanie robota. Dzięki zaprojektowanej architekturze skrypty do testowania mogą być tworzone w dowolnym języku programowania oraz środowisku za sprawą ustalonego protokołu komunikacyjnego ATE. Decyzją klienta skrypty tworzone są przy pomocy C#. Aby dodatkowo przejrzyście zarządzać automatyzacją, skrypty znajdują się w repozytorium i wykonywane są podczas każdego budowania systemu (Continuous Integration). Produkt w tej chwili przechodzi fazy testów, ale już niedługo powinien osiągnąć pełną efektywność. 

W kolejnych etapach, które są dopiero w planach, do systemu testującego włączony zostanie Machine Learning, gdzie zaadaptowany i zintegrowany zostanie system do uczenia się automatycznych testów przez robota. Pojawiające się zdarzenia na ekranie będą podstawą do uczenia robota jak się ma zachować i jakie operacje wykonać. Jednym z założeń jest obsługa nieznanego komunikatu, gdzie robot będzie sam pytał jak z takim zdarzeniem postąpić i przy każdym ponownym wystąpieniu, będzie wiedział co zrobić.

 

[artykuł sponsorowany]

 
 
5770

Powiązane szkolenia

05-06
czerwca
2023
Jarosław Hryszko
online
Praktyka testowania
1 750PLN
Testowanie aplikacji internetowych
12
Wolnych miejsc
Rezerwuj
06-07
marca
2023
Arnika Hryszko
online
Praktyka testowania
1 770PLN
Testowanie użyteczności
9
Wolnych miejsc
Rezerwuj
20-21
kwietnia
2023
Rafał Stańczak
online
Dobre praktyki testowania
1 700PLN
Testowanie w metodykach Agile
12
Wolnych miejsc
Rezerwuj
23-24
marca
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
1 770PLN
Testowanie aplikacji mobilnych - Android
9
Wolnych miejsc
Rezerwuj
12-13
czerwca
2023
Krzysztof Skarbiński
online
Automatyzacja testowania
1 800PLN
Testowanie REST API dla początkujących w języku python
11
Wolnych miejsc
Rezerwuj
27-28
lutego
2023
Krzysztof Kołodziejczyk
online
Języki programowania dla testerów
1 800PLN
JavaScript dla testerów oprogramowania
10
Wolnych miejsc
Rezerwuj
10-12
kwietnia
2023
Krzysztof Kołodziejczyk
online
Praktyka testowania
3 000PLN
Tester gier
11
Wolnych miejsc
Rezerwuj
13
marca
2023
-09
kwietnia
2023
Krzysztof Kołodziejczyk
online
Automatyzacja testowania
5 500PLN
Praktyka automatyzacji testowania
5
Wolnych miejsc
Rezerwuj

To powinno Cię zainteresować