Negli ultimi anni sentiamo sempre più parlare di modello "agile", che mira a rendere i processi più veloci grazie alla distribuzione della responsabilità tra i componenti. Non tutti sanno però che in realtà la filosofia agile nasce nel contesto informatico, nello specifico nel Software Development. Vediamo come si applica e che miglioramenti si ottengono integrando il Crowdtesting.
Nel 2000 è stato pubblicato il "Manifesto Agile" basato su alcuni semplici valori che esortano ad un approccio flessibile e veloce, mirato al miglioramento continuo ma con tempi di rilascio brevi:
"Gli individui e le interazioni più che i processi e gli strumenti
Il software funzionante più che la documentazione esaustiva
La collaborazione col cliente più che la negoziazione dei contratti
Rispondere al cambiamento più che seguire un piano"
La metodologia Agile ha un approccio rivoluzionario allo sviluppo del software, perché crea sistemi più robusti e cicli di vita dei progetti più veloci e più adattabili. Si tratta infatti di un metodo più efficiente e collaborativo per sviluppare e testare i software, che vede sviluppatori e tester lavorare di pari passo nella produzione.
Il metodo Agile introduce una tipologia di Project Management che permette di dividere il lavoro in "sprint”, ovvero sequenze di lavoro incrementali, dove ogni parte del team si prende il carico di una funzione che svolge, ad esempio, in un paio di settimane. Nell'ambito del Crowdtesting, chi decide di testare il suo sito/app/chatbot ha la possibilità di vedere come procede il lavoro in tempo reale, e questo gli consente di agire in tempo per cambiare la rotta in caso di necessità, evitando che problemi e incomprensioni emergano a progetto e lavoro concluso.
Di solito, il ciclo di sviluppo dura diversi mesi, e subito dopo tocca ai Quality Leader dell'azienda che offre il servizio di testing occuparsi di organizzare e portare a termine i test. Con la metodologia agile non si deve più aspettare un trimestre o un anno per un rilascio, perché i test saranno pronti in giorni e non settimane! Inutile specificare come il team benefici della massima efficienza da questa modalità. L’adozione del metodo Agile comporta quindi dei cambiamenti non solo nell'organizzazione del team ma anche della cultura aziendale.
Ci sono alcuni processi che caratterizzano l'Agile Testing:
Ci sono solo 2 modi per far partire un regression test rapidamente: far partire una serie di test automatizzati o utilizzare il crowdtesting. A meno che tu non abbia automatizzato tutti i tuoi user journey c'è solo un modo per assicurarsi di rilasciare un codice bug free: il crowdtesting. Questo, infatti, si adatta perfettamente all'Agile Software Development perché permette di raggiungere centinaia di tester nazionali e internazionali in poche ore, che possono testare per compatibilità, funzionalità, accessibilità, user experience e molto altro. Altra ragione fondamentale è il notevole incremento di copertura che genera il crowdtesting rispetto a qualsiasi altro tipo di test riducendo, allo stesso tempo, i tradizionali costi che questo servizio può generare.
Vuoi saperne di più sui vantaggi dell'uso del crowdtesting alla fine di ogni sprint? Vuoi incrementare la copertura dei tuoi test? Leggi il nostro articolo dedicato!
I cambiamenti effettuati con questi cicli di test possono avere un impatto su diversi aspetti, come la performance o la sicurezza. In questi casi sarebbe ideale far partire una successiva campagna di test che si concentra esclusivamente su quello specifico aspetto. Un'altra possibilità è quella di utilizzare una modalità "Always On", che monitora 24/7 le minacce alla sicurezza.
Innanzitutto, utilizzare questa metodologia significa ridurre i tempi di rilascio del prodotto digitale, che altrimenti impiegherebbe molto più tempo oppure andrebbe rilasciato senza essere stato prima testato. Con l'Agile Testing, infatti, un software funzionante viene rilasciato tendenzialmente in un paio di settimane.
Per la struttura stessa dell'agile testing, il cliente ha una visione continua del lavoro, quindi può dare feedback in qualsiasi momento.
L'Agile Testing non ha paura dei cambi di rotta. Al contrario vengono accolti i cambiamenti nelle richieste anche a stadi avanzati dello sviluppo del software, a favore dell'ottenimento del vantaggio competitivo del cliente. Gli errori, quindi, vengono risolti in corso d'opera.
La documentazione richiesta è minima: di solito l'Agile Testing usa come base una checklist riutilizzabile perché il team si concentra sul test.
Riassumendo, quindi, l'Agile Testing:
Il testing dei tuoi servizi non è un processo semplice, necessita di molto lavoro e altrettanta competenza.
Per questo in AppQuality, prima piattaforma pure player di Crowdtesting italiana, offriamo una suite di soluzioni “in crowd” che permette di migliorare la qualità dei servizi e dei prodotti digitali sia Mobile che PC, individuandone per tempo i difetti. Tramite i nostri servizi è possibile eliminare i feedback negativi da parte dell’utente finale, creando applicazioni “bug free” e ottimizzando l’esperienza di utilizzo dell’utente finale.
Forte della nostra community di più di 15.000 Tester* (più la parte internazionale) e i relativi dispositivi, degli strumenti di certificazione della community e delle metodologie di testing anche Agile, con i nostri servizi potrai accelerare i tempi e abbassare i costi del processo di software development, valorizzando il testing su ogni tipologia di smartphone, tablet, PC, IoT, o altri device, grazie all’interazione remota con utenti finali reali.
La suite di servizi Crowd che mettiamo a disposizione è ampia: dal Testing Esplorativo all’esecuzione del Test Book sul Crowd, dal Test di prototipo allo studio della User Experience, fino al Testing dei Chatbot. Grazie al supporto dei nostri Quality Leader, supportiamo l’intero ciclo dello sviluppo del software, dalla fase di prototipazione al rilascio in ambiente di produzione.
*Update di novembre 2020: i nostri tester in Italia adesso sono più di 17.000!
Fonte: Blog bug finders