App mobili: un cambio epocale per sviluppo, testing e performance

Nella “Pc era” le versioni dei sistemi operativi e dei browser da supportare erano limitate e poggiavano su un ambiente relativamente stabile. Il mercato dei dispositivi mobili è invece oggi caratterizzato da moltissimi sistemi operativi, che cambiano di continuo, così come altrettanto velocemente compaiono nuovi dispositivi che utilizzano vari tipi di connessioni di rete. Per chi sviluppa e testa applicazioni si aprono dunque nuove sfide, considerando poi che gli utenti sono sempre più esigenti.

Pubblicato il 07 Giu 2013

Morgan Stanley prevedeva già nel 2010 che le connessioni Internet da dispositivo mobile avrebbero superato quelle da Pc desktop nel 2014. Una previsione del tutto plausibile se pensiamo che nel 2011 si sono registrati, a livello mondiale, 6 miliardi di abbonamenti mobili pari all'87% della popolazione globale, e che entro il 2015 il numero di download di app mobili arriverà a 98 miliardi.

Stiamo parlando di tendenze riferite al mondo consumer, ma che stanno già avendo un impatto diretto sulle imprese; basti pensare che già oggi l’88% dei dipendenti aziendali usa dispositivi personali per fini professionali (secondo un’analisi pubblicata da Avenade nel 2012 e condotta in 17 Paesi su oltre 600 It leader e business manager – Global Survey: Dispelling Six Myths of Consumerization of It) e il 30% delle organizzazioni ha implementato o sta implementando un app store privato (2012 State of Mobility Survey, Symantec – indagine condotta su 6.275 organizzazioni in 43 Paesi).

Per l’It delle aziende tutto ciò significa affrontare nuove sfide nell’ambito dello sviluppo, del testing e delle prestazioni delle applicazioni. Citando ancora qualche numero, solo il 30% delle organizzazioni ha implementato un qualche tipo di infrastruttura o strategia per gestire le prestazioni delle app mobili (The Challenge of Application Performance in a Mobile Application World, Lug. 2012, The Aberdeen Group), benché quasi la maggior parte delle aziende, interpellate sul testing delle soluzioni da Capegemini e Hp, abbia evidenziato tra le priorità, già per il 2013, il miglioramento delle prestazioni delle app mobili (World Quality Report, 2012–13, Capgemini e Hp).

Mentre le applicazioni consumer sono dunque all'apice della tendenza mobile, le aziende stanno ancora faticosamente lottando per non perdere le occasioni di business che il trend della mobility può portare: pensiamo ad esempio ai progressi nei pagamenti, nel commercio e nelle operazioni bancarie che hanno semplificato lo svolgimento di transazioni tramite l’utilizzo di dispositivi mobili, aprendo la strada anche a nuovi modelli di business. Sebbene molte aziende abbiano già compiuto diversi passi importanti nell’ambito delle applicazioni web e dei portali/siti Internet, molto c’è ancora da fare per la loro fruizione via mobile che richiede un vero e proprio cambio di approccio.

Per chi sviluppa applicazioni e governa l’It significa passare ad una strategia centrata sull'utente, riuscire a supportare vari tipi di dispositivi, integrare l’ambiente mobile con i sistemi e i dati preesistenti, monitorare e gestire l'intera esperienza dell’utente mobile, evolvere le attività di sviluppo app adottando procedure nuove, aumentare l’automazione per accelerare il time-to-market, tenere in considerazione anche fattori esterni che incidono sulle prestazioni (per esempio le condizioni della rete mobile), senza trascurare gli aspetti di sicurezza in tutto il ciclo di vita delle soluzioni.

La soddisfazione dell’utente è il nuovo “faro”

Le applicazioni mobili introducono nuove sfide nell’ambito della qualità del software, in particolare per la convalida della performance (che superano quelle del performance testing in un ambiente cablato, perché gli utenti hanno aspettative maggiori e hanno l’opportunità di passare a un’altra applicazione, in modo molto rapido e semplice, se qualcuna non soddisfa le sue esigenze). Un punto fondamentale a questo proposito è che i dispositivi mobili non si limitano a imitare l'ambiente desktop, bensì hanno una serie di requisiti specifici che vanno tenuti in considerazione sia in fase di sviluppo sia durante il testing.

In confronto ai Pc, i dispositivi mobili sono disponibili in un maggior numero di varianti e sono dotati di molte più parti “mobili” che possono influire sull'esperienza end-to-end degli utenti (sistemi operativi diversi, vari sistemi di connettività, differenti ampiezze di banda per l’accesso alle risorse ecc.). Non solo, nonostante le aspettative degli utenti che chiedono un'esperienza simile a quella del desktop, i dispositivi mobili sono in genere dotati di Cpu più lente, schermi più piccoli e una quantità di memoria inferiore rispetto al tipico Pc desktop. Per offrire una buona esperienza ai propri utenti, la maggior parte delle aziende deve perciò modificare le applicazioni e rielaborare le interfacce per adattarle alle limitazioni dei dispositivi mobili.

