a new methodology for automated "ux - oriented" performance testing designed for android...
TRANSCRIPT
* A new methodology for automated “User eXperience-oriented” performance testing designed for Google® Android™ mobile devices
Università degli Studi del SannioFacoltà di Ingegneria
Tesi di Laurea in Basi di Dati
Relatori:Prof. Corrado Aaron VisaggioIng. Mauro D’Angelo (Micron)
Candidato:Raffaele Bruno – 195/683
*Micron Semiconductor
Italy
Agrate Brianza
Arzano
Avezzano Catania
*Contesto, motivazione ed obiettivi
* Contesto
* L’evoluzione tecnologica ha portato alla nascita di dispositivi mobili equipaggiati con S.O. avanzati ed hardware dalle alte prestazioni
* I dispositivi possono essere modificati con software di terze parti per migliorarne le prestazioni
*Motivazione
* Necessità di verificare automaticamente le differenze di performance tra più configurazioni di dispositivi Android da un punto di vista della User Experience
* Obiettivi
* Progettare una test suite in base a determinati profili utente
* Automatizzare il testing delle performance orientato alla valutazione delle differenze a livello di UX (User eXperience) tra diversi dispositivi
*Stato dell’arte
*User Experience
*Questionari: gli utenti rispondono ad alcune domande relative all’utilizzo del dispositivo
*Diari: gli utenti riportano informazioni circa le attività svolte con il dispositivo annotando le loro impressioni
* PRO: si ottengono feedback direttamente dagli utenti in modo obiettivo
* CONTRO: per i test occorrono molto tempo e risorse umane
*User Agents: applicazioni che tracciano le azioni compiute dall’utente
* PRO: tracciabilità delle interazioni con il dispositivo e statistiche di utilizzo
* CONTRO: difficoltà di integrazione con il sistema ed invasività
*Performance
*Vengono valutate utilizzando tool di benchmark quali Quadrant e Smartbench
*Soluzione proposta:
Struttura della metodologia
Caratterrizzazione dell’utente
finale
• Definizione del modello utente
• Analisi utilizzo dello smartphone
Creazione scenari di test
• Scelta profilo utente
• Scelta profilo di Active Time
• Selezione azioni
Testing Automatico
• Test on-device• Test off-device
Valutazione UX
• Pre-test survey• Post-test survey
• UX scores
Scores matching
* Soluzione proposta: Caratterizzazione dell’utente
finale - un modello del comportamento
* Il comportamento di un utente reale può essere modellato come una macchina a stati avente come stato iniziale un “dummy state” denominato IDLE. Il modello è stato ideato da Shye.
* L’Active Time è il tempo di effettivo utilizzo del dispositivo non considerando il tempo di standby
Active TimeProfile
Tat [h]
SMART 2
SUPER 4
TOP 6
Feature / Service Active time percentage[%]
Normal user
Smart user
Business man user
Text communication 14 20 8
Voice communicaton 14 8 20
Web services 14 28 35
Entertainment 14 28 23
Tools 14 3 3
Market 14 10 5
Positioning 14 3 6
* I profili sono stati definiti ipotizzando l’utilizzo tipo da parte dell’utente delle varie feature messe a disposizione del device
* Soluzione proposta: Caratterizzazione dell’utente finale – definizione dei profili
utente
*Soluzione proposta: Creazione degli scenari
di test
*A partire dal tipo di profilo scelto (Normal, Smart o Business - man), si selezionano le azioni da compiere dalla lista dei servizi o features messe a disposizione da Android
Selezione User profile ed Active
Time profile
Selezione azioni –
nelle percentuali previste dal
profilo scelto
Creazione dello
scenario
*Sperimentazione: Tool utilizzati
Quadrant
AnTuTu
Smartbench
ATEAdvanced Testing
Environment• ATE è un framework di test per dispositivi
Android sviluppato dalla Micron• Permette di effettuare test a livello di UX
mediante la creazione di scenari di test in modo semplice ed intuitivo, personalizzati per profilo utente, anche in remoto
• Permette di misurare le prestazioni a livello delle singole interazioni con il dispositivo (Accesso ad una pagina web, apertura di un’applicazione) o a livello dell’intero script di test
*Sperimentazione: Dispositivi sotto
test
*Versione STOCK
*Versione CUST-30: kernel modificato con il 30% in meno di RAM disponibile per il sistema
HTC Nexus One
* Sperimentazione:Organizzazione ed
esecuzione
Benchmarking ATE Testing Valutazione
UXAnalisi dei Risultati
• Setup: reset alle impostazioni di fabbrica
• System load: esecuzione script per simulazione utilizzo reale
• Benchmarking: esecuzione dei test con i vari strumenti ed acquisizione degli score
• Setup: reset con impostazioni di fabbrica
• System load: esecuzione script per simulazione utilizzo reale
• Performance testing: esecuzione di scenari per il calcolo dell’indice di performance (Cold start, Warm start e Time-To-Go-To-Home)
• I partecipanti sono stati selezionati tra i dipendenti del centro R&D della Micron di Arzano
• I tester erano tutti esperti del settore e possessori di smartphone Android
• Ad ogni partecipante è stato sottoposto un questionario pre-test in modo da capire sotto quale profilo utente andarlo a mappare
• A ciascun tester è stato affidato di volta in volta, per 24 ore, un dispositivo STOCK o CUST-30, in maniera random
• Ogni utente, in fase di consegna del dispositivo ha compilato un questionario per rilasciare i suoi feedback
ATE UX Surveys
*Sperimentazione:Calcolo degli
score
1000)(
13
1
i iScript
ATE AvgTimesMeanScore
n
iiUX ScoreScore
1
• AvgTimes sono i tempi medi di esecuzione degli script
• Gli script usati sono stati: Cold-start, Warm-start e Time-To-Go-To-Home
• Score-i è il punteggio ottenuto nel questionario i-simo mediante la scala di Likert
• n è il numero di questionari per ogni configurazione
*Sperimentazione:I risultati generati dai
benchmark
*Sperimentazione:I risultati ottenuti dai
questionari
*Sperimentazione:I risultati ottenuti con
ATE
*Sperimentazione:Confronto tra i risultati
ottenuti
*Conclusioni
*Grazie alla test suite progettata e all’uso di ATE sono riuscito ad ottenere risultati che sono molto fedeli a quelli ottenuti con la classica metodologia della valutazione della UX grazie alla possibilità di personalizzazione degli scenari di test in base ai profili utente
*ATE permette di effettuare test di performance orientati alla valutazione della UX senza essere vincolati al fattore umano, risparmiando tempo e risorse umane, fattori fondamentali in ambito industriale.
*Sviluppi futuri
*Valutare la percentuale massima di deterioramento delle performance ancora accettabile dall’utente dal punto di vista della UX
*Creare un plugin per ATE che permetta di generare automaticamente un set di scenari di test compatibili con alcuni parametri come: uso della CPU, uso della RAM, Battery Drain Profile ed un determinato profilo utente
*Grazie