Ui testing for windows store apps

29
UI Testing for Windows Store Apps Massimo Bonanni

description

Slide della sessione "UI Testing for Windows Store Apps" tenuta all' ALM Day di DotNetCampania il 28/03/2014 (http://almday.dotnetcampania.org/). Le Windows Store Apps sono anche e soprattutto User Experience e poter testare la propria interfaccia grafica costituisce una garanzia di qualita'. In questa sessione prenderemo in esame cosa sono e come possono essere sviluppati coded ui test per le Windows Store Apps e quali strumenti ci mette a disposizione Visual Studio 2013 per aiutarci nel nostro lavoro.

Transcript of Ui testing for windows store apps

Page 1: Ui testing for windows store apps

UI Testing for Windows Store AppsMassimo Bonanni

Page 2: Ui testing for windows store apps

Un grazie agli sponsor!

getlatestversion.it

Page 3: Ui testing for windows store apps

Chi sono?

o Senior .NET Developer @ Wuerth Phoenix

o Microsoft MVP (VB.NET) dal 2011o Fondatore e Presidente di

DomusDotNet (www.domusdotnet.org)o Trainer e speaker

[email protected]@massimobonannihttp://codetailor.blogspot.com

Page 4: Ui testing for windows store apps

Agenda

o Coded UI Testo Performance e Diagnostic

o XAML UI Responsivenesso Energy consumption

Page 5: Ui testing for windows store apps

Coded UI Test

I Coded UI test sono una particolare tipologia di test che consente di testare il comportamento di una interfaccia grafica in maniera automatica senza l’utilizzo di un operatore umano.

Di fatto un Coded UI test è a tutti gli effetti un test (sfrutta, cioè un framework di test supportato da Visual Studio) con la capacità di eseguire operazioni sull’interfaccia grafica (ad esempio la pressione di un tasto o la verifica della presenza di un testo all’interno di un textbox).

Page 6: Ui testing for windows store apps

Coded UI Test

Grazie ai CodedUI test è possibile testare la corretta funzionalità di un’interfaccia grafica senza utilizzare un operatore «in carne ed ossa», aggiungendo, quindi, un maggior numero di test a tutti quei test automatizzati già esistenti (ad esempio gli Unit Test).

Visual Studio dispone, fin dalla versione 2010, di strumenti a supporto per la creazione e l’esecuzione di CodedUI test ma nella versione 2013 il tutto è fornito anche per le Windows Store App.

Page 7: Ui testing for windows store apps

Code UI Test

I Coded UI Test per le Windows Store App hanno un loro progetto specifico all’interno di Visual Studio.

Quando creiamo un progetto Coded UI Test, ci viene proposta la creazione di una UIMap.

Page 8: Ui testing for windows store apps

UIMap

o La UI Map contiene la definizione degli oggetti grafici che andremo a «sollecitare» nei nostri test

o Può essere creata e modificata utilizzando lo strumento «Coded UI Test Builder» (CUIT) presente nel menù test di Visual Studio.

Page 9: Ui testing for windows store apps

UIMap : creare la UIMap

Page 10: Ui testing for windows store apps

UIMapo Visual Studio crea una classe

(Partial) al cui interno possiamo trovare:o La definizione dei controlli di

interfacciao I metodi di assert per la verifica delle

proprietà dei controlli.

Page 11: Ui testing for windows store apps

UIMap: I metodi di Assert

Il “Coded UI Test Builder” ci consente di creare anche dei metodi per verificare delle condizioni di Assert del nostro test.

Page 12: Ui testing for windows store apps

Scriviamo i nostri test

Il framework di test di Visual Studio ci mette a disposizione, oltre alla classe UIMap, altre classi utili per simulare l’interazione con l’utente:

o XamlWindow: permette di eseguire una app;o Una serie di classi (come, ad esempio, XamlButton) che

gestiscono i singoli controlli della UI (usate anche dalla UIMap);

o Gesture per simulare le gesture, come ad esempio Gesture.Tap();

o Keyboard per simulare l’interazione con la tastiera, ad esempio Keyboard.SendKeys();

o Mouse per simulare il mouse.

Ovviamente abbiamo a disposizione la classe Assert per controllare le nostre assertion.

Page 13: Ui testing for windows store apps

DEMO

Page 14: Ui testing for windows store apps

Performance e Diagnostic

Tutti gli stumenti di performance e diagnostica sono raggruppati in un unico menù.

Ne sono stati aggiunti nuovi rispetto a quelli di VS2012.

