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.

Testing de Apps Xamarin

3,282 views

Published on

En esta sesión conocemos como hacer pruebas unitarias y de interfaz de aplicaciones móviles multiplataforma con Xamarin. Además, conocemos y probamos Test Cloud y hacemos un breve introducción a Visual Studio Mobile Center.

Published in: Technology
  • Buenas tardes, quisera saber si en el visual comunity 2017 se puede instalar el test recorder. gracias
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Testing de Apps Xamarin

  1. 1. TESTING DE APPS XAMARIN Como hacer pruebas unitarios y de interfaz de Apps móviles multiplataforma Xamarin. Además veremos como utilizar Xamarin Test Cloud y una introducción a Visual Studio Mobile Center. SVQXDG
  2. 2. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Javier Suárez Microsoft MVP Xamarin MVP Software Developer at Plain Concepts • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  3. 3. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN: APPS NATIVAS MULTIPLATAFORMA
  4. 4. TESTING DE APPS 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
  5. 5. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN + XAMARIN.FORMS Classic Con Xamarin.Forms iOS C# UI Windows C# UIAndroid C# UI Shared C# Backend Shared UI Code Shared C# Backend
  6. 6. TESTING DE APPS 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.
  7. 7. COSAS QUE PASAN… ¿CIERTO?
  8. 8. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . ¿QUÉ VAMOS A VER? Un vistazo a la agenda Repasamos nuestra App Xamarin y creamos pruebas unitarias. Pruebas unitarias Xamarin UITest y Xamarin Test Recorder Pruebas de UI Accedemos a cientos de dispositivos para probar nuestra aplicación utilizando Test Cloud. Xamarin Test Cloud Cerramos echando un vistazo a Mobile Center. Visual Studio Mobile Center
  9. 9. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . • Fragmentación • Complejidad de Apps • Ciclos ágiles • Expectación alta usuarios EL RETO
  10. 10. TESTING DE APPS 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
  11. 11. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . .
  12. 12. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . .
  13. 13. TESTING DE APPS 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
  14. 14. TESTING DE APPS 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
  15. 15. TESTING DE APPS 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
  16. 16. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Tenemos grandes razones para hacer pruebas unitarias a nuestro código: • Reducir la cantidad de bugs. • Detectar errores de forma más rápida y efectiva. • Añaden documentación. • Reducen costes. MOTIVOS PARA HACER A TESTS UNITARIOS
  17. 17. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Una prueba unitaria debe ser: • Rápida. • Reproducible. • Mantenible. • Independiente. TEST UNITARIO
  18. 18. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Para hacer pruebas unitarias utilizaremos un framework de testing. • En Xamarin Studio se utiliza por defecto Nunit. • Visual Studio utiliza por defecto MSTest. Podemos utilizar Nunit o Xunit también en ambos IDEs. FRAMEWORKS PARA HACER TESTING UNITARIO
  19. 19. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Recuerda: • Deben ser lo más simples posibles. • Prueba lógica de la aplicación NO métodos. Es común ver multiples pruebas para un sencillo método. • Si el test es difícil de escribir… – Falta context para identificar requisites. – Indicar un problema de diseño. ESCRIBIENDO TESTS UNITARIOS
  20. 20. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . [TextFixture] public class Tests { [Test] public void TestSomething_ShouldBeOk() { } } ESCRIBIENDO TESTS UNITARIOS
  21. 21. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . DEMO App Xamarin y test unitarios
  22. 22. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Las pruebas de UI es el proceso de probar la interfaz de usuario de la aplicación y su interacción de forma automática. • Normalmente se suelen hacer estas pruebas de forma manual. • Utilizadas para identificar problemas de UX. • Pueden identificar problemas con algunas plataformas, Sistemas operativos o factores de forma. INTRODUCCIÓN A LAS PRUEBAS DE UI
  23. 23. TESTING DE APPS 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
  24. 24. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . • Visual Studio cuenta con una plantilla de Proyecto Xamarin.UITest en Visual C# > Mobile Apps. CREANDO PROYECTO XAMARIN.UITEST
  25. 25. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Creando Proyecto Xamarin UITest
  26. 26. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . La plantilla del Proyecto Xamarin.UITests crea una clase [SetUp] encarga de la inicialización de UITest. El contenido será diferente dependiendo del tipo de Proyecto (Mobile, iOS, Android). ANATOMÍA PROYECTO XAMARIN.UITEST public class AppInitializer { public static Iapp StartApp(Platform platform) { if(platform == Platform.Android) { // Android } // iOS } }
  27. 27. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . La API de Testing define un conjunto de métodos destinados a interaccionar con la UI disponibles vía la interfaz IApp. Actualmente hay dos implementaciones disponibles • iOSApp • AndroidApp INTERACCIÓN CON UITEST
  28. 28. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . .
  29. 29. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Se utiliza la propiedad AutomationId para permitir el acceso al control utilizando el selector Marked. AÑADIENDO SOPORTE A XAMARIN.FORMS <Button Text=“Click Me” AutomationId=“MyButton” />
  30. 30. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Un vistazo a Tests de tipo Xamarin UITest
  31. 31. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Test Recorder es una herramienta que permite crear pruebas de forma sumamente sencilla realizando una interacción directa con la aplicación. Disponible tanto para Windows como para MacOS. UTILIZANDO TEST RECORDER
  32. 32. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . • Requiere un API Key de Xamarin Test Cloud – Se puede obtener de forma gratuita. • Soporta iOS 8 o superior. • Soporta Android 4.2 o superior. – Es necesario incluir el permiso de Internet. LOS REQUISITOS
  33. 33. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Creando pruebas con Test Recorder
  34. 34. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . XAMARIN TEST CLOUD
  35. 35. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Xamarin Test Cloud es un servicio disponible en la nube que permite ejecutar pruebas de UI en cientos de dispositivos móviles (reales) diferentes. Disponible en testcloud.xamarin.com ¿QUÉ ES XAMARIN TEST CLOUD?
  36. 36. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Xamarin Test Cloud
  37. 37. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . A/B Testing Live UpdateStorage Push Notifications Crash Reporting Remote Config. Identity Tables Visual Studio Mobile Center Mission control para mobile apps ANUNCIADO :-)
  38. 38. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Visual Studio Mobile Center Mission control para Apps móviles build, test, despliegue, monitorear (continuo) Funciona con cualquier App móvil http://mobile.azure.com
  39. 39. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Incluye los siguientes servicios: • Build: CI y CD • Test: Pruebas automáticas en dispositivos reales • Reporte de errores: Analíticas de errores en tiempo real • Distribución: Despliegue a usuarios o grupos • Analíticas: Métricas de uso • Autenticación: Integración sencilla con métodos comunes • EasyTables: Crear almacenamiento de forma muy rápida Visual Studio Mobile Center
  40. 40. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . • Soporte para Apps iOS & Android • Build • Xamarin • Objective-C • Swift • Java • Javascript • Test: • Xamarin.UITest • Calabash • Appium Visual Studio Mobile Center
  41. 41. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . • Soporte para iOS & Android • Mobile SDK • Analíticas • Reporte errores • Mobile Backend • API : • Open Source CLI • http://github.com/Microsoft/MobileCenter-Cli Visual Studio Mobile Center
  42. 42. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . DEMO Visual Studio Mobile Center
  43. 43. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . Visual Studio Mobile Center cuenta con una herramienta de línea de commandos llamada mobile-center-cli: https://github.com/Microsoft/mobile-center-cli SUBIR XAMARIN.UITEST mobile-center test run uitest
  44. 44. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . CONCLUSIONES TESTING ¿Qué hemos aprendido? • Pruebas unitarias, cortas reproducibles que verifiquen la lógica de nuestra App. • Pruebas de UI validan el comportamiento de la aplicación, problemas de UX y validación de funcionamiento en dispositivos. • Fácil de crear tests con Test Recorder. • Acceso a cientos de dispositivos con Test Cloud.
  45. 45. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . ¿PREGUNTAS y RESPUESTAS? ¿Dudas? P&R
  46. 46. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . GRACIAS a TODOS Por vuestro tiempo! Javier Suárez Microsoft MVP Xamarin MVP • Blog: http://geeks.ms/blogs/jsuarez • Email: javiersuarezruiz@hotmail.com • Twitter: @jsuarezruiz
  47. 47. TESTING DE APPS XAMARIN JAVIER SUÁREZ RUIZ . . TESTING DE APPS XAMARIN Como hacer test unitarios y de UI de Apps móviles multiplataforma Xamarin.

×