presenta UI Test Automation with Xamarin Fabio Cozzolino Microsoft MVP www.wpc2015.it info@wpc2015.it - +39 02 365738.11 - #wpc15it 1
Perché testare un app: qualità e release time Ovviamente qualità e stabilità! Un app instabile è inutilizzabile Verifica costante delle funzionalità e dell aderenza ai requirements Processi di rilascio da parte di Apple (e Microsoft) troppo lunghi Dai 3 ai 10 giorni I test manuali sono lunghi e noiosi J ATTENZIONE! Si tratta sempre di codice, quindi va manutenuto! www.wpc2015.it info@wpc2015.it - +39 02 365738.11 - #wpc15it 2
Perché testare un app: ios diversification www.wpc2015.it info@wpc2015.it - +39 02 365738.11 3
Perché testare un app: Android fragmentation Oltre 1.294 brand Il Play Store Console conta oltre 9.200 device con una versione di Android www.wpc2015.it info@wpc2015.it - +39 02 365738.11 4
Quindi? www.wpc2015.it info@wpc2015.it - +39 02 365738.11 5
UI Acceptance Test with Xamarin Xamarin.UITest Xamarin Test Cloud www.wpc2015.it info@wpc2015.it - +39 02 365738.11 6
Xamarin.UITest 1.0 Parte di Xamarin 4.0 Automatizza l esecuzione di test di accettazione della User Interface Utilizza NUnit come piattaforma per l esecuzione dei test sui device ios e Android E possibile anche scrivere test in Ruby Usando Calabash, un framework basato su Cucumber www.wpc2015.it info@wpc2015.it - +39 02 365738.11 7
Progettazione ed esecuzione dei test Pattern Arrange, Act, Assert Interazione con i controlli della view utilizzando i riferimenti E possibile ottenere i riferimenti utilizzando il REPL Set di funzioni per l esecuzione di query sulle view e per l iterazione con i controlli Preview con REPL www.wpc2015.it info@wpc2015.it - +39 02 365738.11 8
Esecuzione dei test: Read-Eval-Print-Loop (REPL) L esecuzione dei test si basa sull interrogazione della view Attraverso REPL recupero i riferimenti agli oggetti Tree, Flash, copy www.wpc2015.it info@wpc2015.it - +39 02 365738.11 9
DEMO Write your first test! www.wpc2015.it info@wpc2015.it - +39 02 365738.11 10
Esecuzione dei test: accesso alle view Metodo Descrizione Button Class Id Index Marked Text TextField Recupero di un pulsante dalla view Recupero di views con una classe specifica Recupero di views con un id specifico Recupera una view da una lista Recupera una view cercando AccessibilityIdentifier o AccessibilityLabel (ios), Id, ContentDescription o Text (Android) Recupera una view con il testo specifico Recupera una Android EditText o una ios UITextField www.wpc2015.it info@wpc2015.it - +39 02 365738.11 11
Esecuzione dei test: interazione con le view Example Description PressEnter Simula l invio Tap EnterText WaitForElement Screenshot(String) Simula il tap (ad esempio su un pulsante) Inserisce un testo in una view (UITextView, EntryText, etc ) Attende l esecuzione dell app fino al momento in cui viene visualizzata una view Effettua uno screenshot dello stato corrente Flash Provoca il "flash" or "flicker" sulle view www.wpc2015.it info@wpc2015.it - +39 02 365738.11 12
Anatomia di UI Test Cloud Framework Xamarin.UITest è un framework basato su Calabash per la scrittura dei test Per interagire con l app viene utilizzato lo Xamarin Test Cloud Agent: Approccio client-server Server su Device / Client su UITest Messaggi via JSON www.wpc2015.it info@wpc2015.it - +39 02 365738.11 13
Xamarin Test Cloud Agent in ios www.wpc2015.it info@wpc2015.it - +39 02 365738.11 14
Xamarin Test Cloud Agent in Android www.wpc2015.it info@wpc2015.it - +39 02 365738.11 15
Xamarin Test Cloud E possibile scrivere i test in due modi In Ruby con Calabash, un framework basato su Cucumber In C# con Xamarin.UITest Organizzato in Team Diversi ruoli: Users, Team Manager, Admin Possibilità di selezione dei device di test Oltre 2000 device disponibili Report dettagliati per i risultati dei test Un ora di test gratuiti al mese per le subscription Business www.wpc2015.it info@wpc2015.it - +39 02 365738.11 16
PREVIEW: Xamarin Test Recorder Consente di registrare l iterazione con l app Genera gli step test Esporta i test nel test cloud o in codice In preview www.wpc2015.it info@wpc2015.it - +39 02 365738.11 17
DEMO Test cloud and recorder www.wpc2015.it info@wpc2015.it - +39 02 365738.11 18
Tips Iniziate i test già durante la fase di sviluppo Per le app già sviluppate incominciate a testare le macro funzionalità Contestualmente, in caso di bug, si può incominciare con il Riprodurre il bug con un test Eseguire la fix Ripetere il test per certificare la risoluzione del bug Il test ci permette di evitare regressioni www.wpc2015.it info@wpc2015.it - +39 02 365738.11 19
Fabio Cozzolino @fabiocozzolino www.fabiocozzolino.eu Contatti e riferimenti Xamarin https://www.facebook.com/groups/sviluppatorixama rinitalia/ www.wpc2015.it info@wpc2015.it - +39 02 365738.11 - #wpc15it 20
Domande e Risposte Q & A www.wpc2015.it info@wpc2015.it - +39 02 365738.11 - #wpc15it 21
OverNet Education info@overneteducation.it www.overneteducation.it Tel. 02 365738 Contatti OverNet Education @overnete www.facebook.com/overneteducation www.linkedin.com/company/overnet-solutions www.wpc2015.it www.wpc2015.it info@wpc2015.it - +39 02 365738.11 - #wpc15it 22