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?
9. #GX24
Agenda
GXtest for developers
GXtest for Smart Devices
Otras herramientas (para el desarrollador y el tester)
##GGXX352343
10. Las pruebas del desarrollador
#GX24
##GGXX352343
1.
Analizo y
hago
cambios
2. ¿Qué
impacta?
3. ¿Qué
debo
probar?
5. F5 y
pruebo
4. ¿Con
que
datos?
11. Mis pruebas: ¿Y si pudiera...?
#GX24
##GGXX352343
V DEscribirlas Guardarlas PEjecutarlas
automáticamente H Auto-generarlas
Sin comprar otro
producto Todo desde mi
$
15. Ventajas para el desarollador
#GX24
##GGXX352343
Pruebas + Datos
todo en la KB
No más
ejecuciones manuales
Pruebas impactadas
por los !
cambios g
Compartir mis
pruebas
22. SABELO: Smart Automatic moBile device sElector for Long term
cOverage
#GX24
S5
Nexus
4
HTC
One
Test 1 %
Test 2 %
Test 3 %
S5
Nexus
4
HTC
One
Test 1 %
Test 2 %
Test 3 %
S5
Nexus
4
HTC
One
Test 1 %
Test 2 %
Test 3 %
Ejecución 1 Ejecución 2 Ejecución 3
#GX3533
23. SABELO: Smart Automatic moBile device sElector for Long term
cOverage
#GX24
S5
Nexus
4
HTC
One
Test 1 % % %
Test 2 % % %
Test 3 % % %
#GX3533
28. #GX24
con GXtest 3.0 ...
• Generación automática de pruebas
• Pruebas funcionales de regresión
• Web, Mobile, o ambos!
• Pruebas unitarias de UI
• + pruebas sobre procs con GXUnit
• Scripts para pruebas de performance
• vs Web, o servicios de backend
• Integración con WS, DBMS, procesos batch.
• Documentación automática
##GGXX352343
Punto B:
Todas las empresas deben tener GXtest.
Todos los developers GX tienen que utilizar GXtest free.
En esta charla les vamos a mostrar las novedades de GXtest, las nuevas herramientas que trae para ayudar al developer y al tester, que van a ayudarlos a aumentar la productividad y la calidad de sus aplicaciones.
WIIFI:
Para las empresas que no tienen equipo de testing, el developer puede generar pruebas automatizadas de manera rápida y sin salir de GeneXus.
Si sos una empresa con tu equipo de testing, automatizar con GXtest disminuye tus costos y mejora la calidad de tu aplicación. Incluso, el developer le puede pasar sus pruebas al tester!
- Para el developer va a ser muy fácil hacer pruebas básicas para saber si funciona lo que hizo, antes de pasarlo a testing. (Es simple, gratis, y viene integrado con GX)
- El tester, puede complementar las pruebas que hizo el desarrollador (el desarrollador hace una prueba que vaya al hueso, el tester tiene una visión más general, así que sabiendo lo que probó el developer, puede complementarlo)
Este es un ejemplo, es una foto de un supermercado en Japón, donde uno pasa por la caja y una máquina le cobra. Pasa los productos por el lector de barras e inserta el dinero o tarjeta de crédito en la máquina y listo. Y si pueden ver, la cajera sigue estando, pero está en una tarea mucho mas importante, ayudar a los clientes. Ya sea ayudándolas con el cajero, para consultar un precio, buscar algo que no encuentran, o lo que sea, pero que tengan una buena experiencia en el super.
Y claro está, que donde antes había una sola caja, ahora hay tres en simultáneo.
Entonces la idea es clara: mejorar la productividad del proceso de pago, tanto para el cliente, como para el negocio, sin reemplazar a la cajera, sino potenciando su trabajo.
Obviamente en Japón encontré muchos de estos ejemplos, realmente se toman la automatización en serio…
La respuesta es la automatización.
En mayo fuimos a Japón para la liberación de GXtest en el mercado Nipón, y algo que me impactó es el grado de automatización que tienen en muchos aspectos de su vida. Y no solamente en empresas de tecnología que es por ahí lo que yo me esperaba.
Y claro, yo de antes de ir ya tenia la idea de que Japón es una de las referencias mundiales en cuanto a automatización, pero eso no quiere decir que uno va por la calle y se encuentra con un robot entregando volantes. La automatización tiene un fundamento mucho mas profundo que simplemente reemplazar una persona por una máquina. Ellos tienen claro que las personas son un recurso VALIOSO. Y acá el valioso es con mayúsculas.
El objetivo de la automatización no es reemplazar ni sustituir a un tester, a un developer, o a un cajera de un super, su objetivo es el de AUMENTAR LA PRODUCTIVIDAD HUMANA.
GeneXus es un ejemplo de herramienta de automatización clave, ya le ayuda al desarrollador a generar código automáticamente a partir de una especificación, y mejorar su productividad. Nunca vamos a prescindir del desarrollador, lo que hacemos es potenciarlo a través de la automatización.
Realmente están en otro nivel jejejeje
Bueno, volviendo al mundo del software, para automatizar necesitamos una herramienta.
Porque justamente vamos a utilizar una herramienta para hacer esa parte tediosa de nuestro trabajo, para que podamos enfocarnos en cosas mas complejas o importantes.
Acá el gran desafío es encontrar la herramienta correcta para nuestras necesidades. De hecho, no todas las herramientas nos van a servir!
Para automatizar las pruebas de las aplicaciones hechas con GeneXus, tenemos a GXtest
El objetivo de GXtest desde siempre es aportar a la productividad y calidad del proceso de construcción de software, y en esta nueva versión hacemos foco en dos puntos: GXtest for developers, y GXtest for SmartDevices
Entonces esto es lo que le vamos a mostrar en esta charla. Vamos a hablar de las novedades de Gxtest, lo nuevo para los desarrolladores, también para los que están construyendo aplicaciones mobile, y finalmente les vamos a comentar otras herramientas que creemos les van a servir tanto a los desarrolladores como a los testers.
GXtest for developers
Todos los desarrolladores probamos al menos en un mínimo lo implementado antes de pasarlo a testing,o incluso a veces, ¡directamente a producción! Para ésto, nos definimos algunas pruebas mentalmente, juegos de datos, un flujo, presionamos F5, y ejecutamos el test manualmente (y a las apuradas).
Entonces mi proceso de testing es:
Presiono el F5, y mientras GX me compila la app, tengo algunos segundos (a veces unos cuantos jeje) para pensar y definir mentalmente:
Que quiero probar
Los datos que voy a usar
Un flujo
Y cuando terminó de compilar, ejecutamos el test manualmente y a las apuradas, para poder seguir con lo próximo que tenemos que desarrollar.
¿No sería bueno poder guardar esa prueba asociada a la KB, para poder utilizarla nuevamente más adelante, en lugar de repensar el flujo y los datos cada vez?
¿No sería mejor aún, que la prueba se ejecute automáticamente mientras pensamos la siguiente implementación que debemos hacer?
¿No sería genial que las pruebas se generaran automáticamente?
¿Y no sería irresistible si puedo hacer todo esto desde GeneXus y GRATIS?
La respuesta es la automatización.
En mayo fuimos a Japón para la liberación de GXtest en el mercado Nipón, y algo que me impactó es el grado de automatización que tienen en muchos aspectos de su vida. Y no solamente en empresas de tecnología que es por ahí lo que yo me esperaba.
Y claro, yo de antes de ir ya tenia la idea de que Japón es una de las referencias mundiales en cuanto a automatización, pero eso no quiere decir que uno va por la calle y se encuentra con un robot entregando volantes. La automatización tiene un fundamento mucho mas profundo que simplemente reemplazar una persona por una máquina. Ellos tienen claro que las personas son un recurso VALIOSO. Y acá el valioso es con mayúsculas.
El objetivo de la automatización no es reemplazar ni sustituir a un tester, a un developer, o a un cajera de un super, su objetivo es el de AUMENTAR LA PRODUCTIVIDAD HUMANA.
GeneXus es un ejemplo de herramienta de automatización clave, ya le ayuda al desarrollador a generar código automáticamente a partir de una especificación, y mejorar su productividad. Nunca vamos a prescindir del desarrollador, lo que hacemos es potenciarlo a través de la automatización.
La respuesta es la automatización.
En mayo fuimos a Japón para la liberación de GXtest en el mercado Nipón, y algo que me impactó es el grado de automatización que tienen en muchos aspectos de su vida. Y no solamente en empresas de tecnología que es por ahí lo que yo me esperaba.
Y claro, yo de antes de ir ya tenia la idea de que Japón es una de las referencias mundiales en cuanto a automatización, pero eso no quiere decir que uno va por la calle y se encuentra con un robot entregando volantes. La automatización tiene un fundamento mucho mas profundo que simplemente reemplazar una persona por una máquina. Ellos tienen claro que las personas son un recurso VALIOSO. Y acá el valioso es con mayúsculas.
El objetivo de la automatización no es reemplazar ni sustituir a un tester, a un developer, o a un cajera de un super, su objetivo es el de AUMENTAR LA PRODUCTIVIDAD HUMANA.
GeneXus es un ejemplo de herramienta de automatización clave, ya le ayuda al desarrollador a generar código automáticamente a partir de una especificación, y mejorar su productividad. Nunca vamos a prescindir del desarrollador, lo que hacemos es potenciarlo a través de la automatización.
Entonces qué ventajas voy a tener como desarrollador si utilizo esta extensión de GXtest?
- No tengo que ejecutar las pruebas manualmente, puedo hacer otra cosa mientras.
- Puedo guardar el caso de prueba y los datos junto con mi KB, para usarlo luego, cuando tenga que volver a tocar algo de la misma funcionalidad.
- Ademas, cuando toque un objeto GX, GXtest me va a avisar a qué casos de prueba impactó ese cambio, y que pruebas debería volver a ejecutar.
Incluso, puedo mandarle mis pruebas al tester. Y esto puede ser muy útil, porque el desarrollador conoce a fondo la lógica, y su prueba va al hueso del sistema, pero el tester, conoce mas del negocio y tiene una abstracción mayor, por lo que puede complementar esa prueba con otras, con mas datos, o con lógica de negocio mas compleja.
Eso es un poco lo que tenemos para los desarrolladores.
La respuesta es la automatización.
En mayo fuimos a Japón para la liberación de GXtest en el mercado Nipón, y algo que me impactó es el grado de automatización que tienen en muchos aspectos de su vida. Y no solamente en empresas de tecnología que es por ahí lo que yo me esperaba.
Y claro, yo de antes de ir ya tenia la idea de que Japón es una de las referencias mundiales en cuanto a automatización, pero eso no quiere decir que uno va por la calle y se encuentra con un robot entregando volantes. La automatización tiene un fundamento mucho mas profundo que simplemente reemplazar una persona por una máquina. Ellos tienen claro que las personas son un recurso VALIOSO. Y acá el valioso es con mayúsculas.
El objetivo de la automatización no es reemplazar ni sustituir a un tester, a un developer, o a un cajera de un super, su objetivo es el de AUMENTAR LA PRODUCTIVIDAD HUMANA.
GeneXus es un ejemplo de herramienta de automatización clave, ya le ayuda al desarrollador a generar código automáticamente a partir de una especificación, y mejorar su productividad. Nunca vamos a prescindir del desarrollador, lo que hacemos es potenciarlo a través de la automatización.
Seguramente muchos de ustedes ya están desarrollando aplicaciones móviles en sus empresas o piensen hacerlo en un futuro.
Probar estas aplicaciones móviles tiene una mayor dificultad que probar una aplicación web.
Y es porque antes teníamos solamente dos o tres navegadores, mientras que ahora tenemos cientos de dispositivos con resoluciones y recursos disponibles diferentes.
Esto hace que la automatización tenga mas ventajas aun.
Y ahora con GXtest vamos a poder automatizar todas nuestras pruebas de aplicaciones móviles.
Para esto creamos el caso de prueba SD.
En este caso de prueba en vez de trabajar sobre pantallas web vamos a trabajar sobre las pantallas de la aplicación móvil.
Ósea que en este caso cada nodo del grafo se corresponde con una pantalla de la aplicación móvil.
Además, como sabemos que la interacción de los usuarios con las aplicaciones móviles no es igual a la interacción que tienen con una aplicación web, creamos nuevos comandos específicos para este tipo de aplicaciones.
Estos comandos van a estar disponibles siempre que estemos trabajando sobre casos de prueba SD.
Como ya saben, en GXtest es posible incluir casos de prueba dentro de casos de prueba.
Y ahora vamos a poder incluir casos de prueba SD en casos de prueba web y viceversa.
Esto hace posible que hagamos casos de pruebas como este, donde los nodos naranjas son casos de prueba web y el nodo gris en un caso de prueba SD.
En este ejemplo sobre una aplicación de venta de productos, el caso de prueba primero crea un nuevo producto desde la aplicación web.
Luego desde la aplicación móvil se compra el producto y finalmente se verifica la compra desde aplicación web.
Y todo esto en un solo caso de prueba.
Donde van a correr estos casos de prueba?
GXtest nos va a permitir ejecutar los casos de prueba tanto en emuladores como en dispositivos reales.
También va a ser posible crear emuladores o conectar dispositivos en maquinas distribuidas y ejecutar pruebas con GXtest Executor igual que como lo hacíamos para aplicaciones web.
Que pasa si tenemos muchos casos de prueba y queremos ejecutarlos en varios dispositivos pero no disponemos del tiempo para ejecutar todos los casos en todos los dispositivos?
Ya sea porque tenemos realmente demasiados dispositivos o porque, por ejemplo, queremos que las pruebas de regresión se ejecuten rápidamente luego de cada commit para darle un feedback al desarrollador.
Para ayudarnos con esto GXtest nos va a dar la opción de dejarle elegir en que dispositivos ejecutar las pruebas para lograr una cobertura completa de los casos de prueba luego de cierta cantidad de ejecuciones.
Supongamos por ejemplo que tenemos tres casos de prueba y tres dispositivos pero tenemos tiempo solo para ejecutar tres pruebas.
En la primera ejecución GXtest va a elegir en que dispositivos ejecutar de la siguiente manera…
Luego en la segunda ejecución… y en la tercera ejecución…
Siempre, en cada ejecución, ejecutando todos los casos de prueba, pero no en todos los dispositivos.
Como ven, luego de la tercera ejecución nos aseguramos que todos los casos de prueba ejecutaron en todos los dispositivos
Con esto nos aseguramos que, en este ejemplo, cada tres ejecuciones se van a correr todos los casos en todos los dispositivos.
Manteniendo las ejecuciones cortas en tiempo, permitiendo dar rápidamente un feedback al desarrollador sobre el impacto de sus cambios.
Eso es todo sobre GXtest para dispositivos móviles.
Y antes de terminar, queremos comentarles algunas herramientas que nos resultan útiles y que creemos que todo desarrollador y tester debería usar, o al menos conocer.
GXUnit
Ahora con la suite de testing de GX van a poder cubrir muchos aspectos de la calidad:
Pruebas unitarias y funcionales del developer
Pruebas funcionales de regresión, sobre web y mobile
Pruebas de performance sobre la aplicación web y el backend de servicios mobile
Además, van a poder hacer validaciones en la base de datos, pruebas sobre webservices, e incluso generar pruebas a partir de un solo click.
Los invitamos que visiten el stand de Abstracta, allí podrán ver el producto, ver una demo o probar GXtest, y podrán ver materiales de testing, monitorización, performance, entre otros. GXtest 3.0 está en beta, el que quiera probarla que se acerque y le daremos la info para la descarga.