La qualità del software per la qualità del business

VALUE PARTNER ZONE

18 Maggio 2022 alle 10:00

La qualità del software per la qualità del business

Top trends on Machine Learning, AI, Cloud & Micro servizi

FORMULA WEBINAR

Per informazioni: Kelen Zakelj
kelen.zakelj@soiel.it - 02 30453321

La qualità del software per la qualità del business (leggi l'articolo completo)

Il 18 maggio ha avuto luogo la Web Conference di Soiel International e ITA-STQB "La qualità del software per la qualità del business", alla quale hanno partecipato anche tre relatori stranieri, esperti di valore internazionale nella materia. Uno dei messaggi principali riguarda il testing del software, che riveste sempre più rilevanza per le implicazioni sul business, e l'apporto che l'intelligenza artificiale sta dando anche in questo ambito.

 

Hanno partecipato:

  • Prof. Bruno Legeard - University of Franche-Comté / Smartesting / French Testing Board
  • Julien Botella, Gravity Product Manager - Smartesting
  • Prof. Giandomenico Nollo, Professore Associato di Bioingegneria dell'Università di Trento e Vice Presidente Vicario della Società Italiana di Health Technology Assessment (SIHTA)
  • Avv. Giuseppe Serafini, Avvocato Cassazionista - Foro di Perugia
  • Gualtiero Bazzana, Presidente - ITA-STQB
  • Elena Treshcheva, Program Manager - Exactpro

Overview

Esistono due tipologie di test: l'Alfa testing e il Beta testing.
L'Alfa testing viene svolto internamente all'azienda che sviluppa il software, mentre il Beta testing viene svolto direttamente dal committente del software o da un campione rappresentativo dell'utenza che userà il software.

In entrambi i casi il testing del software, relativo a un'app o a un sito Web o ad altre soluzioni, è indispensabile sia per garantirne la qualità, sia per scoprire gli errori (bug), sia per offrire all'utente finale una User Experience sempre più soddisfacente e rispondente alle sue aspettative. È noto che la stragrande maggioranza dei clienti (il 72% secondo le analisi di Stardust) passa alla concorrenza in caso di esperienza negativa e, dopo aver provato una sola volta un'app fallimentare, non vuole riutilizzarla (l'84% dei clienti secondo Techcruch).

Se ne dovrà dunque tenere conto in tutto il suo ciclo di vita, dallo sviluppo al collaudo fino alla messa in produzione, ivi comprese le successive messe a punto, per rispondere a nuove esigenze e trasformazioni tecnologiche. Il rilascio di applicazioni difettose, di qualità non adeguata, non rispondenti ai requisiti né alle aspettative dei clienti finali può avere gravi ricadute sul business.

Per l'importanza che riveste, il software testing dovrebbe essere svolto da persone esperte. Normalmente, prima del rilascio finale sono necessari più cicli di testing per ridurre le probabilità di errori. Il testing del software è infatti un processo iterativo, poiché ogni errore individuato e risolto può generare o evidenziare nuovi errori. Va inoltre ripetuto ogni volta che il codice viene modificato o nel caso in cui cambino le caratteristiche degli ambienti in cui opera, per verificare che siano integrabili o che non generino una regressione.

Esistono diverse tipologie di test: completamente manuali, semiautomatizzati (dove l'attività del tester è supportata da tool), totalmente automatizzati. Il tutto in un mondo sempre più multipiattaforma, dove i requisiti non sono statici ma evolvono a ritmi sostenuti.

A queste sfide risponde l'approccio crowdtesting, dove una community di tester qualificati viene chiamata a collaudare prodotti e servizi digitali. I tester possono essere selezionati sulla base del target del software e avere tutte le caratteristiche per mettersi nei panni di un utilizzatore reale. Il vantaggio, rispetto a tester interni (a cui il crowdtesting è complementare), è l'approccio fresh eye.

Uno dei principali punti di forza che questo metodo offre nel percorso applicativo è la capacità di fornire risorse, se e quando servono, ai team di sviluppo per le analisi di qualità. Ciò accelera il percorso di verifica, aumentandone al contempo l’efficacia, grazie al gran numero di tester che afferiscono alla piattaforma di crowdtesting.

Infine, una strategia per produrre software di qualità è quella di prevenire l'introduzione di errori nel software, ma per poterla mettere in pratica bisogna affrontare lo sviluppo del software in tutt'altro modo.

Non bisogna inoltre dimenticare che l'Alfa test può solo cercare di ridurre il numero di bug presenti nel software, e che fondamentale è la fase di Beta testing in cui è compito del committente verificare che il software sia conforme alle proprie esigenze. In altri termini il cliente, con il suo giudizio, è l'unico responsabile della correttezza di un software.


A cura di Gian Carlo Lanzetti