El documento discute los desafíos del testing de aplicaciones móviles, incluyendo la variedad de dispositivos, sistemas operativos y versiones. Recomienda probar en 5-10 dispositivos representativos seleccionados en base al riesgo, abarcando diferentes tamaños, gamas y sistemas operativos. También presenta herramientas como emuladores, simuladores y plataformas en la nube para automatizar pruebas en múltiples dispositivos de forma remota.
Mejores prácticas para testing de apps móvilesSoftware Guru
Conforme las apps pasan de ser una curiosidad, a un canal para atraer y atender a los clientes de un negocio, la calidad de dichas apps se convierte en un elemento fundamental. Una app de mala calidad puede provocar desde una mala imagen hacia los clientes, hasta huecos de seguridad o interrupciones en la operación del negocio.
2 horas de workshop para analizar los problemas fundamentales que atraviezan desarrolladores y testers en los smart devices. Desafíos, foco, checklist y herramientas.
- Diferencia entre aplicación nativa y web
- Qué se debe verificar en el Testing de aplicaciones móviles
- Matriz de decisión
- Qué tener en cuenta al momento de definir el plan de Testing para aplicaciones nativas
- Qué tener en cuenta al momento de definir el plan de Testing para sitios web responsive
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
Introducción a distintos aspectos de calidad y testing de software, enfocando en ciertos puntos desarrollados en Abstracta:
- testing automatizado (Selenium, GXtest, JUnit)
- generación de pruebas con model driven approaches usando UML, UTP, ATL (model to model) y Acceleo (Model to Text)
- smart monkey testing (Monkop - monkop.com) para probar automáticamente aplicaciones Android
- pruebas de performance con OpenSTA
De esta forma mostramos cómo estamos volcando la empresa a la investigación en la industria, investigación en la academia, desarrollo de productos y servicios de alto valor agregado.
Mejores prácticas para testing de aplicacionesSoftware Guru
http://sg.com.mx/sgce/2013/sessions/mejores-pr%C3%A1cticas-para-testing-aplicaciones
Se mostrarán las mejores prácticas para la generación de las diferentes tipos de pruebas que existen para las aplicaciones antes de salir a producción.
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...Federico Toledo
Charla sobre testing de performance y testing automatizado, centrado en las herramientas que nos permiten realizar estas tareas, pero sin dejar de lado la importancia de la metodología para aprovechar el máximo provecho que se le pueden sacar a estas herramientas.
Esto fue en el marco del evento organizado por CDA-Perú, en el que se presentó la alianza estratégica entre CDA y Abstracta, a través de la cual se ofrecen servicios especializados de testing automatizado y performance a empresas de Perú.
Mejores prácticas para testing de apps móvilesSoftware Guru
Conforme las apps pasan de ser una curiosidad, a un canal para atraer y atender a los clientes de un negocio, la calidad de dichas apps se convierte en un elemento fundamental. Una app de mala calidad puede provocar desde una mala imagen hacia los clientes, hasta huecos de seguridad o interrupciones en la operación del negocio.
2 horas de workshop para analizar los problemas fundamentales que atraviezan desarrolladores y testers en los smart devices. Desafíos, foco, checklist y herramientas.
- Diferencia entre aplicación nativa y web
- Qué se debe verificar en el Testing de aplicaciones móviles
- Matriz de decisión
- Qué tener en cuenta al momento de definir el plan de Testing para aplicaciones nativas
- Qué tener en cuenta al momento de definir el plan de Testing para sitios web responsive
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
Introducción a distintos aspectos de calidad y testing de software, enfocando en ciertos puntos desarrollados en Abstracta:
- testing automatizado (Selenium, GXtest, JUnit)
- generación de pruebas con model driven approaches usando UML, UTP, ATL (model to model) y Acceleo (Model to Text)
- smart monkey testing (Monkop - monkop.com) para probar automáticamente aplicaciones Android
- pruebas de performance con OpenSTA
De esta forma mostramos cómo estamos volcando la empresa a la investigación en la industria, investigación en la academia, desarrollo de productos y servicios de alto valor agregado.
Mejores prácticas para testing de aplicacionesSoftware Guru
http://sg.com.mx/sgce/2013/sessions/mejores-pr%C3%A1cticas-para-testing-aplicaciones
Se mostrarán las mejores prácticas para la generación de las diferentes tipos de pruebas que existen para las aplicaciones antes de salir a producción.
Evento CDA Abstracta - Perú 2015 - Testing de performance y testing automátic...Federico Toledo
Charla sobre testing de performance y testing automatizado, centrado en las herramientas que nos permiten realizar estas tareas, pero sin dejar de lado la importancia de la metodología para aprovechar el máximo provecho que se le pueden sacar a estas herramientas.
Esto fue en el marco del evento organizado por CDA-Perú, en el que se presentó la alianza estratégica entre CDA y Abstracta, a través de la cual se ofrecen servicios especializados de testing automatizado y performance a empresas de Perú.
Charla evento TestingUY 2016 - Guía para probar Aplicaciones MóvilesTestingUy
Expositora: Silvia Nane
Resumen:
Cuando esta charla comience, el paisaje de aplicaciones móviles ya habrá cambiado: Seguramente ya se haya publicado alguna nueva versión de Android o de iOS, y ya habrá nuevos modelos en el mercado. Las nuevas aplicaciones para móviles son virales, han alterado nuestra forma de interactuar con el mundo que nos rodea, y se venden por millones. Y para nosotros los testers, las pruebas de aplicaciones móviles se han convertido en un mundo más complejo y difícil.
¿Desanimados? Nada de eso. A pesar del panorama en constante cambio, hay algunas constantes en el ámbito de la calidad de aplicaciones móviles, y aquí trataremos de esbozar varias estrategias probadas que ayudan a construir matrices de pruebas confiables para las aplicaciones móviles .
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Federico Toledo
El testing de aplicaciones mobile es uno de los grandes desafíos que se presenta hoy en día por la diversidad de dispositivos y configuraciones existentes. Asegurar que la aplicación funcione en todos los dispositivos, que sea rápida cuando la utilizan muchas personas y que sea segura, son las inquietudes e incertidumbres que nos atacan.
¿Qué necesitamos saber? ¿En qué herramientas nos podemos apoyar? ¿Qué hay de nuevo con respecto al testing de los sistemas que venimos probando? ¿Qué pasa con la usabilidad, cómo la probamos? Estas y otras preguntas son las que estaremos abordando en esta charla, compartiendo nuestras experiencias e investigación al respecto.
Esta presentacion incluye oportunidades de mercado de aplicaciones moviles, A su vez, conceptos de desarrollo movil, utiles para Android, Blackberry, Android, y iPhone.
This presentation contains market opportunities for mobile applications, and an introduction to techniques and demos on application development for Android, Blackberry, and Android.
Mobile Testing: Qué tener en cuenta y trampas a evitarGlobe Testing
En 2007 Steve Jobs presenta el primer iPhone y cambia para siempre las reglas del juego. En estos 10 años todas las empresas han tenido que adaptarse al nuevo modelo e introducirse en un mercado mucho más exigente que demanda, nuevos desarrollos y un mayor nivel de calidad en los mismos.
Cuando hacemos frente al desarrollo de aplicaciones móviles, los paradigmas de desarrollo y testing tradicionales quedan completamente obsoletos. En este nuevo ecosistema, donde la agilidad es fundamental y en el que surgen constantemente nuevas problemáticas, si queremos llegar a tiempo, el testing debe adaptarse y evolucionar.
José Manuel Muñoz nos hablará en esta charla de algunos de los principales retos que nos encontramos al realizar testing sobre aplicaciones móviles tales como son; la selección de dispositivos y la relevancia que toma la automatización frente al testing manual, la interacción con el propio dispositivo, la integración con otros servicios y las diferentes soluciones para hacer frente a dichos retos.
Lo que te dicen y no te dicen de hacer apps móvilesSoftware Guru
Aplicaciones vemos, dramas no sabemos.
Las aplicaciones móviles son un verdadero arte: sistemas operativos, usabilidad, dependencias de fuentes de datos, datos móviles vs. wifi, usuarios avanzados contra usuarios que todo lo hacen ver o ser difícil.
En esta charla les platicaré algunas de los criterios más importantes a considerar antes de desarrollar una aplicación móvil, además de algunos tips valiosos para que no caigas en los típicos errores que los equipos de desarrollo móvil viven.
¿Me acompañas a navegar en el barco del mobile? Yo te ayudaré a que no caigas por la borda, ni que Cthulhu nos devore. Llegaremos sanos y salvos a la orilla del mar de tecnología.
Charla evento TestingUY 2016 - Guía para probar Aplicaciones MóvilesTestingUy
Expositora: Silvia Nane
Resumen:
Cuando esta charla comience, el paisaje de aplicaciones móviles ya habrá cambiado: Seguramente ya se haya publicado alguna nueva versión de Android o de iOS, y ya habrá nuevos modelos en el mercado. Las nuevas aplicaciones para móviles son virales, han alterado nuestra forma de interactuar con el mundo que nos rodea, y se venden por millones. Y para nosotros los testers, las pruebas de aplicaciones móviles se han convertido en un mundo más complejo y difícil.
¿Desanimados? Nada de eso. A pesar del panorama en constante cambio, hay algunas constantes en el ámbito de la calidad de aplicaciones móviles, y aquí trataremos de esbozar varias estrategias probadas que ayudan a construir matrices de pruebas confiables para las aplicaciones móviles .
Jornada de Calidad 2015 (Universidad ORT, Buenos Aires, Argentina) - Mobile t...Federico Toledo
El testing de aplicaciones mobile es uno de los grandes desafíos que se presenta hoy en día por la diversidad de dispositivos y configuraciones existentes. Asegurar que la aplicación funcione en todos los dispositivos, que sea rápida cuando la utilizan muchas personas y que sea segura, son las inquietudes e incertidumbres que nos atacan.
¿Qué necesitamos saber? ¿En qué herramientas nos podemos apoyar? ¿Qué hay de nuevo con respecto al testing de los sistemas que venimos probando? ¿Qué pasa con la usabilidad, cómo la probamos? Estas y otras preguntas son las que estaremos abordando en esta charla, compartiendo nuestras experiencias e investigación al respecto.
Esta presentacion incluye oportunidades de mercado de aplicaciones moviles, A su vez, conceptos de desarrollo movil, utiles para Android, Blackberry, Android, y iPhone.
This presentation contains market opportunities for mobile applications, and an introduction to techniques and demos on application development for Android, Blackberry, and Android.
Mobile Testing: Qué tener en cuenta y trampas a evitarGlobe Testing
En 2007 Steve Jobs presenta el primer iPhone y cambia para siempre las reglas del juego. En estos 10 años todas las empresas han tenido que adaptarse al nuevo modelo e introducirse en un mercado mucho más exigente que demanda, nuevos desarrollos y un mayor nivel de calidad en los mismos.
Cuando hacemos frente al desarrollo de aplicaciones móviles, los paradigmas de desarrollo y testing tradicionales quedan completamente obsoletos. En este nuevo ecosistema, donde la agilidad es fundamental y en el que surgen constantemente nuevas problemáticas, si queremos llegar a tiempo, el testing debe adaptarse y evolucionar.
José Manuel Muñoz nos hablará en esta charla de algunos de los principales retos que nos encontramos al realizar testing sobre aplicaciones móviles tales como son; la selección de dispositivos y la relevancia que toma la automatización frente al testing manual, la interacción con el propio dispositivo, la integración con otros servicios y las diferentes soluciones para hacer frente a dichos retos.
Lo que te dicen y no te dicen de hacer apps móvilesSoftware Guru
Aplicaciones vemos, dramas no sabemos.
Las aplicaciones móviles son un verdadero arte: sistemas operativos, usabilidad, dependencias de fuentes de datos, datos móviles vs. wifi, usuarios avanzados contra usuarios que todo lo hacen ver o ser difícil.
En esta charla les platicaré algunas de los criterios más importantes a considerar antes de desarrollar una aplicación móvil, además de algunos tips valiosos para que no caigas en los típicos errores que los equipos de desarrollo móvil viven.
¿Me acompañas a navegar en el barco del mobile? Yo te ayudaré a que no caigas por la borda, ni que Cthulhu nos devore. Llegaremos sanos y salvos a la orilla del mar de tecnología.
Lecciones aprendidas desarrollando una plataforma de Mobile Monkey TestingAbstracta
Las técnicas de monkey testing generalmente implican la ejecución de estímulos aleatorios sobre un sistema bajo pruebas con el único propósito de buscar situaciones de crash. Usar este tipo de técnicas es bastante barato, y además es posible conseguir información de valor sobre aspectos de calidad en forma temprana.
Típicamente, las herramientas existentes que usan estas técnicas son capaces de proveer información relacionada a robustez, mostrando la secuencia de pasoso ejecutada y los datos de entrada, y tal vez como información adicional el log del sistema. Es bastante complicado para el desarrollador o el tester el encontrar la causa raíz, o reducir la cantidad de pasos necesarios para reproducir las situaciones de error detectadas.
Implementar este tipo de herramientas no es trivial, más si consideramos que las aplicaciones móviles y el testing de las mismas es algo que tiene muy pocos años de desarrollo.
Aquí compartimos nuestra experiencia de implementar una plataforma opensource para pruebas de aplicaciones móviles usando monkey testing, buscando facilitar el uso y maximizar el beneficio de la información a obtener. Esto incluye desde la automatización de la exploración de un producto, la identificación automática de errores y hasta la obtención de métricas útiles para un desarrollador, y que le sirvan para detectar oportunidades de mejora y reducir así el riesgo de la liberación al mercado.
Hemos enfrentado diferentes problemas y desafíos, y así identificamos una serie de beneficios y desventajas de usar estas técnicas para este tipo de plataforma en particular que queremos compartir con la audiencia.
Build and test all, lo nuevo de GXtest para DesarrolladoresAbstracta
Presentamos la nueva versión de GXtest, que ayudará al desarrollador en las pruebas que realiza a diario, para optimizar su tiempo y la calidad de sus implementaciones, de forma fácil, gratuita y sin salir de GeneXus. Además, mostraremos algunas nuevas herramientas para seguir potenciando a los testers, cómo realizar pruebas funcionales sobre aplicaciones para Smart Devices, y cómo generar pruebas de performance.
Durante el proceso de desarrollo, continuamente estamos probando lo que implementamos, una y otra vez. Aunque sabemos cuáles son los flujos y juegos de datos más importantes para probar, el repetirlo en forma manual es sumamente tedioso y muchas veces imposible de hacer a conciencia debido a limitaciones de tiempo y otros recursos.
¿No sería bueno...
- que las pruebas se generasen automáticamente a través de un “botón derecho -> Test”?
- que las pruebas se ejecutasen automáticamente mientras pensamos lo próximo que debemos implementar?
- que pudiésemos guardar esas pruebas en nuestra KB, editarlas y mejorarlas, y no tener que repensar todo cada vez?
- que pudiésemos hacer todo esto desde GeneXus y sin instalar otros programas?
¿Por qué automatizar? y ¿por qué con GXtest?Abstracta
Sumemos controles de calidad a nuestros sistemas, con menos riesgos y costos, automatizando con GXtest, sin necesidad de contratar habilidades especiales para el equipo.
El objetivo de esta conferencia es exponer y demostrar con claridad las ventajas de automatizar con GXtest, derribando algunas afirmaciones típicas asociadas a la automatización:
“La automatización es costosa”
“Pierdo mucho tiempo”
“Necesito habilidades en programación”
“Es muy alta la curva de aprendizaje”
Además, podremos visualizar cuándo es conveniente y por qué automatizar pruebas funcionales de aplicaciones GeneXus con GXtest, sin exigir conocimientos de programación a los testers y sin largas capacitaciones; obteniendo beneficios adicionales en el proceso, como ser la generación de documentación de los casos de prueba o los scripts para pruebas de performance; tareas que insumen mucho tiempo al realizarlas manualmente.
Esta charla fue expuesta por Gonzalo Brun y Matías Reina en el marco del Encuentro Internacional de GeneXus 2014, #GX24
Herramientas de testing para aplicaciones GeneXusAbstracta
En el mundo GeneXus se sabe bien que una herramienta puede mejorar la productividad en el desarrollo. Sucede lo mismo con el testing de aplicaciones, pero seguramente todos piensan en pruebas automatizadas cuando hablamos de herramientas de testing, pero en realidad hay mucho más!
En esta charla les queremos contar de varias herramientas que nos han sido de utilidad para diversas tareas de gestión, documentación, generación de datos, registro de ideas de testing, ejecución de pruebas, entre otras.
Charla expuesta por Andrés Curcio y Matías Reina de Abstracta, en el marco del Encuentro Internacional de GeneXus 2014, #GX24
Mantenimiento y mejora continua de la performance de las aplicacionesAbstracta
¿Cómo se puede garantizar que la performance de los sistemas no empeore con el transcurso del tiempo? Si un sistema hoy responde rápidamente, ¿eso garantiza que seguirá siendo así en el futuro?
De la misma forma que los sistemas, sus funcionalidades, el hardware, drivers, y sistemas operativos que les dan soporte van cambiando, también lo hace la carga sobre el sistema. La carga, entendida como la cantidad de usuarios que accede al sistema, la forma en que los usuarios ejecutan las funcionalidades, y el volumen de datos que debe ser procesado por las solicitudes del negocio son todos ejemplos de elementos que van cambiando durante la vida de una aplicación informática.
A medida que el contexto va cambiando, el sistema debe adaptarse para mantener la calidad de la performance en las respuestas a sus usuarios.
Luego que un sistema es puesto en producción comienza la etapa de mantenimiento. Para que el mantenimiento sea menor, se pueden realizar pruebas funcionales y no funcionales, con el objetivo de anticiparse a situaciones que ocurrirán en producción. La etapa de mantenimiento se caracteriza por ser tan larga cómo la vida del sistema. En esta etapa es donde ocurren todas esas situaciones inesperadas y todos los cambios en el ambiente a los que debemos adaptarnos.
Es importante entonces mantener una permanente monitorización sobre los componentes del sistema con el objetivo de detectar problemas rápidamente y adaptar lo que sea necesario para solucionarlos.
Monitorización y revisión de los tiempos de respuesta en los access logs de los servidores web y servidores de aplicaciones. Uso de los recursos (CPU, memoria, acceso a disco). Crecimiento de las tablas en la base de datos. Estos son algunos pocos ejemplos de indicadores que pueden ser monitorizados para conocer el sistema e identificar problemas.
En esta charla veremos metodología, buenas prácticas, herramientas útiles y ejemplos para mantener y mejorar la performance durante la vida de los sistemas informáticos.
Esta charla fue expuesta por Simon de Uvarow en el marco del Encuentro Internacional GeneXus 2014, #GX24
Los superpoderes de la interfaz. Cómo el diseño convierte al usuario en Super...Abstracta
Un gran poder conlleva una gran responsabilidad. La interfaz es la cara visible, el punto de acceso, la presentación y la imagen no solo de la aplicación, sino de la empresa que la hizo. Eso es un gran poder, y a su vez tiene una gran responsabilidad.
A su vez, le estamos dando al usuario ese poder, y éste puede ser feliz o puede frustrarse y pasar al lado oscuro.
Está de moda hablar de usabilidad, de que hay que hacer sitios y sistemas y aplicaciones usables, pero ¿cómo lo hacemos?
En esta charla veremos de forma general qué es el diseño, viéndolo como el dominio de la interfaz, para luego ver paradigmas del diseño, aplicado a UI de sistemas. Todo esto lo veremos aplicado a un sistema real para poder ver cómo aplicamos cada uno de los paradigmas que comentaremos, y así a través de ese concepto mostrar buenas y malas prácticas en el diseño de interfaz, a través de ejemplos conocidos, haciendo la charla más dinámica y simpática, llevándola al producto final, contando con usuarios felices y con superpoderes.
Esta charla fue expuesta en marco del Encuentro Internacional GeneXus en 2014, #GX24
Oradores
Federico Toledo (www.abstracta.com.uy)
Sebastián Martínez (www.sintropia.com.uy)
El punto principal transmitido en la charla fue: Al hacer aplicaciones el foco tiene que estar en el usuario, por más que haya otros problemas a resolver. Al usuario no le importa que haya un servidor conectado con no sé qué, que hace no sé qué algoritmo. El usuario está interesado por la tarea que debe hacer y la interaccion con la herramienta realizarlo debe ser lo más cómoda posible.
A modo de validación de la idea, presentamos Monkop (monkop.com), a la cual le estamos poniendo foco en el diseño desde sus inicios. Monkop es una herramienta/servicio que permite mejorar la calidad de las aplicaciones móviles a cero esfuerzo. Se sube un APK (aplicación móvil para instalar) a la página, y con técnicas de monkey testing logra explorarla y capturar métricas de performance, seguridad, robustez, verifica que se sigan las buenas prácticas, etc. Así genera un reporte que envía al usuario interesado, con oportunidades de mejora detectadas.
VLCtesting 2013 - Comprobando y refutando las promesas del testing automatiza...Abstracta
http://www.vlctesting.es/
Es importante que los usuarios confíen en el software que desarrollamos, y no hay mejor camino que probándolo. Para probar software siempre se habla de que el testing automatizado es un camino para acelerar, ser más eficiente, reducir costos, reducir riesgos, aumentar productividad, aumentar la motivación del equipo, etc. Pero ¿todo eso es realmente cierto? En nuestra experiencia podemos decir que no siempre es completamente cierto. Si no enfocamos bien nuestros esfuerzos no lograremos cumplir con esas promesas. Entonces, ¿cómo hacemos testing automatizado en forma efectiva y eficiente? ¿Cómo hacemos que valga la pena? ¿Cómo lo hacemos para obtener el máximo beneficio? ¿No siempre es beneficioso automatizar pruebas? ¿Cómo decido cuándo sí y cuándo no?
Testear efectiva y eficientemente es un gran desafío, que siempre nos lleva a querer ver cómo mejorar la productividad en la búsqueda de la calidad. En esta charla veremos algunas buenas prácticas, lecciones aprendidas, consejos y observaciones que hemos tomado nota en nuestra experiencia dando servicios de pruebas, viendo así cómo enfocar nuestros esfuerzos para tener éxito en nuestras pruebas, haciendo reales, o lo más reales posible, esos beneficios que siempre nos prometen del testing automatizado. También compartiremos los problemas más comunes con los que nos enfrentamos a menudo, y las alternativas que hemos encontrado para solventarlos. Compartiremos la experiencia de proyectos en distintos dominios de aplicación (sector financiero, logística, venta y distribución, etc.), contextos y plataformas, con diversos clientes. Intentaremos mostrar cuándo creemos que sí es factible y beneficioso automatizar, y cuándo rotundamente no.
GX23 - ¿Por qué correr cuando puedes testear?Abstracta
¿Su organización está dispuesta a pagar el costo de una aplicación que no funciona? Correr ese riesgo ya no es una opción. El testing debe ser considerado en todos los proyectos de desarrollo desde la concepción de los mismos.
GX23 - GXtest 2.0: Automatización de pruebas para la nueva generación de apl...Abstracta
Hoy en día una aplicación de calidad debe ser correcta funcionalmente, performante, y segura. Eso es lo que espera un usuario, y nada menos que eso. Veremos en esta conferencia la versión 2.0 de GXtest, con la que automatizaremos pruebas sobre aplicaciones web y móviles, que cubran los aspectos funcionales, de performance, y de seguridad. Mostraremos cómo GXtest aumenta sensiblemente la productividad del equipo, lo cual conduce a una reducción de los costos, incrementando además su calidad, y controlando los riesgos de las puestas en producción.
Generación de pruebas de performance a partir de pruebas funcionales para sis...Abstracta
Las pruebas de rendimiento consisten en simular carga en el sistema bajo pruebas para analizar el desempeño de la infraestructura durante la ejecución de la prueba, pudiendo encontrar cuellos de botella y oportunidades de mejora. Para la simulación se utilizan herramientas específicas, en las que se debe automatizar las acciones que generarán esa carga, esto es: las interacciones entre el usuario y el servidor. Para poder simular muchos usuarios con poca infraestructura de pruebas, se automatizan las interacciones a nivel de protocolo (en scripts), lo cual hace que la automatización sea más compleja (en cuanto al trabajo necesario para su preparación) que la automatización de pruebas funcionales, que se realiza a nivel de interfaz gráfica. Generalmente la tarea de automatización consume entre el 30% y el 50% del esfuerzo de un proyecto de pruebas de rendimiento. En este artículo presentamos la herramienta desarrollada para seguir un nuevo enfoque para generar scripts para pruebas de rendimiento a partir de scripts de pruebas funcionales. La herramienta implementada ya ha sido puesta en funcionamiento en proyectos reales, de los cuales se muestran los principales resultados que reflejan mayor flexibilidad y menor costo de automatización.
Si bien los hospitales conjuntan a profesionales de salud que atienden a la población, existe un equipo de organización, coordinación y administración que permite que los cuidados clínicos se otorguen de manera constante y sin obstáculos.
Mario García Baltazar, director del área de Tecnología (TI) del Hospital Victoria La Salle, relató la manera en la que el departamento que él lidera, apoyado en Cirrus y Estela, brinda servicio a los clientes internos de la institución e impulsa una experiencia positiva en el paciente.
Conoce el Hospital Victoria La Salle
Ubicado en Ciudad Victoria, Tamaulipas, México
Inició operaciones en el 2016
Forma parte del Consorcio Mexicanos de Hospitales
Hospital de segundo nivel
21 habitaciones para estancia
31 camas censables
13 camillas
2 quirófanos
+174 integrantes en su plantilla
+120 equipos médicos de alta tecnología
+900 pacientes atendidos
Servicios de +20 especialidades
Módulos utilizados de Cirrus
HIS
EHR
ERP
Estela - Business Intelligence
3. Nuevos ingredientes para la vieja
receta del testing
Desafío por la variedad de dispositivos
Saber cómo se hace, para saber cómo se puede romper
#GX24 #mobiletesting
Nuevas herramientas
5. ¿Puedo usar Emuladores?
Dispositivo (Red de datos)
Dispositivo (Wi-Fi + Simulador de red)
#GX24 #mobiletesting
White paper from tcs.com: Mobile application testing
Emuladores
8. Emuladores – Desventajas
No son reales.
No se prueba la verdadera sensación del usuario al
dispositivo.
No se puede medir la performance real del dispositivo.
No cuenta con implementaciones del fabricante:
(tienen la implementación oficial de Android).
#GX24 #mobiletesting
No cuenta con sensores reales.
No tienen plan de datos.
…
19. Preguntas para seleccionar los dispositivos (4/4)
#GX24 #mobiletesting
Para cada Sistema Operativo
¿Cuáles son los dispositivos y versiones más
populares del público objetivo?
¿Cómo calculo eso?
20. Diversidad en Android
Estadísticas iniciales proporcionadas por Android.
http://developer.android.com/about/dashboards/index.html
#GX24 #mobiletesting
24. Google Analytics – por dispositivo
¡Ojo con esto!
• ¿No será que estos son los dispositivos más comunes porque
#GX24 #mobiletesting
no funcionan en el resto?
25. #GX24 #mobiletesting
Set de ejemplo
Dispositivo Tipo Gama Sistema Operativo
iPad Mini Tablet Alta iOS 7
iPhone 5S Smart
Phone
Alta iOS 8
Galaxy Tab Tablet Alta Android 4.4
Sony Xperia X10 Smart
Phone
Baja Android 2.1
Galaxy ACE Smart
Phone
Baja Android 2.2
26. ¡¿Pruebo todo en todos los dispositivos?!
#GX24 #mobiletesting
Set de ejemplo
Dispositivo Tipo Gama Sistema Operativo
iPad Mini Tablet Alta iOS 7
iPhone 5S Smart
Phone
Alta iOS 8
Galaxy Tab Tablet Alta Android 4.4
Sony Xperia X10 Smart
Phone
Baja Android 2.1
Galaxy ACE Smart
Phone
Baja Android 2.2
27. Cobertura en el tiempo
#GX24 #mobiletesting
Versión 1
Test Suite
Critica
Todos los
dispositivos
Test Suite 1 iPad Mini
Test Suite 2 iPhone 5S
Test Suite 3 Galaxy Tab
Test Suite 4 Xperia
Test Suite 5 ACE
Versión 2
Todos los
dispositivos
ACE
iPad Mini
iPhone 5S
Galaxy Tab
Xperia
Versión 4
Todos los
dispositivos
Galaxy Tab
Xperia
ACE
iPad Mini
iPhone 5S
Versión 3
Todos los
dispositivos
Xperia
ACE
iPad Mini
iPhone 5S
Galaxy Tab
Tiempo
Versión 5
Todos los
dispositivos
iPhone 5S
Galaxy Tab
Xperia
ACE
iPad Mini
28. Ok, ya sé qué dispositivos elijo
¿Todos vamos a comprar un set?
#GX24 #mobiletesting
33. Ciclo de vida App iOS
- No ejecutando, pero debe
poder enviar notificaciones.
- Activa, recibe eventos de
usuario.
- Inactiva, no recibe eventos.
- Background, ejecuta código.
- Suspendida, no ejecuta código.
- Abrirla por primera vez.
#GX24 #mobiletesting
Tal vez arrancar contando que venimos trabajando juntos, y que estamos viendo cada vez mayor necesidad de testing para sistemas mobile, y por eso nos resulta interesante contar sobre los desafíos de mobile testing y cómo enfrentarlos
Hace un tiempo publicamos este libro q se puede descargar gratuito, lo pueden comprar impreso acá en el evento. Resume un montón de buenas prácticas para pruebas de sistemas de información, pero no tiene nada particular para mobile.
La pregunta que surge es ¿alguien que sabe testear una aplicación web puede testear una aplicación mobile? ¿qué otras cosas hay que saber? ¿qué nuevos desafíos se presentan?
Y la verdad es que sí, que hay nuevos desafíos. Que un buen tester acostumbrado a testear sistemas web o cualquier otra plataforma, puede probar aplicaciones mobile, pero es conveniente que esté atento a estos nuevos desafíos, y a como resolverlos.
Nosotros estamos trabajando en distintos proyectos, y en distintas puntas, para atacar esos desafíos que hemos identificado y los queremos compartir acá.
FT:Dispositivos
- ODL
- Google Analytics
- Nros: Cuantos
- Emulador o no (diferencia con simulador)
- Como seleccionar, etc.
- Android L y otros sistemas operativos que puedan venir
emuladores:
Ideal para etapa de desarrollo, demos de funcionalidades, etc.
Primeras pruebas, o para pruebas básicas
Dispositivos con wi-fi:
Ideal para funcionalidades estables.
Pruebas en distintos dispositivos.
Pruebas de experiencia de usuario.
Usando simuladores de red se puede probar qué pasaría con una red de datos, pero sin gastos.
Dispositivo + red de datos
Recomendado sólo para un pequeño conjunto de pruebas que apuntan a aspectos dependientes del operador de telefonía, cambios de red, etc.
Reduce costos de dispositivos:
Hoy:
Pudiendo probar en cualquier tipo de dispositivo.
No requieren mantenimiento.
No se caen al piso, no se rompen.
Mañana:
Cuando cambien los modelos de celulares, simplemente se carga otra imagen de celular al emulador sin tener que cambiar los dispositivos.
emuladores:
Ideal para etapa de desarrollo, demos de funcionalidades, etc.
Primeras pruebas, o para pruebas básicas
Dispositivos con wi-fi:
Ideal para funcionalidades estables.
Pruebas en distintos dispositivos.
Pruebas de experiencia de usuario.
Usando simuladores de red se puede probar qué pasaría con una red de datos, pero sin gastos.
Dispositivo + red de datos
Recomendado sólo para un pequeño conjunto de pruebas que apuntan a aspectos dependientes del operador de telefonía, cambios de red, etc.
Si pruebo en mi celular, luego tenemos el clásico problema de “en mi máquina anda” lo vamos a sustituir por “en mi celular anda”
Variedad de
Sistemas operativos
Versiones
En Android variedad por fabricante
Es fácil actualizar el SO, y el usuario espera que sus apps sigan funcionando igual
Por ahí se cuenta que el número de dispositivos a probar es entre 5 y 10
¿Cuál es la versión más antigua que la aplicación debe soportar?
Cuál es la última?
Cuál es la que viene en el dispositivo más popular?
Armin compartió por twitter esta información actualizada
Las estadísticas sirven para el inicio cuando no sabemos nada de nuestros usuarios.
Qué nos queda afuera???
resoluciones, gama alta y baja en tablets y celulares
Fabricantes
Cuáles son los más populares?
Qué nos queda afuera???
resoluciones, gama alta y baja en tablets y celulares
Fabricantes
Cuáles son los más populares?
Todo lo tengo que probar en todos los dispositivos?
Entonces: Necesito entre 5 y 10 dispositivos.
Costo no despreciable:
Inversión inicial.
Mantenimiento.
Los subutilizamos.
¿Alternativas?
En las aplicaciones mobile, es muy importante entender como se comportan (cómo están hechas), para saber donde pueden estar los defectos y ser mas eficientes en las pruebas.
Para esto les quiero mostrar brevemente el ciclo de vida de una aplicación mobile.
Es importante comprender el ciclo de visa, porque permite diseñar pruebas para distintas situaciones que suceden en la realidad.
El ciclo de vida de una aplicación es iOS es así:
Primero cuando la aplicación no está ejecutando, es el primer estado y es interesante entender que hay pruebas para hacer con la aplicación en este estado. Por ejemplo enviar una notificación a los usuarios que tienen la aplicación instalada (y las notificaciones habilitadas).
Un ejemplo de esto es la aplicación del evento, que les avisa cuando va a comenzar una charla.
Luego la aplicación está activa (una vez que se ejecuta), y es cuando recibe eventos de usuario. Este es el estado en el que hacemos las pruebas normalmente.
Pero es importante entender que existen interrupciones que puede haber cuando al aplicación está ejecutando, por ejemplo una llamada entrante o un SMS recibido. En estos casos la aplicación pasa a un estado de inactividad. Es importante probar que sucede cuando ocurren las interrupciones, el comportamiento esperado es que vuelva la aplicación en el mismo estado que estaba antes. Aplicaciones que tienen mapas por ejemplo, deberían conservar la ubicación seleccionada anteriormente y no volver a cargarse.
También es importante saber que existen otros estados, por ejemplo la aplicación puede quedar en background y en este estado la misma puede estar ejecutando código. Un escenario donde hemos hecho esta tipo de pruebas es al descargar información, ya que no nos quedamos esperando que termine la descarga, sino que cambiamos de aplicación mientras tanto y esperamos que la descarga continúe.
Finalmente, la aplicación puede pasar a estar suspendida, donde no se encuentra ejecutando código, pero de todas formas hay que hacer pruebas en este estado, por ejemplo si se puede enviar una notificación con la aplicación en este estado.
Sabiendo esto, hay algunas pruebas que son importante que se realicen, por ejemplo, es común que se comience a probar una aplicación, se abre por primera vez y se ingresa el usuario y password. Las sucesivas pruebas se realizan con esa sesión iniciada y generalmente nos olvidamos de cerrar la aplicación, o incluso cerrar sesión y probar específicamente esa funcionalidad (en aplicaciones web esto es más común porque la sesión generalmente expira cada pocos minutos). Pruebas como iniciar sesión, luego cerrar la misma sin cerrar la aplicación, y realizar la misma pruebas cerrando la aplicación podría tener un comportamiento distinto.
En Android también hay un ciclo de vida para las aplicaciones, no voy a explicarlo en esta presentación, pero hay conceptos que se comparten, por ejemplo la ejecución de código en algunos estados.
Lo que les voy a contar de Android es la integración que puede tener la aplicación con otras aplicaciones del dispositivo.
Generalmente cuando hablamos de pruebas de integración, todos pensamos la integración de la aplicación con los servicios que se encuentran en otro servidor, etc. Pero en realidad este concepto de integración también es importante para smart devices.
Un concepto propio de Android es el de “intents”.
Los intentos son la forma que tiene Android de comunicarse con otras aplicaciones (en realidad entre actividades de la misma aplicación también). Por ejemplo cuando estoy viendo una foto y quiero enviarla por mail, se genera un intento y las aplicaciones que tienen la capacidad de enviar la foto por mail son las que aparecen en la lista.
Mis aplicaciones entonces, pueden saber interpretar algún tipo de información, y por eso también es importante probar de forma integrada con otras aplicación que podrían querer guardar o mostrar información en mi aplicación.
En este ejemplo vemos que la aplicación de gmail es capaz de mostrar la bandeja de entrada, y luego un correo en particular, luego se genera un intento para abrir una URL (si estoy desarrollando un browser, podría responder este tipo de intentos) y en el browser a su vez se podría llamar a otra aplicación para reproducir un video.
Es importante realizar pruebas pensando en la integración que tiene mi aplicación con otras del dispositivos, porque la información que es pasa en los intentos debe ser correcta para que la otra aplicación la pueda interpretar y utilizarla de forma correcta.
Un ejemplo sencillo en la aplicación del evento, que permite agendar una charla en el calendario. Si la información que se pasa es incorrecta, entonces va a quedar mal agendada la charla en el calendario.
Los sensores son otros de los aspectos que hace las aplicaciones más complejas. No voy a entrar en detalle con el funcionamiento de todos los sensores que puede hacer uso una aplicación, como pueden ver son muchos y cada vez hay más.
Algunos ejemplos, sensores de luz, presión, orientación, etc.
Vamos a un ejemplo sencillo, una aplicación que hace uso del GPS es importante probarla en distintas ubicaciones, cómo podemos hacer esto?
Bueno, hay varias alternativas, una primera forma es utilizando el emulador y en un IDE como Eclipse puedo indicar las coordenadas del GPS, como pueden ver en la imagen.
Pero que pasa si quiero probar en un dispositivo real? Bueno, como parte de las funciones para desarrolladores de Android hay una que se llama “mock location”. Hay que activarla en el dispositivo y ahora permite cambiar la localización usando alguna aplicación que hace esto. Estas aplicaciones permiten
Pero también se puede probar en un dispositivos reales, utilizando las funciones de desarrollador de Android, específicamente una conocida como “mock location”. Si buscan hay aplicaciones para esto que permiten modificar la ubicación del GPS, como esta.
Hay algunos aspectos a tener en cuenta para hacer pruebas de este tipo:
Hay aplicaciones que simulan el cambio de ubicación de una persona caminando o en auto (esto implica hacer un cambio de ubicación cada tantos segundos)
También es importante entender que cuando se utiliza el GPS, se maneja un intervalo de 1 segundo cada actualización de la posición, pero si se utiliza en un lugar cerrado, la localización viene dada por la conexión Wi-Fi donde el rango de actualización es de 5 segundos.
Como les comentaba este es solo un ejemplo de uno de los sensores, pero hay distintas pruebas que se pueden realizar.
Les recomiendo que revisen las Developer Tools de Android porque ayudan mucho a la hora de probar los sensores en los dispositivos y emuladores.
Ya que estamos hablando de sensores y la integración de aplicaciones con los mismos, les cuento que en iOS 8 trae dos nuevas formas de integrarse:
HomeKit: Permitirá conectarse con automatismos en las casas, vamos a poder tener aplicaciones que controlen las luces, el televisor, aire acondicionado, etc.
HealthKit: Es un centro con la información física del usuario.
Las aplicaciones relacionadas con el manejo de automatismos y con información de la actividad física de la personas, tendrán que integrarse con estas aplicaciones de gestión y centralización de la información. Con este tipo de cosas lo que sucede es que uso debe tener bien claras las fronteras de la aplicación, para poder verificar correctamente las entradas y salidas de la misma.
Finalmente les quería comentar de algunas pruebas más avanzadas que menos visto:
Federico me contaba que en España una empresa de testing, ejecutaba pruebas automatizadas en distintos dispositivo que estaban en una camioneta y salían a dar vueltas, pasando por túneles, para simular escenarios reales.
Si quieren hacer algo de esto más fácil y que lo hemos hecho, es subirse a un ascensor y probar la aplicación allí.
Finalmente les quería comentar un nuevo escenario de uso de las aplicaciones que lo descubrí el otro día viajando en avión. Algunas aerolíneas ya tienen internet a bordo, y es muy divertido abrir las aplicaciones y ver como funcionan (mal) los distintos sensores en algunos casos.
Subimos la app al sitio y recibimos el reporte
entonces, apuntamos a solucionar estos problemas
en forma rápida y con poco esfuerzo poder verificar la usabilidad, funcionalidad, performance, seguridad de los sistemas que desarrollamos
poco esfuerzo?
- subir el apk, dar mi mail, esperar reporte
el usuario solo hace eso.
No importa con qué la haces, la mejoras con Monkop
Apuntamos a solucionar un problema que tienen TODOS los que hacen apps para Smart Devices
Monkop utiliza técnicas de inteligencia artificial para poder explorar la aplicación y obtener indicadores (conocidas por Monkey testing, por eso la imagen es de un mono).
BÁSICAMENTE lo que hace es instalar la app en distintos dispositivos y explorarla como si fuera un mono con un celular, pero nuestro mono cuenta con cierta inteligencia, hace clic en los botones, pone datos en los campos, si ve un video lo intenta reproducir, y así. Incluso es capaz de jugar juegos y pasar niveles. Ese es el diferencial de nuestro mono, la inteligencia.
Mientras ejecuta va tomando datos de cómo se va desempeñando el celular. Luego genera un reporte con toda esa información que se la da al desarrollador, Y NO SOLO CON PROBLEMAS, SINO CON INFO PARA SOLUCIONARLOS
Esto es como darle la app a un mono, que irá explorando y usándola.
Este mono cuenta con mayor inteligencia y va aprendiendo de la app.
Lo interesante es que va recolectando información mientras ejecuta, y así va viendo cuánto cpu consume, memoria, batería, etc.
24x7
Cross Device
Knowledge Expert
Android best practices
Analiza las buenas prácticas de Android y google.
Todo con lo de FIFA
Más de 1000 apps probadas
Más de 40 betatesters
Esto es lo que tenemos hoy
Evaluamos ya más de 1000 aplicaciones, encontrando oportunidades de mejoras para todas ellas.
Hay una versión beta que se está usando, por ahora gratis por período de evaluación, sin estar facturando aún.
Y de esta forma hacer despegar y crecer esta idea en la que tanto estamos apostando.
Gracias
Analicen qué dispositivos usar
visiten el OpenDeviceLab (odl.uy)
Entiendan cómo se hacen para tener más información de cómo romperlas
Apoyense en herramientas
prueben Monkop (monkop.com)
Y CON TODO ESTO, TENDRÁN MÁS POSIBILIDADES DE COMERSE EL MUNDO MOBILE, PROBANDO MUCHO MEJOR