INNOVATION LAB
Siamo un’azienda fortemente orientata all’R&D, circa i 2/3 del personale è impegnato nello sviluppare software per rispondere alle esigenze dettate dai cambiamenti della società ed essere sempre al passo con i tempi e le nuove necessità aziendali.
Le tecnologie VoIP (Voice over IP) e MoIP (Multimedia over IP) sono di fatto pervasive nel mondo delle telecomunicazioni. Tuttavia implementare del software che sfrutti appieno le potenzialità di tali tecnologie può risultare molto complesso. Il VDK nasce proprio dall’esigenza di avere un SDK (Software Development Kit) che semplifichi radicalmente gli sforzi degli sviluppatori alle prese con tali tecnologie.
Il VDK espone una interfaccia di programmazione semplice ma estremamente potente che permette ai programmatori di concentrarsi sulle funzionalità innovative e sugli aspetti di usabilità del loro software, lasciando che il VDK si prenda cura di tutti gli aspetti di basso livello legati alle tecnologie VoIP/MoIP.
Sviluppato in C++ con una tecnologia multi-piattaforma, il VDK è in grado di essere eseguito sui principali sistemi operativi desktop, mentre sono ormai in fase di completamento i porting su iOS ed Android.
Testare la QoE di un servizio web based richiede di interagire con pagine web in continua evoluzione. Questo implica un costante sforzo di maintenance per riadattare il comportamento dei sistemi di test ai mutamenti dei servizi web under test.
Ma un essere umano, in genere, è in grado di navigare una pagina web anche se il suo aspetto grafico è cambiato. Grazie alle nuove tecnologie, adesso, anche i computer se opportunamente istruiti con algoritmi di machine learning (ML), sono capaci di riconoscere i cambiamenti di una pagina web. Curiosi di vedere fin dove potesse arrivare l’apprendimento di un computer abbiamo voluto sperimentare con le ultime tecnologie di ML ed applicarle ai sistemi di computer vision (CV) che usiamo per il testing dei portali web.
Nasce così un PoC (Proof of Concept) in cui abbiamo sviluppato un sistema in grado riconoscere un form di login ed effettuare in automatico l’autenticazione.
Per questo progetto ci siamo divertiti ad integrare Tensor Flow con Sikuli ed un sistema di OCR in moda da ottenere un automa che riconoscesse davvero un form di login, così come farebbe una persona vera, anche se la grafica o l’aspetto del form sono mutati nel tempo.
A volte cercare la risposta a domande “provocatorie” porta a trovare soluzioni interessanti e tecnologicamente stimolanti.
Una domanda che ci siamo posti in NetResults è stata:
“Come potremmo spingere il concetto di testing della QoE per un device mobile al limite?” Come possiamo “misurare” davvero quello che un utente sente quando fa una chiamata telefonica o tramite Whatsapp?
La risposta e stata: registriamo la telefonata fatta dal cellulare senza alcun software di supporto a bordo del cellulare, e valutiamo se si è sentito bene o male, esattamente come farebbe una “persona vera”.
In tempi in cui Appium non aveva il livello di maturità desiderato e volendo prescindere dal sistema operativo del cellulare, abbiamo deciso di costruire un robot che telefonasse… o giocasse ad Angry Birds 🙂
Il risultato è stato una coppia di robot che si chiamano reciprocamente tramite cellulare, ogni chiamata viene registrata e la qualità dell’audio misurata tramite un algoritmo standard ITU-T denominato POLQA.
Il progetto ADA (Automatic Data and documents Analysis to enhance human-based processes), sviluppato in cordata con altre PMI nazionali, ha lo scopo di efficientare i processi di R&S attraverso il potenziamento dei livelli di automazione del testing attraverso l’uso di linguaggi non ambigui nella stesura della documentazione scambiata tra il personale di sviluppo software e quello di testing. In virtù dei preliminari risultati di progetto, a Ottobre 2019 il team ha partecipato con due interventi ufficiali alla conferenza ETSI UCCAT2019 tenutasi a Bordeaux sui temi del testing automation. Il progetto ADA è stato ammesso a finanziamento nell’ambito dei Bandi RS 2017 Regione Toscana (Decreto Dirigenziale n. 7165 del 24 maggio 2017 e ss.mm.ii.)