A proposito di Test Automation, DevOps, Quality Assurance, Quality Engineering e IoT. Facciamo un test anche noi: un’intervista doppia nel testing.
Un mese fa incontravamo Francesca Pascali per parlare del lancio della service line Testing Factory di Spindox (se ti interessa, l’articolo lo trovi qui). Oggi scambiamo di nuovo quattro chiacchiere con Francesca, che però questa volta non è sola. Con lei risponde alle nostre domande Claudio Gaiani, Senior Test Manager di Spindox.
Francesca e Claudio, che cos’è per voi la Test Automation?
Francesca: «Test Automation è fare i test facendo svolgere alle macchine la parte noiosa e ripetitiva del lavoro e tenendo per noi solo quella creativa e divertente. È un modo più efficace ed efficiente per svolgere le attività di testing.»
Claudio: «È una tecnica tramite la quale si cerca di minimizzare i tempi di esecuzione dei test, con procedure di tipo automatico».

In che modo si combinano Testing e DevOps?
Claudio: «Una delle tecniche utilizzate in genere per portare il testing all’interno del DevOps è quella che sfrutta un’eccezione (Dev Quality Ops) come elemento collante tra la parte di sviluppo (Dev) e la parte successiva, le Operations.»
Francesca: «Non si può fare uno sviluppo e metterlo in campo senza prima avere fatto il testing. Equivarrebbe a fare un salto nel vuoto, senza paracadute.»

Qual è il ruolo degli Analytics nel Testing?
Claudio: «Gli Analytics nel testing permettono di passare dal testing alla governance del testing. Riuscire a raccogliere le soglie di accettazione della qualità di un’applicazione, al termine del suo ciclo di sviluppo e poter determinare se si può andare in produzione.»
Francesca: «Avere a disposizione gli Analytics e non averli è la differenza tra il fare un’attivatà di testing e fare qualche test confermativo solo alla fine del mio sviluppo.»
Quali sfide vedete per il Testing delle Mobile Apps?
Francesca: «La vera sfida è data da velocità ed efficienza. Inserire il testing alla fine del ciclo Agile. In questo modo alla fine dello sviluppo l’applicazione è già testata. Efficacia ed efficienza li raggiungo con l’automazione. Aumento la copertura dei test in parallelo su tanti tipi di device e mi garantisco che qualsiasi tipo di terminale abbia la sua applicazione perfettamente funzionante.»
Claudio: «La numerosità dei device e i sistemi operativi sono la vera sfida.»
Che ruolo hanno gli strumenti open source nel Testing?
Claudio: «Uno strumento commerciale ha, chiaramente, un costo di licenza ma mette a disposizione un supporto di un certo livello.»
Francesca: «I pro sono parecchi. Gli strumenti open source hanno community di sviluppatori, sono molto più flessibili e si muovono in base alle reali esigenze degli sviluppatori.»
Che cosa significa fare Testing nel mondo dell’IoT?
Claudio: «La sfida maggiore diventa quella dell’integrazione: il test deve fornire e garantire una corretta comunicazione tra gli apparati dell’IoT e gli apparati informatici più tradizionali. Tale comunicazione deve avvenire nel modo corretto, affinché non vi siano problemi in fase di rilascio dell’esercizio.»
Francesca: «Fare testing nel mondo dell’IoT significa essere in un certo senso un ‘tuttologo’. Conoscere i protocolli di comunicazione, l’interfaccia radio, la sensoristica, le piattaforme di servizio. Questi sono tutti gli elementi che bisogna mettere insieme e integrare per fare un sistema IoT. La vera sfida del tester dell’IoT è quella di essere l’integratore del sistema.»
Che differenza c’è fra Quality Assurance e Quality Engineering?
Claudio: «Questa è quasi una domanda filosofica. Quando parliamo di Quality Assurance facciamo riferimento a quel processo di verifica e validazione del software inteso come un insieme di fasi all’interno del quale si strutturano una serie di attività che devono essere svolte in maniera coordinata per il raggiungimento comune dell’obiettivo. Con Quality Engineering il focus è sulle attività e qualità tecniche, sulle competenze delle persone legate agli strumenti di test automation e test di performance, sulla capacità di svolgere un ruolo che è definito a livello di processo dalla Quality Assurance.»
Francesca: «Il rilascio delle specifiche, la stesura del test book, l’esecuzione dei test, il bug fixing, la stesura dei report, la messa in campo del mio prodotto: la Quality Assurance è prevalentemente un tema di processo. La Quality Engineering invece è un tema di realizzazione: come implemento le varie fasi della QA? Significa essere in grado di svolgere le attività operative che mi permettono di realizzare i processi della Quality Assurance.»