Case Study: LEGO Mindstorms

Rola testerów oprogramowania jest niezbędna w każdym centrum wytwarzania oprogramowania. Odpowiadają oni za weryfikację prawidłowego działania stworzonego programu, systemu czy całego urządzenia. W razie wykrycia jakichkolwiek nieprawidłowości informują developerów, którzy następnie wprowadzają poprawki, po których odbywa się kolejna seria testów. I tak do uzyskania perfekcyjnie działającego produktu. 

Sytuacja wyjściowa

O ile testy oprogramowania są w 99% zautomatyzowane, o tyle testy urządzeń wymagają już pewnej interakcji testera. Najczęściej są to czynności często powtarzalne, takie jak wkładanie i wyjmowanie kabla, zmiany karty SIM, przyciskanie danych funkcji na ekranie dotykowym itp. Ze względu na dużą ilość iteracji testów, takie operacje znacznie wydłużają proces testowania.

Pomysł

Czy tego typu operacje manualne można zautomatyzować w prosty, szybki i ekonomiczny sposób? Właśnie takie pytanie zadali sobie testerzy z GlobalLogic i błyskawicznie przeszli do działania. Jaki jest naturalny kierunek poszukiwania wsparcia dla człowieka? Roboty. Udało się znaleźć ogólnodostępne rozwiązanie – LEGO Mindstorms, czyli zaawansowane technologicznie zestawy klocków LEGO umożliwiające oprogramowanie złożonej maszyny pod własne potrzeby.

Rezultat

W wyniku kreatywnego myślenia, zdolności manualnych i wiedzy programistycznej testerów w GlobalLogic powstały dwie maszyny aktywnie wspierające pracę testerów. Pierwsza z nich odpowiedzialna jest za wymianę karty SIM w testowanym urządzeniu. W odpowiednim momencie testu, robot z klocków LEGO wyjmuje ze slotu kartę SIM jednego operatora komórkowego, a następnie wsuwa kartę innego. To rozwiązanie eliminuje fizyczny udział testera, dzięki czemu proces weryfikacji urządzenia jest szybszy. Pozwala również prowadzić testy, kiedy osoba nie jest dostępna na miejscu – na przykład przez całą noc.

Drugi robot skonstruowany i zaprogramowany przez inżynierów GlobalLogic potrafi precyzyjnie wybierać funkcje np. na ekranie dotykowym, co w znacznym stopniu redukuje czas potrzebny na przeprowadzenie testów aplikacji, systemu operacyjnego lub panelu sterującego. Wyzwaniem dla konstruktorów okazało się uzyskanie odpowiednio mocnego pola elektrostatycznego, które będzie imitować palec ludzkiej ręki. Rozwiązaniem okazała się folia aluminiowa zakończona niepodłączonym kablem, który skutecznie wzmacnia siłę ładunku na końcówce robota.