Luca Manara*
Non tutti i browser sono stati pensati allo stesso modo e questo aspetto è qualcosa che ogni buon sviluppatore web, o ogni web agency, dovrebbe essere capace di descriverti bene.
Che si stia parlando di Google Chrome, Mozilla Firefox, Microsoft Edge o Apple Safari, differenti browser mostrano i siti internet in modalità completamente differente. Non è una sorpresa dato che ogni produttore ha una differente visione su come il proprio browser dovrebbe lavorare (una utile guida su come funzionano i browser: html5rocks: How Browsers Work), pensa diversamente su cosa il proprio browser dovrebbe supportare e come dovrebbe evolvere tecnicamente nel futuro. Ogni produttore, inoltre, vorrebbe poter investire nelle funzionalità specifiche del browser stesso, vogliono poter raffinare le feature esistenti in modo che funzionino al meglio sul proprio browser e, ovviamente, vogliono accrescere la propria quota di mercato nel tempo.
Questo è il perché si dovrebbe prevedere un testing multi browser: per essere sicuri che il look&feel e le funzionalità del sito internet siano appropriate e simili in ogni situazione. Quindi cos’è il testing multi browser esattamente e perché è importante per il business o per ogni sito personale? In questo articolo spiegherò tutto quello che devi sapere su questo tipo di attività.
Scopri subito come effettuare il test dei tuoi prodotti digitali
Cos’è il testing cross-browser?
Ogni website è costituito da diversi component i e come un browser interagisce con quei componenti varia sostanzialmente da browser a browser. Per esempio, il codice JavaScript può comportarsi in maniera completamente diversa su Internet Explorer rispetto a come si comporta sul popolare browser di Google: Chrome. O, per esempio, un elemento di design può apparire più grande su Opera ma più piccolo su Safari.
Il test in oggetto assicura che questi componenti possano lavorare come sono stati progettati e senza soluzione di continuità su ogni tipologia di browser. Mentre Chrome è indubbiamente molto più popolare che gli altri browser presenti sul mercato, questo non significa che dovresti trascurare gli utenti che vorrebbero visualizzare il tuo sito web attraverso differenti tecnologie. Più del 5% degli utenti internet continua a usare i sistemi Microsoft, più del 17% usa Firefox, 3% usa Safari e 1% usa Opera.
Tenendo questi dai in considerazione, non testare il tuo sito web, allontana più del 26% dei visitatori dal sito stesso. Non è certamente quello che si vuole se si ha come obiettivo che tutti abbiano un’esperienza piacevole sui tutti i canali digitali. Soprattutto nel mondo dei servizi legati ai pagamenti digitali la qualità dell’esperienza iutente è direttamente legata al risultato di business.
Inoltre considerate che queste statistiche cambiano se si ragiona sul cliente finale. Per esempio, se i vostri clienti sono i professionisti aziendali, la percentuale di utenti che utilizzerà Microsoft crescerà molto essendo ancora molto utilizzato sui computer aziendali. Oppure se pensate che i vostri utenti arrivino principalmente da mobile, allora le statistiche cambiano sostanzialmente.
Il test è essenziale per assicurare che JavaScript, Applets, Flash, codice AJAX e tutti gli elementi di design lavorino come progettati.
Perché è importante?
Il testing multi browser è più importante che mai. Il processo che in passato veniva normalmente utilizzato in progetti più complessi è ormai diventato convenzionale anche per i progetti web dato che sempre più organizzazioni tendono a creare siti web e web app per emergere dall’affollato mondo di internet. Cosa succederà se il tuo prossimo cliente utilizzerà Internet Explorer per acquistare il proprio prodotto dall’ufficio prima delle feste natalizie? Non vuoi sicuramente che rimanga bloccato a metà del processo. In aggiunta, la crescita del web design responsive con l’obiettivo di adattarsi seamless ai dispostivi mobile di tutti i tipi ha fatto crescere i costi e la difficoltà gestionale di questo tipo di attività in maniera sensibile.
Buttiamo ora nel calderone anche I browser dei dispositivi mobile (smartphone e tablet). Quando si parla di testing, gli sviluppatori web un tempo potevano permettersi di verificare come il sito web si presentasse solo sui classici strumenti: Mac o PC. Ora è tutto cambiato.
Sempre più clienti acquistano e sfruttano servizi usando il loro device mobile, quindi è importante assicurare che i siti web funzionino perfettamente anche su quei dispositivi. Ma con così tanti differenti Mobile smartphone e tablet sul mercato e così tante differenti piattaforme tecnologiche (Android, iPhone, Windows Phone, iPad, etc.) è praticamente e fisicamente impossibile testare tutto esaustivamente. Sarebbe necessario spendere decine di migliaia di euro per acquistare tutti i device necessari al test.
Di conseguenza hai bisogno di un servizio di test che ti permetta di fare questo tipo di attività in maniera semplice, veloce e scalabile.
Quindi? Come è possibile fare?
Spero che ora sia chiaro quanto è importante inserire il test multi browser nei processi di sviluppo web, desktop e mobile. Ma come può essere fatto esattamente?
Ovviamente, esistono diversi tool che ti possono aiutare a testare i diversi browser. Seguendo questo link ne trovate un elenco non esaustivo: How to Test a Website on Different Browsers. Utilizzando questi tool, il sistema più semplice per testare un sito web su molteplici browser e device è creare una checklist di componenti e testare manualmente ogni passo della checklist su ogni browser e dispositivo. Se sei uno sviluppatore in un piccolo studio di design che lavora su progetti web di bassa complessità, questo processo è abbastanza lineare, non dovrebbe essere troppo oneroso e potrebbe costare poco. Quello di cui dovresti aver bisogno sono una mezza dozzina di macchine virtuali, un iPhone e uno smartphone Android. Detto questo, possiamo ipotizzare un investimento di circa 10.000€ all’anno compreso il tempo necessario dello sviluppatore per fare questa attività (considerando 2 giorni di test al mese, 20 giornate circa all’anno, più l’acquisto dei device e delle macchine virtuali).
Tuttavia, questo processo è poco performante e lascia diversi quesiti aperti: i device Android sono in realtà centinaia, i browser virtualizzati non funzionano esattamente come i browser reali, le versioni software dei dispositivi mobile impattano fortemente sul buon funzionamento del browser, etc. Bisogna considerare che si sta togliendo un developer alla sua attività principale (ovvero sviluppare e non testare) e, inoltre, fate verificare il buon funzionamento di un sistema alla stessa persona che l’ha creato, e non è mai una buona pratica (vi è mai capitato di passare così tanto tempo su contenuto, essere quindi certi al 100% della sua perfezione e poi, appena condiviso, ricevere subito feedback negativi?).
Se poi passiamo a progetti molto più importanti il costo aumenta esponenzialmente, soprattutto perché aumentano le funzionalità da testare e i processi gestionali diventano sempre più complessi. Fortunatamente, ci sono diverse opzioni a disposizione. In particolare una tecnica chiamata Crowd Testing permette di ingaggiare tester che si occuperanno di mettere sotto torchio il tuo sito web anche su centinaia di device contemporaneamente. I servizi a disposizione sul mercato sono in più altamente scalabili e possono essere configurati a seconda dei propri budget e dei propri obiettivi, partendo anche da poche centinaia di euro al mese.
Non è quindi necessario spendere grossi budget acquistando device che devono essere poi manutenuti oppure impegnando i propri sviluppatori o personale interno molto costoso. Tramite questi servizi è possibile selezionare quali device testare, quale browser analizzare, quanto budget utilizzare e che tipo di risultati ottenere. Inoltre seguendo un modello a commissione (i tester vengono remunerati per questo tipo di attività) si ottengono outcome a elevatissima qualità riuscendo a identificare quasi totalmente i problemi presenti sul sito web, che sia desktop o mobile.
Utilizzando crowd di migliaia di utenti è possibile inoltre trovare sempre l’ultimo dispositivo ma anche quello più obsoleto, togliendoti l’onere di doverli acquistare e gestire internamente. Comparato con l’utilizzo di un’agenza esterna, il processo attraverso servizi di questo tipo è molto più veloce e permette di ottenere risultati in brevissimo tempo, ottimizzando quindi anche il go to market, permettendoti quindi di risparmiare tempo e soldi nell’ottica del medio periodo.
Questi servizi sono ormai molto evoluti e possono essere utilizzati in modo che siano connessi direttamente con i processi e i team di sviluppo interni. Per esempio si possono integrare con strumenti di bug tracking (JIRA, BugZilla, Github, etc.), sistemi di continuous integration e beta delivery (Jenkins, Circle-CI, etc.) e webhooks (integrazione che ti permette di avere tutti i problemi e le issue identificate direttamente sul canale corretto utilizzando Slack, Hipchat o qualsiasi altra piattaforma di comunicazione).
In conclusione, in qualsiasi modo deciderai di farlo, il processo di testing multi browser nello sviluppo web e mobile moderno è di primaria importanza. Gli utenti web oggi sono sparsi su un numero di browser e device molto ampio, è importante essere sicuri che i propri prodotti e servizi che utilizzano questo canale digitale siano pronti a raggiungere quegli utenti, non importa quale canale stanno navigando.
Luca Manara, co founder App Quality
Vai subito alla pagina di App Quality per testare e migliorare la qualità dei tuoi prodotti digitali
Se hai trovato interessante questo articolo ti suggeriamo la lettura di questi servizi, sempre di Luca Manara:
Nuovo iOS 10: sviluppatori nel panico? ecco come ridurre i problemi e aumentare le opportunità
Come fare per controllare la qualitù delle vostre App