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.
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.
Mobile testing, ¿cómo enfrentar los nuevos desafíos?Abstracta
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 charla fue expuesta por Federico Toledo de Abstracta (www.abstracta.com.uy) y Guillermo Skrilec de GeneXus Consulting (www.genexusconsulting.com) en el marco del Encuentro Internacional GeneXus 2014 #GX24
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?
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.
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.
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.
Mobile testing, ¿cómo enfrentar los nuevos desafíos?Abstracta
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 charla fue expuesta por Federico Toledo de Abstracta (www.abstracta.com.uy) y Guillermo Skrilec de GeneXus Consulting (www.genexusconsulting.com) en el marco del Encuentro Internacional GeneXus 2014 #GX24
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?
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.
2 horas de workshop para analizar los problemas fundamentales que atraviezan desarrolladores y testers en los smart devices. Desafíos, foco, checklist y herramientas.
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.
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.
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ú.
NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...Federico Toledo
Esta charla luego la llamamos "Apps que vuelan" :)
Junto a Fabián Baptista en NetConfUy 2016 - http://netconf.uy/
La performance 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, más ahora que con Xamarin es tan fácil tener nuestras aplicaciones portables. Debemos asegurar que la aplicación funcione en forma eficiente en todas sus versiones (Windows, iOS, Android) en diversos dispositivos, así como del lado del servidor cuando la utilizan muchas personas. Para esto ¿qué necesitamos saber? ¿En qué herramientas nos podemos apoyar? ¿Qué ofrece Microsoft de nuevo para esto? Estas y otras preguntas son las que estaremos abordando en esta charla, compartiendo nuestras experiencias e investigación al respecto.
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
Esta fue una charla dada en la Universidad ORT en el año 2014. Los temas tratados fueron varios, relacionados a la industria y a la academia.
Agenda:
- Test execution automation
- Test design automation
- Monkop (mobile testing, performance and security)
- Performance testing
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...TestingUy
Expositor: Oscar Cepeda
Resumen: Uno de los mayores problemas que enfrenta un equipo al momento de automatizar sus primeros casos de prueba es saber qué estrategia implementar. En la mayoría de los casos se tiende a perder mucho tiempo valioso en los pasos iniciales del desarrollo de los mismos, y si se decide implementar un framework en el proceso seguramente surjan las siguientes interrogantes:
¿Está mi equipo preparado para la implementación de un framework? ¿Qué beneficios me traería? ¿Qué desafíos se presentan al momento de desarrollar un framework de automatización de pruebas? ¿Realmente necesito un framework?
Tanto estas, como muchas otras preguntas serán respondidas a través de ejemplos, buenas experiencias y casos de éxito en la presente charla.
• ¿Por qué debemos automatizar?
• ¿Qué debemos automatizar y que no?
• ¿Cuál es el coste de automatizar?
• ¿Qué debemos automatizar antes?
• ¿Cuál es el retorno de inversión de la automatización?
• ¿Cuándo debo automatizar?
• ¿Cómo automatizo?
• ¿Cómo puedo medir el avance de la automatización?
• ¿Cómo testear lo antes posible?
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasBelatrix Software
Ser QA no es fácil. Existen diferentes aspectos a cubrir: funcionalidad, usabilidad, accesibilidad, performance, seguridad, entre otros. Si la aplicación es móvil, entonces hay que considerar: diferentes sistemas operativos y versiones, fabricantes de smartphones y la naturaleza de la construcción de la aplicación. En un contexto de Transformación Digital, donde el trabajo en equipo, el enfoque a usuario y el time-to-market son claves para triunfar, como QA, ¿cómo enfrentar esta gran suma de retos?
En esta presentación vamos a entender cuáles son los aspectos a considerar y retos que un QA debe superar si es el responsable de una aplicación pública, cuyo uso es 24/7 y cuyo fallo podría causar impactos negativos en la imagen de una organización en camino hacia la Transformación Digital.
Modelo de madurez de aseguramiento de softwareSoftware Guru
El proyecto abierto de seguridad en aplicaciones Web (OWASP por sus siglas en inglés) es una comunidad libre y abierta enfocada en mejorar la seguridad de los programas aplicativos.
Nuestra misión es hacer la seguridad en aplicaciones “visible”, de manera que las personas y organizaciones puedan tomar decisiones informadas sobre los riesgos de seguridad en aplicaciones.
Este webinar pretende precisamente brindar un acercamiento a un marco de trabajo abierto que apoye a las organizaciones a formular e implementar una estrategia de seguridad para software adecuada a las necesidades específicas que está enfrentado la organización.
2 horas de workshop para analizar los problemas fundamentales que atraviezan desarrolladores y testers en los smart devices. Desafíos, foco, checklist y herramientas.
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.
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.
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ú.
NetConfUy 2016 - Cómo asegurar la performance de aplicaciones móviles tanto e...Federico Toledo
Esta charla luego la llamamos "Apps que vuelan" :)
Junto a Fabián Baptista en NetConfUy 2016 - http://netconf.uy/
La performance 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, más ahora que con Xamarin es tan fácil tener nuestras aplicaciones portables. Debemos asegurar que la aplicación funcione en forma eficiente en todas sus versiones (Windows, iOS, Android) en diversos dispositivos, así como del lado del servidor cuando la utilizan muchas personas. Para esto ¿qué necesitamos saber? ¿En qué herramientas nos podemos apoyar? ¿Qué ofrece Microsoft de nuevo para esto? Estas y otras preguntas son las que estaremos abordando en esta charla, compartiendo nuestras experiencias e investigación al respecto.
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
Esta fue una charla dada en la Universidad ORT en el año 2014. Los temas tratados fueron varios, relacionados a la industria y a la academia.
Agenda:
- Test execution automation
- Test design automation
- Monkop (mobile testing, performance and security)
- Performance testing
Charla evento TestingUY 2017 - Desafíos y Beneficios de implementar un Framew...TestingUy
Expositor: Oscar Cepeda
Resumen: Uno de los mayores problemas que enfrenta un equipo al momento de automatizar sus primeros casos de prueba es saber qué estrategia implementar. En la mayoría de los casos se tiende a perder mucho tiempo valioso en los pasos iniciales del desarrollo de los mismos, y si se decide implementar un framework en el proceso seguramente surjan las siguientes interrogantes:
¿Está mi equipo preparado para la implementación de un framework? ¿Qué beneficios me traería? ¿Qué desafíos se presentan al momento de desarrollar un framework de automatización de pruebas? ¿Realmente necesito un framework?
Tanto estas, como muchas otras preguntas serán respondidas a través de ejemplos, buenas experiencias y casos de éxito en la presente charla.
• ¿Por qué debemos automatizar?
• ¿Qué debemos automatizar y que no?
• ¿Cuál es el coste de automatizar?
• ¿Qué debemos automatizar antes?
• ¿Cuál es el retorno de inversión de la automatización?
• ¿Cuándo debo automatizar?
• ¿Cómo automatizo?
• ¿Cómo puedo medir el avance de la automatización?
• ¿Cómo testear lo antes posible?
Testing de Aplicaciones Móviles, Públicas, Masivas y CríticasBelatrix Software
Ser QA no es fácil. Existen diferentes aspectos a cubrir: funcionalidad, usabilidad, accesibilidad, performance, seguridad, entre otros. Si la aplicación es móvil, entonces hay que considerar: diferentes sistemas operativos y versiones, fabricantes de smartphones y la naturaleza de la construcción de la aplicación. En un contexto de Transformación Digital, donde el trabajo en equipo, el enfoque a usuario y el time-to-market son claves para triunfar, como QA, ¿cómo enfrentar esta gran suma de retos?
En esta presentación vamos a entender cuáles son los aspectos a considerar y retos que un QA debe superar si es el responsable de una aplicación pública, cuyo uso es 24/7 y cuyo fallo podría causar impactos negativos en la imagen de una organización en camino hacia la Transformación Digital.
Modelo de madurez de aseguramiento de softwareSoftware Guru
El proyecto abierto de seguridad en aplicaciones Web (OWASP por sus siglas en inglés) es una comunidad libre y abierta enfocada en mejorar la seguridad de los programas aplicativos.
Nuestra misión es hacer la seguridad en aplicaciones “visible”, de manera que las personas y organizaciones puedan tomar decisiones informadas sobre los riesgos de seguridad en aplicaciones.
Este webinar pretende precisamente brindar un acercamiento a un marco de trabajo abierto que apoye a las organizaciones a formular e implementar una estrategia de seguridad para software adecuada a las necesidades específicas que está enfrentado la organización.
4 german rojas talca / Sala 1 - Aprender HaciendoINACAP
Sala 1 - Aprender Haciendo
Germán Rojas / Talca: Software Educativo que permite simular el Impacto de las decisiones de Prevención de Riesgos en Escenarios de Accidentabilidad Laboral.
Plataforma Tecnológica para la Gestión de Riesgos CorporativosISOTools Chile
La Gestión de Riesgos Corporativos permite identificar, analizar y evaluar los riesgos de las organizaciones, definiendo medidas para mitigarlos y así poder alcanzar sus objetivos.
La Plataforma Tecnológica ISOTools ofrece una potente solución para la identificación y control de los riesgos en la organización.
ISOTools permite identificar y controlar las amenazas y Riesgos corporativos, así como la gestión integral de los mismos.
¿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
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 - 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.
3Redu: Responsabilidad, Resiliencia y Respetocdraco
¡Hola! Somos 3Redu, conformados por Juan Camilo y Cristian. Entendemos las dificultades que enfrentan muchos estudiantes al tratar de comprender conceptos matemáticos. Nuestro objetivo es brindar una solución inclusiva y accesible para todos.
26. I GeneXus Projects Day
¡Muchas gracias!
Matías Reina
Guillermo Skrilec
mreina@abstracta.com.uy
gskrilec@genexusconsulting.com
Notas del editor
GS:Buenos días, mi nombre es Guillermo y estamos hoy acá con Matías para contarles por qué es importante el testing en los proyectos y cuál es la mejor forma de hacerlo.
GS:Para comenzar queremos que ustedes piensen el costo que puede ocasionar una aplicación que no funciona para su empresa.Decir que la aplicación no funciona no es muy realista, así que piensen cuanto puede salir un error en alguno de sus sistemas en producción.Obviamente depende de cada negocio, el tiempo que tarde en arreglarse, y muchos otros factores.Para ejemplificar esto, les trajimos un ejemplo real.
GS:Así se veía la página principal de unos de los principales diarios de Chicago hace 20 días.Habrán podido notar que la noticia principal es la foto de un gato y el texto dice todo test.La página principal del diario estuvo así durante 16 minutos debido a un error en la publicación de las noticias.En realidad las visitas a la página no fueron el mayor problema, porque en esos 16 minutos no detectaron un aumento en las visitas, el problema vino después.
GS:El diario pidió disculpas por Twitter, pero otras personas también usaron Twitter para difundir este error en el sitio.No solo había gente diciendo que vayan al sitio, sino que también habían capturas de la página circulando cuando el error ya había sido corregido.Nunca faltan los que opinan de lo que paso, cuando en realidad aún no se sabe el motivo del error, pero igual aprovechan para hacerlo.ChicagoSuntimes es otro diario, que también aprovechó lo sucedido para sumarse con las críticas.Lo que queremos mostrarles con este ejemplo, que un error muy simple de 16 minutos en realidad tuvo un impacto durante varios días.
GS:Este tipo de cosas hoy en día ya no pueden suceder porque tienen un costo muy alto.Hace 10 o 15 años el testing se hacía “mas o menos”, es verdad que se probaban los sistemas, pero no con la misma rigurosidad de hoy en día.Pero hace 10 o 15 años el software se utilizaba para registrar cosas que habían sucedido.¿Se acuerdan cuando compraban con tarjeta de crédito?
GS:Antes las transacciones se emitían en papel y luego el comerciante debía entregar los vouchers y los mismos se ingresaban al sistema.Hoy en día las transacciones son electrónicas y el software se ha vuelto crítico, tiene que funcionar correctamente, con los niveles de aceptación requeridos, por ejemplo el tiempo de respuesta de cada transacción.Incluso hemos llegado a esto, desde un celular se puede realizar una transacción electrónica.
Hoy en día estamos en otra situación, una venta no ocurre si hay un problema con el software, y puede llegar a detener la operativa de las empresas, por eso debemos probar los sistemas que construimos.Estamos hablando en promedio del 30% de los proyectos, el testing hoy en día se maneja en ese entorno.Juntos, GeneXusConsulting y Abstracta hemos ejecutado muchos proyectos de manera exitosa y queremos contarles como integrando el testing lo hemos podido lograr.
MR:Que aspectos de nuestro sistemas probamos?Cuando pensamos en testing lo que la mayoría de la gente piensa es en testing funcional, sin embargo existen un montón de atributos de calidad que pueden ser comprobados mediante técnicas de testing.El testing funcional como saben es ver que el sistema se ajuste a los requerimientos, a las necesidades del negocio, de los usuarios. Este tipo de testing en general es el que se ve más en las empresas.Pero también existen otras pruebas que también pueden aportar valor y ayudar a disminuir riesgos. Por ejemplo más temprano Gerardo y Mauro nos hablaban de test de penetración para evaluar temas relacionados a la seguridad, tenemos pruebas especificas para aspectos de usabilidad, instalación, configuración, performance, etc.Ahora bien, en que momento tenemos que comenzar a ocuparnos de estos aspectos?
MR:El sistema es mucho más que solo nuestro software, también esta todo el software de base, todos los componentes físicos, storage, repliación, etc etc.¿Como saben ustedes si su sistema está funcionando bien en producción?¿Se enteran cuando el call center está que arde?Esta es una imagen que muestra los problemas clásicos de performance.Acá les quería hacer una pregunta, ¿Cuántos conocen JMX? ¿Cuántos conocen WMI?GeneXus utiliza dos protocolos estándar uno es JMX para el mundo Java y el otro WMI para el mundo .Net que permiten conocer el estado de salud de nuestro sistema. Que cosas nos muestran? Estadísticas de SQLs (pero asociadas a objetos GeneXus), estado del pool de conexiones, del caché de sentencias, estadísticas de los programas GeneXus, etc. Esta información puede ser consumida online o utiliza por consolas de administración para disparar alertas. Hay una gran cantidad de consolas compatibles con estos protocolos.Muchas veces parece que el área de desarrollo habla un idioma distinto que el área de infraestructura y este tipo de herramientas ayudan a comunicarse mejor. El otro día fue a un cliente y el gerente de tecnología me decía muy indignado, Matías lo que pasa es que la gente de desarrollo no tiene idea ni siquiera de lo que es un storage, piensan que es una caja donde se ponen discos.O un gerente de desarrollo que me llama y me dice, Matías me traducís lo que me están diciendo en este mail de infraestructura que es chino básico!El equipo de pruebas de performance, también es un excelente aliado para hacer de interfase entre las áreas ya que manejan conceptos de “fierros” y también los conceptos de software.Hay una práctica muy fácil de aplicar que nosotros recomendamos que la apliquen en sus empresas. Esto es pasar información relevante de forma periódica desde infraestructura a desarrollo. Que tipo de información:.- top de programas que más demoran.- top de sqls.- errores 500s, errores 400sSe tiene que trabajar en conjunto con todas las áreas, pero en conjunto en serio, no cada uno viendo que no haya problemas en su sector para lograr la calidad que necesitan sus organizaciones.Las pruebas de performance muchas veces ayudan, no solo a mejorar el sistema para soportar la carga que el negocio necesita, sino que también para poder entrenar al equipo en detectar y atacar problemas si estos suceden en producción. Es por eso que los proyectos de testing de performance pueden ser instancias de aprendizaje muy importante para las organizaciones.
GS:¿Cómo probamos en los proyectos?En todos los proyectos tenemos recursos limitados, por lo tanto probar todo el sistema exhaustivamente no es posible. La mejor forma de identificar y seleccionar correctamente lo que vamos a probar es hacer una planificación basada en riesgos.Para que comprendan de que se trata esto, existe un término “triage”, que se utiliza en las salas de emergencia médica para la atención de los pacientes, que se basa en las prioridades de atención y posibilidad de supervivencia de acuerdo a las necesidades terapéuticas y los recursos disponibles en la sala.
GS:Este es un ejemplo de una emergencia médica donde se define con cada color el nivel de urgencia, el tipo y el tiempo de espera.Una persona que necesita resucitación por ejemplo será atendida de forma inmediata, mientras que una cortadura leve podría esperar 2 horas o más.Este mismo concepto lo podemos llevar al software, en base al análisis de riesgos del proyecto se debe realizar la planificación de las pruebas, de manera de podes asegurar que lo “vital” del sistema va a funcionar correctamente.http://www.softwaretestingclub.com/profiles/blogs/triage-what-to-fix-and-whenhttp://es.wikipedia.org/wiki/TriajeMR:Ahora en nuestros sistemas ¿que tipo de emergencias podemos llegar a tener? Lo que hablábamos al principio, que el sistema no tenga el desempeño adecuado, que se caiga, que no funcione como esperábamos, que no se pueda instalar, etc. Dependiendo de sus negocios, cada uno de esos aspectos puede ser azul o rojo.
GS:Impacto x Probabilidad de ocurrencia = Exposición o Nivel de riesgoLa forma de hacerloes la siguiente:Identificarriesgos, que en realidaddeberíanhaberseidentificado en el análisis de riesgos del proyecto. Trabajar con el gerente de proyectoparaestoesmuybuenopor la visión general quetiene.Identificar el nivel del riesgo en cadacaso.Los niveles de riesgosdeterminaránentonces el “triage” del testing, o sea la cobertura de laspruebas, la prioridad de cadauna, el orden de ejecución, entre otrosaspectos.MR:Lo que es importante que ustedes consideren, más allá del nivel de exposición de cada riesgo es que hay cosas que a veces las subestimamos y sin embargo aumentan la probabilidad de que ocurra un riesgo. Por ejemplo:Usomasivo del sistema y concurrenciaVolumen de datosNuevasconfiguraciones de altadisponibilidadEstandares de seguridad
MR:En general tenemos distintas estrategias para nuestras pruebas y en particular para las pruebas funcionales.Tenemos dos estrategas bien diferentes, una es el testing exploratorio y la otra es el testing planificado.En el testing exploratorio consiste en mientras vamos interactuando con la aplicación al mismo tiempo diseñar las pruebas, aprender, ejecutar y reportar. Por otro lado el testing planificado diferencia dos etapas bien marcadas, por un lado se diseñan las pruebas y por otro lado se ejecutan en otro momento.Ahora, el testing exploratorio, se puede hacer de diferentes maneras, el estilo libre, es simplemente sentarse y comenzar a tocar todo lo que se les ocurra. Nosotros recomendamos la estrategia del testing exploratorio basado en sesiones. Es bien sencillo de aplicar, antes de comenzar a testear se definen misiones, y luego se asignan cierta cantidad de sesiones de entre 30 min y 1 hora a los testers. Esta metodología permite gestionar el testing mucho más eficientemente. Por otro lado en el testing planificado, utilizamos alguna técnica para modelar la realidad y luego derivar los casos. En particular lo que más utilizamos es clases de equivalencia, combinado con valores limites y máquinas de estado. El testing planificado permite que un grupo de personas con mayor experiencia definan los casos de prueba y luego estos sean ejecutados en conjunto con gente que tiene menos experiencia.El testing exploratorio es conveniente utilizarlos en contextos en los cuales tienen poco tiempo, necesitan feedback rápido y cuentan con un grupo de gente experta en el dominio y en testing. Esto les va a permitir justamente diseñar los casos de prueba en el momento mientras ejecutan y dar feedback rápidamente.Por otro lado luego que tenemos diseñadas las pruebas, podemos ejecutar las mismas de manera manual o automática. Dejenos contarles algo más acerca de las pruebas automáticas…
GS:Con el uso de GeneXus y patrones en el desarrollo de aplicaciones, la productividad en la construcción aumenta, pero sin embargo el testing manual generalmente es el cuello de botella en los proyectos porque no puede acompañar esta productividad.El aumento de la productividad del testing viene por el lado de la automatización de pruebas, aumentando así la cantidad de pruebas que se pueden correr en el sistema.De la misma forma que GeneXus automáticamente resuelve un montón de cosas, GXtest permite hacer lo mismo a la hora de probar las aplicaciones.MR: El desarrollo de sistemas decimos que es acumulativo, yo tengo 10 funcionalidedes, programo una más y tengo 11 funcionalidades. En testing, la ejecución de las pruebas siempre tienen que arrancar desde 0, la única forma de acumular es automatizandola
GS:GXtest permite automatizar la ejecución de pruebas funcionales en aplicaciones web. Este sería el concepto de automatización que otras herramientas conocidas en la industria también lo realizan, por ejemplo Selenium, rational robot, etc. La diferencia es que a medida que se realizan cambios en la base de conocimientos, GXtest los detecta y realiza los ajustes necesarios en los casos de prueba para que puedan seguir ejecutando.GXtest va mucho más allá en realidad, porque también permite generar los casos de prueba de forma automática a partir de la información de la base de conocimiento. Hoy en día genera pruebas automatizadas incluso sobre patrones como K2B Tools, de manera de cubrir los ciclos de prueba básicos del alta, visualización, búsqueda, modificación, eliminación, entre otro tipo de pruebas que permite probar la aplicación con un solo clic.Pero esto no es todo, GXtest también puede generar los datos de prueba que debe utilizar para ejecutar las pruebas, logrando la potencia necesaria para comenzar con pruebas automatizadas sin mayor esfuerzo.Las pruebas más importantes y críticas de sus sistemas deberían estar automatizadas con GXtest.
GS:Este es un caso de prueba en GXtest generado automáticamente, lo que hace es seleccionar un cliente del WW y actualizar sus datos, luego su funciona correctamente lo va a buscar por ejemplo, de lo contrario sigue otro camino. Como pueden ver el flujo del caso de prueba tiene una representación gráfica donde se pueden definir acciones y validaciones que se deben realizar.Existen distintas formas de generar los casos de prueba, como les comentaba antes de forma automática, pero también de manera más tradicional grabando las pruebas directamente en el browser.Es importante que sepan que las personas que utilizan Gxtest no tienen porque saber nada de Genexus, pueden ser expertos en el dominio, puede ser un contador por ejemplo.
GS:Por otro lado, es importante mencionar que a diferencia de otras herramientas de automatización, GXtest asocia los elementos de las pruebas a los objetos GeneXus de la base de conocimiento. Entonces, cuando hay cambios en la KB, se realiza un impacto en GXtest como puede ver en esta imagen y se propagan los cambios en los casos de prueba automáticamente.Esto se realiza de esta forma, dado que no se pueden automatizar las pruebas en base a los nombres de los controles en el HTML, porque con cada cambio y generación en GeneXus, los identificadores de los mismos pueden variar, dejando inutilizados los casos de prueba.Esto en GXtest no sucede, disminuyendo el costo de automatización y haciendo posible utilizar este tipo de herramientas en contextos en los cuales con herramientas tradicionales no podríamos.
MR:Más allá de las pruebas automatizadas existen otros conceptos que tenemos que poder gestionar.En particular, desde la perspectiva del testing tenemos 4 conceptos que son fundamentales: requerimientos, casos de prueba, resultados e incidentes.Cada requerimiento tiene asociado un conjunto de casos de prueba, los cuales se pueden ejecutar, dando éxito o falla. Cuando se produce una falla se tienen asociados los incidentes a dicha falla.Existen varias herramientas para gestionar estos conceptos, nosotros en particular utilizamos dos herramientas que son las más difundidas en el mundo libre y que seguramente muchos de ustedes las conocen: Mantis y Testlink
MR: Que me gustaría que se lleven de esta charla, que contando con un equipo de testingprofesional pueden aportar mucho valor, ayudando a disminuir riesgos que tienen asociados costos muy altos para sus empresas.También que el testing ayuda a integrar todas las áreas, generando sinergia entre infraestructura, operaciones, desarrollo, etcOtro tema importante es que GeneXus tiene instrumentos muy útiles para atacar alguno de esos riesgos que tienen que conocer y dominar. También que existen herramientas especificas como GXtestque les ayudan a aumentar la productividad y a cumplir con objetivos que de otra manera es imposible.Creemos que si testeamos de esta manera en nuestros proyectos vamos a poder estar más tranquilos y dejar de correr.