Your SlideShare is downloading. ×
0
Context-Aware Mobile  Applications: come testarle?Antonio Di FrancescoPatrizio EspositoHenry MucciniUniversita’ degli Stud...
Contesto di questo lavoroAttivita’ di ricerca su mobile applications presso l’Universita’ degliStudi dell’Aquila    • Test...
Trend generale           Situazione attuale:           29 miliardi di applicazioni              scaricate nel 2011.       ...
Applicazioni Mobile                                            Tipologia                                            ➢   Ap...
Contesto (def)DefinizioneSchilit (1994)➢ Computing context: connettività del dispositivo, la banda a         disposizione,...
Contesto (esempio)Computing context           User context                    Physical context
Contesto (in classe)Computing context:    Connettività Wifi UnivAq Hot Spot➢   User context:       Umore       Stanchez...
Applicazioni mobile context-aware                      Video: 2012 GM Advanced Tech Window                  http://www.you...
Applicazioni context-aware➢   Evoluzione tecnologica dei sensori.➢   Riproduzione sempre più precisa dellambiente.        ...
Integrazione: context-aware & mobile➢   Smartcities: integrazione con i sensori.
Context-Aware/Mobile apps
Trend (context-aware)➢Influenza della tecnologia context-aware96 miliardi di dollari entro il 2015 a livello mondiale.    ...
Perché è importante testarle?➢Crescita delle applicazioni context-aware nel futuro.➢   User experience.        Perché è di...
Perché è importante testarle?     Esempio:Navatar  Video: Navatar: Indoor navigation system for users who are visually    ...
Testing➢Connettività mobile      bugs riconducibili allinaffidabilità delle connessioni.➢Risorse limitate             degr...
Sviluppo apps sensor-basedpublic class SensorActivity extends Activity, implements SensorEventListener {    private final ...
Approccio➢Analisi → Selezione → Esecuzione
Framework attualeCapture              Replay            Black-box / design-time
Analisi        Sensor Analysis➢Studio dei sensori attualmente in uso dall’App    se applicazione e WB, controllo dal codi...
AnalisiEvent-sensor Data Analysis/Data Model➢Link tra sensore ed evento.➢Rappresentazione matematica dellevento.Camminata ...
Event-Sensor Data Model
Analisi             Contextual Test Scenarios (CTS) Specification➢   Scenario reale.➢   ”muovi k passi in avanti, ruota di...
Selezione➢   Passo 1: Individuare il sensore utilizzato nellapplicazione.➢   Passo 2: Individuare la maggior parte degli e...
EsecuzioneRegistrazione istanze scenario
Esecuzione                  Normalizzazione del file di registrazione-3 < x < -2.8-9.8 < y < 9.41.8 < z < 2 L   Bounds   U
EsecuzioneReplay istanze registrate su emulatore
Tools➢Open Intents➢Samsung Sensor Simulator➢IOS/Android emulator
Casi di studio•Metal Detector (Campo magnetico)•Pushup Buddy (Prossimità)•Bubble (Orientamento)•Pedometer (Accelerometro) ...
Risultati
Framework attuale e futuro    Monitoring  Capture                 Replay                 Black-box / design-time      Upgr...
Challenges   Utilizzo di vari smart phones nella fase di registrazione    eventi   Cosa accade se l’utente e’ alto 2.5 m...
Lavori Futuri   Creazione di librerie per la gestione di scenari noti   Creazione di pattern predefiniti riusabili    ne...
ContattiHenry Muccini (team leader)www: HenryMuccini.comemail: henry.muccini@di.univaq.ittwit: @muccinihenryAntonio Di Fra...
Upcoming SlideShare
Loading in...5
×

Context-aware Mobile Applications: come testarle?

2,827

Published on

How to test context-aware mobile applications?

This talk, presented @WHYMCA 2012 (http://www.whymca.org) discusses why testing context-aware mobile applications is important and initial results towards their automated testing.

See also http://www.henrymuccini.com/mobiletesting

Published in: Education
2 Comments
1 Like
Statistics
Notes
No Downloads
Views
Total Views
2,827
On Slideshare
0
From Embeds
0
Number of Embeds
36
Actions
Shares
0
Downloads
10
Comments
2
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Context-aware Mobile Applications: come testarle?"

  1. 1. Context-Aware Mobile Applications: come testarle?Antonio Di FrancescoPatrizio EspositoHenry MucciniUniversita’ degli Studi dell’Aquilahenry.muccini@di.univaq.it@muccinihenry www.henrymuccini.com/MobileTesting
  2. 2. Contesto di questo lavoroAttivita’ di ricerca su mobile applications presso l’Universita’ degliStudi dell’Aquila • Testing di applicazioni mobili • studio delle peculiarita’ del testing di applicazioni mobili • studio del testing di context-aware mobile app • Progettazione di applicazioni mobili • Corso su “Applicazioni per Dispositivi Mobili” (http://lore.com/course/6623)
  3. 3. Trend generale Situazione attuale: 29 miliardi di applicazioni scaricate nel 2011. abiresearch Valore di mercato: 128 miliardi di dollari (2011). 150 miliardi di dollari (2012). Strategy Analytics Previsione: 185 miliardi di apps scaricate (2014). Gartner
  4. 4. Applicazioni Mobile Tipologia ➢ Applicazioni Native ➢ Applicazioni Web ➢ Applicazioni Ibride Sistema operativoappartengono solo alla classe delle applicazioni mobile?
  5. 5. Contesto (def)DefinizioneSchilit (1994)➢ Computing context: connettività del dispositivo, la banda a disposizione, i costi di comunicazione e le risorse circostanti con le quali il dispositivo può interagire.➢ User context: situazione sociale dell’utente, la sua localizzazione e le sue possibili attività.➢ Physical context: include la luminosità, il livello di rumore e la temperatura.
  6. 6. Contesto (esempio)Computing context User context Physical context
  7. 7. Contesto (in classe)Computing context:  Connettività Wifi UnivAq Hot Spot➢ User context:  Umore  Stanchezza  Cio’ che successo questa mattina…  Dove sono andato ieri  Periodo dell’anno➢ Physical context:  Luminosita’ Rumore
  8. 8. Applicazioni mobile context-aware Video: 2012 GM Advanced Tech Window http://www.youtube.com/watch?v=9G4cYYlIaCc ➢Il mondo fisico si mescola a quello delle informazioni. ➢Mobilità. "... change the business world..."
  9. 9. Applicazioni context-aware➢ Evoluzione tecnologica dei sensori.➢ Riproduzione sempre più precisa dellambiente. Video: Microsoft Kinect per Xbox 360 http://www.youtube.com/watch?v=NUYBapS5 nEM&feature=g-hist
  10. 10. Integrazione: context-aware & mobile➢ Smartcities: integrazione con i sensori.
  11. 11. Context-Aware/Mobile apps
  12. 12. Trend (context-aware)➢Influenza della tecnologia context-aware96 miliardi di dollari entro il 2015 a livello mondiale. gartner➢Utilizzo della tecnologiasmartphone iOS, Android, Windows Phone o altre piattaforme sarannoutilizzati da più di 1,8 miliardi di persone entro il 2015.➢Ambienti di studioLa user experience migliora attraverso lutilizzo delle informazioni sugliinteressi di una persona, le intenzioni, la storia, lambiente circostante, leattività e le connessioni.Eric Schmidt: “So we do need to extend the vision for context-aware applications toinclude the device, it’s characteristics, and the human interface guidelines set out forthe experience.”
  13. 13. Perché è importante testarle?➢Crescita delle applicazioni context-aware nel futuro.➢ User experience. Perché è difficile testarle?➢Sensore traduce il Contesto in una rappresentazione matematica.➢ Imprevedibilità dellinput contestuale.➢ Variabilità dellinput contestuale.
  14. 14. Perché è importante testarle? Esempio:Navatar Video: Navatar: Indoor navigation system for users who are visually impaired http://www.youtube.com/watch?v=cBqvkRCxYIw&feature=g-hist
  15. 15. Testing➢Connettività mobile bugs riconducibili allinaffidabilità delle connessioni.➢Risorse limitate degradazione delle prestazioni del sistema.➢Autonomia cattiva implementazione dellapp – memory leak.➢Sistemi operativi continua inaffidabilità e variabilità.➢Differenti dispositivi Android: 1800 ambienti diversi di esecuzione.➢Consapevolezza del contesto bugs: contesti inaffidabili o non gestiti. “..user experience..”
  16. 16. Sviluppo apps sensor-basedpublic class SensorActivity extends Activity, implements SensorEventListener { private final SensorManager mSensorManager; private final Sensor mAccelerometer; public SensorActivity() { mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE); mAccelerometer = mSensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER); } protected void onResume() { super.onResume(); mSensorManager.registerListener(mAccelerometer, SensorManager.SENSOR_DELAY_NORMAL); } protected void onPause() { super.onPause(); mSensorManager.unregisterListener(this); } public void onAccuracyChanged(Sensor sensor, int accuracy) { } public void onSensorChanged(SensorEvent event) { }}
  17. 17. Approccio➢Analisi → Selezione → Esecuzione
  18. 18. Framework attualeCapture Replay Black-box / design-time
  19. 19. Analisi Sensor Analysis➢Studio dei sensori attualmente in uso dall’App se applicazione e WB, controllo dal codice le chiamate, se applicazione e BB: eseguo il running dellapp sul dispositivo uso emulatore (e.g., Samsung Sensor Simulator) e sposto i valori dei sensori per vedere se app emulata reagisce
  20. 20. AnalisiEvent-sensor Data Analysis/Data Model➢Link tra sensore ed evento.➢Rappresentazione matematica dellevento.Camminata in linea retta = ?????•Sollecitazione maggiore sullasse y. Asse x e z ininfluenti.•y compreso tra [-14.81 ; -9.81[ e ]9.81 ; 14.81].•x e z compresi tra [-9.81; 9.81]. ?
  21. 21. Event-Sensor Data Model
  22. 22. Analisi Contextual Test Scenarios (CTS) Specification➢ Scenario reale.➢ ”muovi k passi in avanti, ruota di 180 gradi, fai x salti” → ” k+x ?”.
  23. 23. Selezione➢ Passo 1: Individuare il sensore utilizzato nellapplicazione.➢ Passo 2: Individuare la maggior parte degli eventi attinenti allapplicazione.➢ Passo 3: Ad ogni evento (passo 2) associare un modello matematico.➢ Passo 4: Category Partition Method.
  24. 24. EsecuzioneRegistrazione istanze scenario
  25. 25. Esecuzione Normalizzazione del file di registrazione-3 < x < -2.8-9.8 < y < 9.41.8 < z < 2 L Bounds U
  26. 26. EsecuzioneReplay istanze registrate su emulatore
  27. 27. Tools➢Open Intents➢Samsung Sensor Simulator➢IOS/Android emulator
  28. 28. Casi di studio•Metal Detector (Campo magnetico)•Pushup Buddy (Prossimità)•Bubble (Orientamento)•Pedometer (Accelerometro) 1.Pedometer (P1) 2.LexApps Pedometer (P2) 3.Step Counter (P3) 4.WalkMe (P4)
  29. 29. Risultati
  30. 30. Framework attuale e futuro Monitoring Capture Replay Black-box / design-time Upgrade White-box/ run-time
  31. 31. Challenges Utilizzo di vari smart phones nella fase di registrazione eventi Cosa accade se l’utente e’ alto 2.5 metri? Real-timeness?
  32. 32. Lavori Futuri Creazione di librerie per la gestione di scenari noti Creazione di pattern predefiniti riusabili nell’esecuzione dei casi di test Analisi dei dati provenienti da piu’ sensori Interazione con le aziende
  33. 33. ContattiHenry Muccini (team leader)www: HenryMuccini.comemail: henry.muccini@di.univaq.ittwit: @muccinihenryAntonio Di Francescoemail: antonio.difrancesco84@gmail.comPatrizio Espositoemail: patexp80@gmail.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×