Software Development & Testing

Come azzerare i rischi del Crowdtesting

Su Wikipedia alla voce "Crowdsourced testing" c'è un paragrafo dedicato ai rischi del crowdtesting. Analizziamoli uno ad uno.


Su Wikipedia alla voce "Crowdsourced testing" c'è un paragrafo dedicato ai rischi del crowdtesting. Analizziamoli uno ad uno per capire come sfruttare al meglio questo servizio senza incombere in problematiche.

“La confidenzialità deve essere gestita attentamente visto che il numero di tester "esterni" che ha accesso al sistema aumenta”

Il primo tra i richi del Crowdtesting in realtà include totalmente anche l'ultimo:

"Il rischio che l'innovazione e le nuove funzionalità siano svelate alla concorrenza"

E' vero, la confidenzialità va gestita molto da vicino per evitare la fuga di informazioni. Nella nostra esperienza, però, non abbiamo mai avuto neanche un caso di leak di dati. Questo sicuramente avviene anche grazie alle precauzioni che abbiamo preso e che prendiamo su ogni test. Tutti i nostri tester firmano una NDA (ovvero un accordo di non divulgazione o non-disclosure agreement) molto stringente e, nel caso in cui ci sia una campagna con dati particolarmente riservati, firmano una seconda NDA ancora più rigida (che chiamiamo NDA di secondo livello) per tutelare la riservatezza dei dati.

Vengono utilizzati anche strumenti di terze parti compliant con le normative GDPR per garantire il corretto trattamento dei dati ma permetterci nel contempo una gestione efficiente (come per esempio Docusign).

Ci sono alcune buone prassi che si possono mettere in pratica per ricordare al tester dell'NDA che ha firmato durante l'iscrizione. Ad esempio, nella pagina di riepilogo delle campagne in corso viene inserito un link alla pagina sulla riservatezza delle informazioni e aggiunto inoltre nel footer il link per il download del file NDA (quindi sempre a disposizione dei tester).

Inoltre, per azzerare i rischi del Crowdtesting:

  • Le campagne di test sono sempre private e le room di test aperte solamente ai tester verificati (anche con NDA di secondo livello)
  • Non vengono esposte informazioni sensibili prima che le campagne vengano aperte ai tester
  • Esiste un codice di condotta: i tester sanno che possono essere espulsi dalla piattaforma in caso di comportamenti anomali (e perderebbero ogni possibilità di partecipare alle campagne future)
  • L'algoritmo di rewarding premia i tester più bravi nel tempo tramite punti esperienza quindi i tester "più alti in classifica" tendenzialmente sono molto affidabili, precisi e attenti al rispetto delle policy condivise

 

"Una comunicazione immediata con un gruppo di tester può essere difficoltosa"

