Software Development & Testing

Come e perché rendere Agile il Software Development

Negli ultimi anni sentiamo sempre più parlare di modello "agile" non tutti sanno però che in realtà la filosofia agile nasce nel software development.


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.

 

Ma come si fa a fare Agile Web Testing?

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:

  • i tester sono integrati nel team di sviluppo del software e testano ogni componente subito dopo la sua realizzazione
  • gli sviluppatori scrivono i test per tutti gli scenari più comuni
  • i tester si concentrano su test di tipo funzionale e di usabilità
  • ogni volta che uno sviluppatore rilascia il codice nell'ambiente di staging, un set di automation script viene fatto partire per assicurare che i percorsi principali funzionino ancora
  • alla fine dello sprint, si fa partire una campagna di 48h di crowdtesting per andare a scovare tutti i problemi funzionali, di usabilità e performance su un ampio ventaglio di device
  • nel momento in cui gli sprint vengono rilasciati, si procede con un regression test per controllare le funzionalità principali. Questo serve a controllare che il processo di deployment abbia funzionato correttamente.

 

Perché effettuare proprio il crowdtesting alla fine di uno sprint?

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.

Perché è utile l'Agile Testing nel Software Development?

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:

  1. fa risparmiare tempo,
  2. riduce la documentazione necessaria,
  3. è flessibile,
  4. è adattabile ai cambiamenti,
  5. permette feedback su base regolare. 
 

 

Come puoi iniziare a testare con il crowd?

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!

il metodo Crowdtesting

 

Fonte: Blog bug finders

Similar posts