Uczenie maszynowe stało się jednym z najgorętszych tematów w branży IT.  Jednym z ciekawych przykładów wykorzystania tej technologii jest aplikacja do testowania funkcjonalnego opracowana przez startup  Mabl.  Jego założyciele – Izzy Azzeri oraz Dan Belcher nie są nowicjuszami. W 2012 roku założyli firmę Stackdriver, która postawiła sobie za cel  stworzenie oprogramowania do monitoringu środowiska chmurowego.  Już dwa lata później startup został wchłonięty przez Google.  Azzeri oraz Belcher wytrzymali w koncernie z Mountain View niespełna trzy lata, a następnie uruchomili nowy projekt. 

–  Podczas pracy w Google spotykaliśmy się z wieloma zespołami programistycznymi i obserwowaliśmy ich pracę. O ile sam proces tworzenia nowego kodu jest bardzo szybki, o tyle testowanie staje się wąskim gardłem. – mówi Izzy Azzeri.

Zespoły programistyczne tworzą software w krótkich cyklach produkcyjnych, co umożliwia szybsze budowanie i  publikację aplikacji.  Jednakże nowe uwarunkowania wiążą się z potrzebą częstych testów, czasami nawet kilku dziennie.

– Na początku przedsięwzięcia szukałem nowego wyzwania, które ułatwiłoby testowanie oprogramowania.  Ostatecznie skoncentrowaliśmy  się na aplikacjach internetowych, ale nasza koncepcja sprawdza się także w przypadku programów na  Androida czy iOS. Mabl jest kompletnym środowiskiem testowym, które nie wymaga wcześniej zdefiniowanych skryptów testowych – tłumaczy  Izzy Azzeri.

Testowanie witryn internetowych odbywa się za pośrednictwem usługi hostowanej na platformie chmurowej Google.  Na tejże są realizowane funkcje analityczne, przetwarzanie oraz uczenie maszynowe.  Mabl korzysta z takich narzędzi jak:  Cloud Engine ML (bezserwerowa platforma do trenowania w chmurze),  Dataflow (platforma do przetwarzania danych), BigQuerry (skalowalna  hurtownię danych), Datastore (baza NoSQL).  Aplikacja informuje deweloperów o wszelkich zmianach wizualnych, błędach JavaScript, uszkodzonych linkach i zwiększonym czasie ładowania.

Po uruchomieniu testów w Mabl system gromadzi ogromną ilość informacji, które obejmują nie tylko testy dzienników wyjściowych, ale także dane dotyczące HTML, obrazy, zrzuty ekranu stanu stron i błędy pochodzące z Chrome i innych przeglądarek.  Wszystkie dane testowe są kierowane do tzw. potoku uczenia maszynowego.  W rezultacie jakość testów  poprawia się automatycznie wraz z upływem czasu i liczbą wykonywanych operacji.  Mabl przechwytując duże zbiory danych cały czas się uczy, tym samym dostarczając użytkownikom coraz bardziej precyzyjny wyniki i trafne spostrzeżenie. Jednym z przykładów może być testowanie wydajności aplikacji. Mabl mierzy czas dla każdej strony, obrazu i o komponentu, zawsze po uruchomieniu testu.  Następnie przekazuje wszystkie informacji do analizy i modeli szkoleniowych i tym samym ustala typową wydajność dla wszystkich stron i komponentów.  

Na uwagę zasługuje fakt, iż w ciągu niespełna dwóch lat startup pozyskał 30 mld dolarów. Założyciele nie ukrywają, że udało im się pozyskać fundusze od venture capitals łatwiej niż w przypadku  Stackdrive – 15 mlddolarów w dwa lata.  Samo rozwiązanie pojawiło się na rynku w tym roku, a na liście jego użytkowników znajdują się Honeywell, Symantec czy Business Harvard School.  Wersja testowa aplikacji znajduje się na  https://app.mabl.com/signup