Il numero di tester coinvolti può essere elevato, ma questo non intacca il sistema di comunicazione: il team che decide di implementare il Crowdtesting nel processo di sviluppo del suo prodotto digitale (ovvero l'azienda cliente) non ha la responsabilità di gestire i tester, che è invece un aspetto completamente affidato al Quality Leader (Project Manager) di AppQuality. Il nostro QL ha il compito di gestire il processo di selezione dei tester e le comunicazioni con il crowd durante tutta la durata del test e quindi per il team di sviluppo, ai morsetti, quello che risulta è avere un Test Manager esterno potenziato che mette a valore tutti i tester/device presenti in community ma senza il "rumore" derivante dall'interazione con i tester.

Inoltre, nel momento in cui un tester aderisce a una campagna, sa che verrà pagato solo se effettivamente svolge il lavoro richiesto (approccio commission-driven) e tutti i tester devono assicurare di essere reperibili durante la fase di testing e quella successiva di review dei bug. 

Tecnicamente i tester hanno a disposizioni diversi canali che confluiscono tutti nel contatto con il Quality Leader che ha il compito di gestire ogni interazione con i tester. Il canale di comunicazione più efficace avviene normalmente tramite chat diretta con i tester (sia broadcast che punto-punto bidirezionale) su applicazione mobile (e quindi i messaggi arrivano in push sullo smartphone dei tester). La comunicazione via chat inoltre (molto simile a whatsapp) permette una gestione rapida ed efficiente di ogni tester.

"Pagare i tester in base al numero di bug trovati può portarli ad identificare un numero maggiore di bug di poca rilevanza ed omettere i bug più critici o difficilmente replicabili"

Come per ognuno dei rischi del Crowdtesting, ci sono diversi metodi (che coesistono) per scongiurare il problema: vediamone alcuni.

  • Rewarding: è la parte fondamentale per garantire la qualità del test. Il nostro algoritmo di rewarding è studiato per adattarsi all'avanzamento del test e un sistema a performance permette di tenere sotto controllo questa variabile. I tester ricevono un rewarding economico fisso + variabile in modo da garantire comunque una qualità di base (e non lavorare solo sul variabile che estremizza il concetto di performance e non da valore del tempo comunque speso dai tester). Il sistema incentivante è stato poi calibrato in proporzione alla criticità dei problemi riscontrati (un problema critico viene pagato di più di un problema di poca rilevanza). Inoltre, oltre alla parte economica, i tester guadagnano, o perdono, punti esperienza proprio in caso di segnalazioni di scarsa qualità. Questo strumento serve proprio a compensare il tema in oggetto


  • Processo: tutti i nostri test sono gestiti da un team di Quality Leader che operano direttamente sulla piattaforma che si occupano anche del controllo qualità e della sintesi dei problemi spingendo i tester ad identificare quelli a maggior rilevanza. Il processo inoltre è molto ben strutturato anche nella fase antecedente e seguente al test:
    • Fase pre-testing: in fase di kick-off si definiscono molteplici questioni fondamentali per la riuscita del test, come quella della tipologia di bug da ricercare. Ad esempio, si può chiedere di andare alla ricerca solo di bug critici, crash o funzionali per il funzionamento del prodotto digitale.
    • Fase post-testing: nell’organizzare la campagna di testing, il QL ha definito lo "scope" del test, ed una volta terminato si assicura che i tester si siano attenuti alle richieste. Alla fine del test, proprio a scopo formativo, ai singoli tester viene dato un feedback preciso e personalizzato che permette di migliorare la qualità delle performance. Inoltre, la piattaforma restituisce una lista di bug senza duplicati per facilitarne la consultazione.

Per ultimo, bisogna anche sottolineare che non sono solo i soldi a motivare il crowd. Ci sono fattori come brand loyalty, trasparenza e senso di inclusione verso il progetto a cui prendono parte. Molti di loro, infatti, prima di essere tester sono fan dell’azienda per la quale testano.

"Il crowdtesting aumenterà il bisogno di supervisione a causa delle differenze di orario, località, lingua e cultura dei tester"

I tester comunicano esclusivamente con il PM o Quality Leader, che si assume il 100% della responsabilità di gestione del crowd, che quindi non ricade su chi ne richiede il servizio. Diversa cultura, lingua e località, invece, sono uno dei punti di forza del crowdtesting: proprio perché stai lanciando il tuo e-commerce in Asia, avere tester reali di quella nazionalità ti permette di verificare che il tuo contenuto e la customer experience siano in linea con la cultura e le aspettative di quel paese. Anche un controllo linguistico (test di localizzazione) si rivela fondamentale soprattutto in paesi che parlano una lingua totalmente diversa dalla nostra: un typo, una parola che scritta male che assume tutt'altro significato o un termine che in quel contesto non suona naturale, sono elementi che un madrelingua saprà individuare rapidamente. 

"Assicurare la copertura di test nel crowdtesting può essere difficile visto che il test non è pianificato o tracciato come nel waterfall e nell'agile testing"

In realtà, proprio l'accesso a un crowd di decine di migliaia di tester profilati e qualificati permette ai Quality Leader di trovare rapidamente il numero necessario di tester.  All'interno della community, infatti, si possono ritrovare tester con le caratteristiche della buyer persona o utente finale del prodotto/ servizio da testare. Nei casi in cui all'interno del crowd non ci sia un numero adatto di utenti con le caratteristiche richieste, il Quality Leader avrà il compito di reclutare nuovi tester che abbiano conoscenze necessarie ad affrontare con successo la campagna. Nel secondo caso, comunque, la selezione non occupa più di 3 giorni.

Inoltre, le integrazioni implementate, quale per esempio Jira della suite Atlassian, permettono un approccio seamless sia in caso di attività waterfall che test Agile. La piattaforma di test difatti, connettendosi con i più comuni sistemi di ticketing, permette di caricare i defect direttamente sul tool utilizzato dal team di sviluppo rendendo, di fatto, l'integrazione quasi a costo zero. Nella nostra esperienza abbiamo realizzato anche test notturni o "over the weekend" andando quindi a sfruttate i tempi morti e impattare il meno possibile sull'efficienza del processo di sviluppo.

White paper: Crowdtesting Method

Similar posts