Insight,

Robotic Process Automation nel testing del software e oltre

La Robotic Process Automation gioca un ruolo fondamentale nel testing dei software. Vediamo il perchè. 

Testare un software è fondamentale tanto per garantirne la robustezza end to end, quanto per controllare in tempo reale che tutti i singoli componenti del servizio digitale siano “up and running”. Tuttavia, non è economicamente sostenibile ipotizzare di gestire manualmente questa attività.  Automatizzare le attività di testing rappresenta il modo più valido dal punto di vista sia economico sia tecnico per verificare che tutto funzioni a dovere. 

Ma cosa si intende per RPA?

La Robotic Process Automation (RPA) è una tecnologia software che semplifica la creazione, l’implementazione e la gestione di attività automatizzate che emulano l’interazione tra essere umano e sistemi digitali. Proprio come le persone, questi robot software possono gestire un’ampia varietà di operazioni, navigare, identificare ed estrarre dati. Il tutto in modo rapido, coerente e continuativo.

I tool e framework di automazione di attività che ricadono sotto il nome di RPA sono dunque in grado anche di basarsi su scenari semi strutturati per definire delle serie di azioni da eseguire in modo sequenziale ed automatico per potenziare la gestione delle attività di testing. 

L’evoluzione, tra Intelligenza Artificiale e Machine Learning

RPA ed AI sono due concetti ben distinti, ma sempre più frequentemente correlati dal punto di vista applicativo. La loro combinazione da infatti vita a soluzioni particolarmente potenti che vanno sotto il nome di Intelligent Process Automation (IPA).

La Robotic Process Automation non si propone di imitare l’intelligenza dell’uomo, ma semplicemente di copiarne le azioni per sgravarlo da operazioni ripetitive e a scarso valore aggiunto. Questo comporta lo svantaggio di una scarsa adattabilità a processi e situazioni non precedentemente codificate.

L’intelligenza artificiale si propone invece di imitare la razionalità umana e, per farlo, ricorre a diversi strumenti. Il Machine Learning è uno di essi, il principale nel caso dell’IPA: attraverso una continua iterazione delle operazioni, il ML permette di analizzare i dati per generare previsioni con risultati via via più vicini a quelli che ci si potrebbe attendere dall’uomo.

L’inserimento di agoritmi di machine learning permette al software di passare da un approccio più rigido, basato sui processi, ad uno più flessibile, basato sui dati.

L’applicazione di capacità di intelligenza artificiale ai robot software ne amplifica notevolmente le capacità, fino a rendere possibile elaborare dati non strutturati, comprendere contenuti audio o iconografici. I robot possono così gestire la complessità tipica dei veri processi di business, in cui i compiti standard e ripetitivi – usati per disegnare i processi nelle loro astrazioni teoriche – non sono affatto la realtà.

Un alleato per le risorse umane

Esattamente come i robot industriali aiutano l’ergonomia delle attività in fabbrica, i robot software aumentano la qualità dei processi nel mondo digitale.

La RPA è utile tanto nelle funzioni di front office, ad esempio per migliorare l’interazione con i clienti  e la responsiveness dei servizi, quanto in quelle di back office, dove possono venire impiegati ad esempio per automatizzare la creazione di report, distinte d’attività e calcoli amministrativi.

L’attività di testing è un ottimo esempio di come la Robotic Process Automation possa supportare il back office. Se non gestita tramite RPA, la ripetizione continua dei test necessari a verificare l’attività delle funzionalità che compongono un servizio digitale richiederebbe di dedicare personale qualificato a gestire queste operazioni h24. Trattandosi spesso di task routinari, è abbastanza evidente l’importante spreco di risorse che ne deriva.

Testing RPA-based in Bottega52

Bottega52 utilizza sistemi di testing perpetuo (ovvero fino a decommissioning) del servizio in produzione tramite RPA. Per garantirne la massima efficacia, i test vengono disegnati in collaborazione tra esperti tecnici e business analyst, così da assicurare l’effettiva coerenza tra schema di test e reali dinamiche di business. Il risultato è che le aziende clienti possono allocare al meglio le proprie risorse e valorizzare le capacità della propria forza lavoro, con la certezza di una sorveglianza continua sull’operatività del loro asset digitale.