Blog

Collaudo software: quali sono i limiti di test interni "family & friends"

Le procedure di collaudo software possono trasformarsi in problemi nascosti quando l'unica strada scelta è quella dei test interni. Sempre più spesso, le aziende cercano di ottimizzare il processo di collaudo del software, al fine di garantire un'elevata qualità per l'utente finale, con l’obiettivo di minimizzare gli sforzi a livello di testing per il team di sviluppo.

Proprio per questo motivo è importante analizzare quali sono i limiti dei test interni durante il collaudo software e le problematiche da esso derivanti.

 

Minori risorse e tempo

I test interni come strumento per verificare la presenza di problemi e bug non permettono di coprire tutte le casistiche a causa delle minori risorse a disposizione dei team di sviluppo. Infatti, è impossibile che il test interno venga effettuato su un’ampia gamma di dispositivi, sistemi operativi e configurazioni.

Non solo, anche il tempo è un fattore da tenere in considerazione. I team di sviluppo si trovano a dover fronteggiare un'elevata pressione a causa di scadenze ravvicinate da rispettare, con conseguente stress. Pertanto, la fase di collaudo software viene sacrificata a favore di quella di sviluppo che, quasi sempre, richiede più tempo rispetto a quello pianificato.

 

Lo sviluppatore non è l'utente finale

Gli sviluppatori che hanno anche il compito di effettuare il collaudo software devono tener presente anche il modo di pensare dell'utente finale. Questo processo è complesso visto che i primi, conoscendo l'architettura, il codice e il prodotto, non sono capaci di adottare un approccio "fresh eyes" e cercare di trarre opinioni utili per un miglioramento dell'app.

In quest'ottica, avere accesso alle opinioni degli utenti è fondamentale, in quanto i test interni non riescono a comprendere eventuali criticità sia a livello di interfaccia, che qualità di utilizzo. Riuscire a essere in sintonia con la base di utenti finali è sicuramente un vantaggio competitivo, ma questo risultato non è raggiungibile appoggiandosi solamente ai test interni.

 

Il testing white-box non risolve tutti i problemi

La maggior parte del collaudo software a livello interno si svolge con tecniche white-box. L'obiettivo di questo test è quello di rilevare errori in uno o più componenti tramite un'analisi linea per linea o sezione per sezione nel codice.

L’intero team di sviluppo si trova a dover passare buona parte del tempo nella realizzazione di casi di test che, se non correttamente dettagliati, possono portare a errori non identificati. Infatti, il test white-box non permette di verificare funzionalità implementate parzialmente o assenti e la ricerca di eventuali bug funzionali nascosti.

 

Il team di sviluppo non conosce il collaudo software

Il collaudo software richiede un elevato livello di know-how. Molto spesso, i team di sviluppo si trasformano in tester che non sanno da dove partire per andare alla ricerca di bug e problemi. Inoltre, se il team è caratterizzato da sviluppatori totalmente inesperti nell’ambito del collaudo software, quest'ultimi non avranno familiarità con i sistemi di testing.

In questa situazione, ogni singolo membro del team dovrebbe ricevere un training apposito spalmato su un lungo periodo di tempo, con una conseguente diminuzione di tempo disponibile da dedicare allo sviluppo software. Seppur vi sarà un miglioramento a livello di conoscenze, le limitazioni precedentemente illustrate continueranno a esserci.

 

Il bias di conferma dello sviluppatore

Un altro aspetto da tenere in considerazione è quello relativo al bias di conferma dello sviluppatore. Quest'ultimo è un processo mentale che incide notevolmente sull’attività di testing, rendendo "ciechi" e impedendo di cogliere diversi punti di vista.

Il bias di conferma dello sviluppatore si verifica frequentemente nell'ambito dei test manuali; ovvero il team dedito a questa fase sarà più prevenuto nel verificare i casi che crede di sapere che funzionino correttamente. In questo modo, la fase di test viene accorciata, ma ciò ha come diretta conseguenza il rilascio di un codice scarsamente testato.

 

Scarsa motivazione

Infine, testare continuamente un progetto è un'attività che nel lungo periodo può risultare monotona per l'intero team di sviluppo. Gli sviluppatori si abituano rapidamente a scrivere casi di test atti a coprire soltanto alcuni scenari comuni, senza andare oltre e cercare eventuali problemi nascosti.

Anche durante il rilascio di nuove funzionalità o aggiornamenti, gli sviluppatori svolgono un limitato numero di test per verificare la presenza di incompatibilità, problemi e bug che potrebbero essere riscontrati con le precedenti versioni.

Questo approccio porta a una scarsa motivazione per l'intero team e una graduale incapacità di pensare fuori dagli schemi sia in ambito di sviluppo software che testing.

 

Di fatto, i limiti dovuti al collaudo software con test interni sono molteplici e posso inficiare notevolmente la qualità dei software realizzati. L'approccio di affidarsi solamente ai test interni degli sviluppatori per la fase di collaudo software non è, quindi, la scelta ideale per ottenere applicativi con il minor numero di problemi e bug possibili.

 

Collaudo software con il crowd testing

Una soluzione alle problematiche illustrate è quella di affiancare i test interni con il crowd testing.

Basandosi su tester selezionati all’interno di una community secondo i requisiti più adeguati, il crowd testing garantisce un approccio “fresh eyes” e la possibilità fare sia un collaudo del proprio software con utenti esperti, sia una simulazione con potenziali utenti finali.

Inoltre, il crowd testing permette di verificare sia l’affidabilità che le funzionalità dell’applicativo attraverso una maggior copertura dei test, svolti su un’ampia varietà di dispositivi, reti e tipologie di browser. Così facendo, è possibile aumentare l’efficacia di ogni singolo test, andando a risolvere la maggior parte dei limiti che derivano dai test interni.

 

il metodo Crowdtesting