Page 15: Ui testing for windows store apps

XAML UI Responsiveness

o Permette di analizzare le problematiche relative alla parte XAML della nostra app: processing e rendering;

o Possono essere inseriti dei marker custom per poter capire meglio cosa sta succedendo;

o Può essere eseguito anche su app installate (non necessariamente sul codice);

o Può essere eseguito anche su app remote (ad esempio per analizzare app su tablet RT)

Page 16: Ui testing for windows store apps

Diagnostic session timeline Mostra il riferimento temporale della sessione di test.

Sono riportati i marker dell’application lifecycle management applicativo (ad esempio lo start dell’app) e i marker custom.

Può essere selezionata una parte della timeline per analizzare solo un certo intervallo temporale

Page 17: Ui testing for windows store apps

UI thread utilizationPermette di avere dati relative all’utilizzo del thread di UI.

o Parsing: operazioni di parsing dello XAML e recupero delle risorse;

o Layout: operazioni di posizionamento (layout) dei controlli;

o App Code: operazioni a carico del nostro codice;o Xaml Other: accesso al codice runtime dello

XAML.

Page 18: Ui testing for windows store apps

Visual throughput (FPS)

Mostra il framerate dell’interfaccia (esattamente quello che vediamo se abilitiamo l’EnableFrameRateCounter).

Page 19: Ui testing for windows store apps

Parsing viewMostra quali file XAML sono caricati e processati.

o UI Elements (inclusive/exclusive): numero di elementi XAML definiti nel singolo file (exclusive) o nel file e nei suoi figli (inclusive)

o Duration (inclusive/exclusive) : tempo necessario al sistema per processare il singolo file (exclusive) o il file e i suoi figli (exclusive)

Page 20: Ui testing for windows store apps

Hot elements view

Il grafico rappresenta il tempo impiegato da ogni singolo elemento per il layout

Page 21: Ui testing for windows store apps

DEMO

Page 22: Ui testing for windows store apps

Energy consumptiono Permette di analizzare le problematiche

relative al consume energetico e di rete della nostra app;

o Possono essere inseriti dei marker custom;o Può essere eseguito anche su app installate

(non necessariamente sul codice) o remote;

Page 23: Ui testing for windows store apps

Estimated power usage (mW)Mostra il consumo (in mW) della nostra applicazione nel tempo:

o CPU : consumo dovuto alle operazioni della CPU;

o Display : consumo dovuto alla parte UI e rendering;

o Network : consumo dovuto al traffic di rete

Page 24: Ui testing for windows store apps

Resources (On/Off)

Mostra i costi energetici dovuti all’utilizzo delle risorse di rete

Page 25: Ui testing for windows store apps

Energy usage summary

Mostra un riepilogo del consumo totale durante la sessione con delle previsioni sulla durata della batteria con l’app sempre attiva.

Page 26: Ui testing for windows store apps

DEMO

Page 27: Ui testing for windows store apps

Domande?

Page 28: Ui testing for windows store apps

Riferimentio Debugging and testing Windows Store apps with

Visual Studiohttp://msdn.microsoft.com/library/windows/apps/hh441481.aspx

o Testing Windows Store Applications with Coded UI Testshttp://msdn.microsoft.com/en-us/library/dn305948.aspx

o Testing Windows Store Applications (Channel 9) – videohttp://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview/Testing-Windows-Store-Applications

o Testing Windows Store apps Running on a Device Using the Exploratory Test Windowhttp://msdn.microsoft.com/en-us/library/hh873101(v=vs.110).aspx

o HTML.it – CodedUI test per Windows Store Apps http://www.html.it/pag/47556/codedui-test-per-windows-store-apps-csxaml/

Page 29: Ui testing for windows store apps

o Software Testing with Visual Studio 2012 Jump Starthttp://www.microsoftvirtualacademy.com/training-courses/software-testing-with-visual-studio-2012-exam-70-497-jump-start

o Software Testing Fundamentalshttp://www.microsoftvirtualacademy.com/training-courses/software-testing-fundamentals

o Introduzione all'applicazione di ALM con Visual Studio 2012http://www.microsoftvirtualacademy.com/training-courses/fefd595a-6ac7-4bb7-bdf1-90a214e9867f

o Applying ALM with Visual Studio 2012 Jump Starthttp://www.microsoftvirtualacademy.com/training-courses/applying-alm-w-visual-studio-2012-jump-start

http://www.microsoftvirtualacademy.com/