Nuove sfide per il testing

In altre parole, si aprono per i team di sviluppo e testing nuove sfide. I dispositivi mobili cambiano e si evolvono a un'incredibile velocità. Ogni anno vengono lanciati centinaia di nuovi dispositivi. Con nuove dimensioni dello schermo, formati ed evoluzioni del sistema operativo, queste trasformazioni sono spesso causa di problemi per le app. Per stare al passo con un contesto così dinamico, lo sviluppo delle applicazioni mobili deve essere rapido e i team che si dedicano alle app sono obbligati a progettare, realizzare, testare e rilasciare il software con intervalli molto brevi.

Se poi pensiamo che la scarsa qualità delle app rischia di danneggiare la reputazione dell'azienda e dei suoi prodotti e servizi, ancor più che in passato poiché gli utenti forniscono valutazioni e commenti pubblici sul web e sui social network, è evidente quanto sia importante focalizzare l’attenzione su un’adeguata strategia di testing applicativo, tenendo comunque conto anche della complessità: dal momento che le app mobili sono sempre più complesse e dipendenti dalle nuove tecnologie (si pensi, ad esempio, al near-field communication (Nfc), gli eventi in tempo reale e i popup pubblicitari o promozionali che sfruttano la geolocalizzazione), anche il testing, di conseguenza, rischia di diventare sempre più complesso.

Performance testing per app mobili: è tutta un’altra storia!

Secondo alcune analisi di Hp, attualmente molte aziende pensano erroneamente che il performance testing per applicazioni mobili, per quanto importante, non sia altro che l'applicazione delle strategie e procedure di testing attuali che sono state utilizzate per il testing del carico tipico dell'utilizzo di Internet. Niente di più sbagliato.

Come già accennato, le applicazioni mobili hanno una serie di requisiti specifici. Guardando al comportamento del sistema che supporta le applicazioni, in molti pensano che il carico creato dagli utenti mobili equivalga al comportamento del sistema generato dagli utenti di Internet ma ciò non è necessariamente vero. Quando gli utenti raggiungono il sistema tramite dispositivi mobili, creano un comportamento diverso nel sistema perché le connessioni generalmente restano aperte più a lungo e vengono utilizzate più connessioni simultanee (scenario per altro in forte evoluzione se ripensiamo ai numeri sopra citati che vedranno le connessioni da mobile superare presto quelle più tradizionali da Pc). Spesso, inoltre, si verificano cambiamenti nella disponibilità della banda e, quindi, delle connessioni mobili, in particolare quando gli utenti si spostano o attraversano varie aree di reti cellulari; questo può incidere anche sulle performance del sistema. Tutte queste situazioni rappresentano gli aspetti imprevedibili dell'utilizzo mobile e per garantire che il sistema sia in grado di gestire questo ambito è necessario testarlo in varie condizioni mobili e di rete.

Per poter testare in modo efficace le applicazioni mobili, rispetto ai diversi comportamenti del sistema e le nuove sfide di cui abbiamo accennato, le soluzioni di testing dovrebbero dunque tenere conto di: possibilità di supportare i dispositivi mobili, applicazioni native e applicazioni basate su browser; possibilità di sfruttare emulatori o di effettuare test direttamente dai browser per ridurre la complessità; emulare dinamicamente le diverse condizioni di rete, oltre alla possibilità di generare e imitare il carico da diverse posizioni, magari anche sfruttando ambienti cloud; testare l'utilizzo mobile e il normale utilizzo aziendale, indipendentemente dal protocollo utilizzato dall'applicazione per il suo funzionamento, in modo da accelerare i cicli di rilascio.

Un approccio da ‘lifecycle’

Per poter sviluppare e rilasciare applicazioni mobili che risultino realmente performanti rispetto all’esperienza utente e, quindi, produrre un valore sul fronte del business (produttività degli utenti, facilità di accesso alle risorse, nuove opportunità di comunicazione e condivisione, accelerazione dei processi ecc.), è fondamentale però adottare un approccio strutturato che miri ad assicurare la gestione end-to-end delle applicazioni aziendali. Oltre alla gestione del ciclo di vita delle app, è necessario pensare al loro monitoraggio e alla gestione lungo tutta la catena del valore.

Hp ha sviluppato un framework metodologico basato su sei differenti fasi della “mobilizzazione” delle applicazioni aziendali:

1) progettazione: ideazione delle app mobili in chiave agnostica rispetto alla piattaforma, per supportare dispositivi multipli;

2) costruzione: creazione di app mobili complesse e ricche di funzionalità per client web, Html5, ibridi o nativi;

3) integrazione: connessione protetta e ininterrotta con uno o più sistemi di back-end o sorgenti di dati web;

4) test: verifica del corretto funzionamento delle app mobili con test e servizi;

5) pubblicazione: diffusione delle applicazioni mobili su ogni tipo di app store pubblico o app store privato aziendale;

6) gestione e analisi: monitoraggio e gestione dell'ecosistema applicativo mobile e analisi dell'efficacia delle app mobili tramite report d'uso dettagliati.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 4