jueves, 25 de junio de 2015

Una prueba de estrés para mi aplicación..

Una de las características importantes e interesantes dentro del circuito y desarrollo de una aplicación son las validaciones tecnológicas utilizando pruebas de stress. Como lo podríamos realizar con herramientas open-source y en una VM de #ComputeEngine en solo segundos ?¿

Como framework open-source hay algunos interesantes como Pylt[basado en python], Multi-mechanize[basado en python], Gatling[basado en java y scala].

Vamos a poner a funcionar #Gatling en una VM de #ComputeEngine, creamos un script con el recorder y a probar con usuarios virtuales la escala de nuestra solución. [una propuesta muy económica muy flexible]

En la presentación de mañana propondremos este caso para todos los startups de #launchpadweek #Mex


Con menos de 2 USD puede hacer una pruebas de cientos incluso miles de usuarios concurrentes...¿Como lo ves?
Voy a ejecutar un prueba continua de 5 usuarios por segundo en 60 segundos que desencadenen actividades en el datastore de escritura..Fig.1 propone la aplicación de ejemplo.
Fig.1 mock app
Este es el script en scala, [lo bueno es que podemos grabar el script de una forma simple con el recorder en #Gatling, Fig.3]
Fig.2
Fig.3 recorder de Gatling
Ahora a desplegar el test a la VM de #ComputeEngine. Fig.4
Fig.4 consola de una VM en ComputeEngine.
Resultados Fig.5...
Fig.5
*prontamente más detalles de la implementación ... parte a parte ...

Licencia Creative Commons
Una prueba de estrés para mi aplicación por Nicolas Bortolotti se distribuye bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.

¿Si exploramos las UX actuales en Android? UIAutomatorViewer

En cada evento o actividades exploramos junto a emprendedores diversas opciones útiles de validación y dentro del flujo de desarrollo. hace unos minutos la pregunta propuesta fue ¿Si exploramos las UX actuales en Android? .. buena idea.. veamos..

Fig.1 consola, lanzamiento de #uiautomatorviewer
Conectando un dispositivo o emulador y su remote debug ya tenemos control para obtener un snapshot de la UI que nos interese.
Fig.2 uiautomatorviewer
**En mi caso, explorando Onefootball, en vísperas de #CopaAmerica15 con que otra app podría ejemplificar?

Con este simple método es posible explorar la estructura de la UI y desde luego automatizar diferentes clases de exámenes de forma automatizada...

Licencia Creative Commons
¿Si exploramos las UX actuales en Android? UIAutomatorViewer por Nicolas Bortolotti se distribuye bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.

miércoles, 24 de junio de 2015

Iniciando la representación de una mobile-web-page pensando en el rendimiento - Parte 1

Hoy quería compartir con ustedes un enfoque simple y ágil sobre el análisis de rendimiento pensado sobre un entorno  web-mobile. Este tipo de técnicas ya se utilizan a diario en mundo web tradicional pero actualmente el despertar del mundo mobile y con sus aristas mobile-web han despertado necesidad e interés en cada referente tecnológico.

La idea es muy simple, vamos a trabajar el camino crítico de renderización de una web-page, y al llevar el concepto a mobile-web estos elementos se hacen mucho más críticos...

Para esta actividad utilizaremos RAIL [Response-Animation-Idle-Load] y en concreto trabajaremos sobre el elemento #Load.

Fig.1 camino crítico de renderización
Vamos a empezar por representar el DOM y el CSSOM, en un ejemplo relativamente simple.
html:
css:
Como representarías el DOM y el CSSOM ? esta actividad representaría el primero de los pasos para recorrer el camino crítico de renderización y por supuesto optimizar nuestro ambiente web-mobile.

Fig.2 Representación del DOM para el ejemplo
Ahora debemos representar el CSSOM

Con ambos elementos crearemos el #ArboldeRenderizado[Render Tree], luego vamos a utilizar debug remoto para visualizar nuestro desarrollo en un modelo web-mobile.
entorno: #chrome_canary, #tablet_nexus #chrome_beta_mobile. [como nuestro desarrollo será local debemos habilitar el port forwarding]
Fig.3 port forwarding
Fig.4 navegación en el dispositivo del desarrollo
Fig.5 Inspección en el dispositivo del desarrollo

Con estas opciones analizaremos que está ocurriendo en el este ejemplo con la perspectiva web-mobile.
Aún nos falta un poco de trabajo para representar el camino completo propuesto Fig.1, pero les dejo como tarea reflexionar sobre estas técnicas simples y la cantidad de incongruencias en los sitios actuales que evidencian notoriamente la inmadurez al trasladarnos a un enfoque a web-mobile de rendimiento.  

Continuará...

Referencias esenciales: Critical rendering path, Ilya Grigorik [link]

Licencia Creative Commons
Iniciando la representación de una mobile-web-page pensando en el rendimiento - Parte 1 por Nicolas Bortolotti se distribuye bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.