Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin

3,053 views

Published on

Sesión del Codemotion 2015 donde repasamos conceptos de pruebas unitarias con Xamarin, pruebas de interfaz, Test Cloud e integración continua con Team City.

Published in: Technology
  • ..............ACCESS that WEBSITE Over for All Ebooks ................ ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { https://urlzs.com/UABbn } ......................................................................................................................... Download Full EPUB Ebook here { https://urlzs.com/UABbn } .........................................................................................................................
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/yyxo9sk7 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Codemotion 2015: UI Tests, Test Cloud y CI con Apps Xamarin

  1. 1. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Integración continua con Apps Xamarin Javier Suárez Ruiz MADRID · NOV 27-28 · 2015
  2. 2. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Javier Suárez Microsoft MVP Windows Platform Development Software Developer at Plain Concepts • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  3. 3. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  4. 4. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN: APPS NATIVAS MULTIPLATAFORMA
  5. 5. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN Base de código C# compartido • 100% acceso a APIs nativas • Alto rendimiento iOS C# UI Windows C# UIAndroid C# UI Shared C# Mobile
  6. 6. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN + XAMARIN.FORMS Original Con Xamarin.Forms iOS C# UI Windows C# UIAndroid C# UI Shared C# Backend Shared UI Code Shared C# Backend
  7. 7. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Cualquier cosa que pudieras hacer con Objective-C, Swift, o Java se puede hacer con C# y Visual Studio con Xamarin.
  8. 8. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ESTADÍSTICAS DE CÓDIGO COMPARTIDOMac iOS Android Windows Phone iCircuit Touch Draw 86% 14% 72% 28% 70% 30% 61%39% 88% 12% 76% 24% 90% 10%
  9. 9. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Xamarin Classic y Xamarin Forms
  10. 10. COSAS QUE PASAN… ¿CIERTO?
  11. 11. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ VAMOS A VER? Un vistazo a la agenda Repasamos nuestra App Xamarin, creamos pruebas unitarias y pruebas de interfaz de usuario. Pruebas unitarias y de UI Un vistazo rápido a que es la integración continua, que puede hacer por nosotros además de que es necesario. Integración Continua Nos centraremos en utilizar Team City que configuraremos para desplegar, compilar y pasar tests unitarios de Apps Xamarin. Configuración y uso Cerramos integrando Xamarin Test Cloud en nuestro proceso de integración continua. Xamarin Test Cloud
  12. 12. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . • Fragmentación • Complejidad de Apps • Ciclos ágiles • Expectación alta usuarios EL RETO
  13. 13. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . +5 Versiones del sistema 22 Dispositivos 20 Idiomas 35 Localizaciones 6 Tamaños de pantalla 9 Versiones del sistema 6 Configuraciones de pantalla 27 Tamaños de pantalla 39 Idiomas 57 Localizaciones +15 Fabricantes Más de 19,000 dispositivos distintos EN TELÉFONOS, LA CALIDAD CUESTA
  14. 14. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  15. 15. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  16. 16. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DIVERSIFICACIÓN EN IOS 3D Touch iPhone 6s Apple pencil iPad Pro Multi Tasking Solo en algunos iPads iPads iPod touch iPhones Factores de forma Características iOS 9
  17. 17. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Mercado dispositivos USA Deberíamos tener 134 dispositivos para cubrir al menos el 75% del Mercado de USA 25% 50% 75% 90%Market Share NumberofDevices 13 45 134 288 0
  18. 18. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Ciclos prolongados Iteraciones rápidas Test más complejos Tests simples Beta Testing Test manuales Test automáticos de UI Unit Testing ¿Cómo testeamos? Test automáticos de UI permiten asegurar: • Arranque • Apariencia • Comportamiento En distintos dispositivos
  19. 19. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO App Xamarin y test unitarios
  20. 20. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . • Crear tests automáticos de la interfaz de usuarios en C# • Se pueden corer directamente desde Visual Studio o Xamarin Studio • Se pueden usar simuladores • Funciona con apps: Nativas, Híbridas o Xamarin • Se pueden subir a Test Cloud INTRODUCCIÓN A XAMARIN.UITEST
  21. 21. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN TEST CLOUD
  22. 22. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  23. 23. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Xamarin UITest
  24. 24. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿INTEGRACIÓN CONTINUA? ¿Qué es? La integración continua consiste en hacer integraciones automáticas de un Proyecto lo más a menudo possible para así detector fallos cuantos antes. Entendemos por integración la compilación y ejecución de pruebas. Wikipedia
  25. 25. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . INTEGRACIÓN CONTINUA Workflow Resultados Repositorio de código Servidor BUILD Desarrollador App Build Ejecutar tests Unitarios Commit Código Tests Unitarios 1º 2º 3º
  26. 26. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA? Beneficios “La integración continua no evitará que se produzcan bugs, pero si nos permite encontrarlos y solucionarlos de una forma dramáticamente más fácil” Martin Flowler
  27. 27. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA? Beneficios. Encontrar errores más rápido! • Detectar errores con mayor rapidez y antelación. • Más sencillo de corregir. • Más barato.
  28. 28. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA? Beneficios. Minimiza problemas en Merges. • Una integración continua con Builds frecuentes tiende a forzar Commits más pequeños. • Más fácil de hacer rollback.
  29. 29. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ NOS APORTA LA INTEGRACIÓN CONTINUA? Beneficios. En mi máquina funciona… • Consistencia. Builds reproducibles. • La App funcionará en cualquier entorno con las mismas condiciones. • Evitamos la “contaminación de la Build”
  30. 30. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . VENTAJAS INTEGRACIÓN CONTINUA Poder desplegar en cualquier momento • Necesitamos entregar una version al cliente… • ¿Para cuando? • AHORA
  31. 31. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CONTROL DE CÓDIGO FUENTE Opciones Team Foundation Server o Visual Studio Online Git / GitHub
  32. 32. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CI SOFTWARE TFS • Mucho más que CI • Sólo para Windows. Requiere utilizat Mac Build Host. • Requiere Xamarin Pro o Business.
  33. 33. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CI SOFTWARE TeamCity • Fácil de instalar. • Windows & OSX. • Versión gratuita.
  34. 34. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CI SOFTWARE Jenkis • Open Source • Windows & OSX • Fácil de instalar • Enorme cantidad de plug-ins
  35. 35. SETUP 1. Servidor de control de código Fuente. 2. Servidor Integración Continua. 3. Instalar y activar Xamarin Studio. 4. Preparar Build script. 5. Configurar la Build en el servidor de Integración Continua. MAC para la compilación de Apps iOS. Suficiente MAC Mini.
  36. 36. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Un vistazo a Team City
  37. 37. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿PORQUE CREAR UN SCRIPT? La importancia del Script • Traceable • Los Devs pueden usarlo también! • Documentación • Mayor facilidad a la hora de mantenerlo todo • Simplifica la configuración del servidor de integración
  38. 38. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿PORQUE CREAR UN SCRIPT? F# MAKE • F# Make o más conocido como FAKE, es un Sistema de automatización de Builds. • Similar a Make o Rake. • DSL sin necesidad de F#. Si necesitamos más funcionalidad que la disponible por defecto escribiremos código F# o referencias a librerías .NET. • Funciona en Windows y OSX.
  39. 39. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . HOLA MUNDO FAKE F# MAKE #r "tools/FAKE/tools/FakeLib.dll" // include Fake lib open Fake Target "Test" (fun _ -> trace "Testing stuff..." ) Target "Deploy" (fun _ -> trace "Deploy stuff..." ) "Test" // define the dependencies ==> "Deploy" Run "Deploy"
  40. 40. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO BUILDs automáticas de Apps Xamarin con Team City
  41. 41. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ENTREGA DE LA APLICACIÓN HockeyApp • Podemos subir versiones de la App de manera automática desde nuestras Builds. • Podemos notificar a clientes o testers. • Recibir feedback. • Crashs. • API para desarrolladores.
  42. 42. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  43. 43. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . .
  44. 44. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Entrega continua
  45. 45. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . CONCLUSIONES INTEGRACIÓN CONTINUA ¿Qué hemos aprendido? • Automatización • Commits más frecuentes • Builds continuas, se detectan fallos más rápido • No se sube código que rompa la Build • Corrección de bugs con mayor facilidad y rapidez • Build en cualquier entorno destino
  46. 46. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . Rápido Equipo de QA puede probar con rapidez y recibir completos informes desde Xamarin Test Cloud Cientos de dispositivos Podemos accede y probar nuestra aplicación en gran cantidad de dispositivos diferentes Integración Continua Compilación, pruebas unitarias e integración con Xamarin Test Cloud Reportes Mucho más que feedback, informes completes de errores y rendimiento Fragmentación Combinaciones de diferentes dispositivos, versions del Sistema operative, resoluciones y pantallas. UI testing Pruebas en la UI de todo tipo, toques, deslizamientos, etc. CONCLUSIONES INTEGRACIÓN CONTINUA
  47. 47. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . ¿PREGUNTAS y RESPUESTAS? ¿Dudas? P&R
  48. 48. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . GRACIAS a TODOS Por vuestro tiempo! Javier Suárez Microsoft MVP Windows Platform Development • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  49. 49. INTEGRACIÓN CONTINUA CON XAMARIN JAVIER SUÁREZ RUIZ . . INTEGRACIÓN CONTINUA CON APPS XAMARIN Como pasar Builds y test unitarios de Apps móviles multiplataforma Xamarin desde TeamCity.

×