GXtest y las pruebas de performance

From GXtest Wiki
Jump to: navigation, search
Spanish.gif
English.gif
Japan.gif

Contents

Introducción al testing de performance

Un aspecto fundamental a tener en cuenta en los tests de performance es que, por varias razones, es imposible testear todas las funcionalidades de una aplicación. Teniendo presente esto, surge un nuevo problema: ¿Qué funcionalidades probar? ¿Qué casos de prueba seleccionamos para automatizar e incluir en una prueba de performance?

Para resolver ésto se puede recurrir por ejemplo a datos históricos tomados del sistema anterior (en caso de que el hubiera una versión anterior en funcionamiento) que nos den una pauta de los usuarios activos, número de veces que se utilizan las funcionalidades que nos interesan, etc. De no tener esta posibilidad, se puede recurrir al conocimiento de expertos (encargados del proyecto, desarrolladores, usuarios u otras personas que puedan realizar un estimativo de que funcionalidades serán las más adecuadas para incluir en las pruebas).

Luego de determinados los casos de prueba a ejecutar, se deben automatizar. Armar los scripts es generalmente la parte que lleva más tiempo del proyecto. Afortunadamente, con GXtest esta tarea se puede hacer con menor esfuerzo.

¿Cuándo realizar testing de performance?

Básicamente, existen dos estrategias para encarar las pruebas de performance. La más tradicional es comenzar con la automatización de los casos de prueba luego de finalizado el producto, por lo que no van a haber más cambios en el desarrollo. Esta estrategia tiene como ventaja que no se tendrá que invertir tiempo en mantenimiento de los casos de prueba automatizados, ya que se trabaja con una única versión del sistema. Sin embargo, tiene la principal contra de que se pueden encontrar de manera muy tardía problemas de diseño o de arquitectura que impliquen un retrabajo de construcción del sistema muy grande.

La otra manera de encarar un proyecto de performance es comenzar las pruebas de performance en paralelo con el desarrollo, a medida que se van liberando las funcionalidades principales. Este método tiene como ventaja que se pueden descubrir fallas más temprano y se pueden ir solucionando a medida que avanza el desarrollo. Sin embargo, el costo de las pruebas de performance puede ser mayor, ya que hay que ir adaptando los casos de prueba cuando se producen cambios en la comunicación entre la aplicación y el servidor. En esta tarea de mantenimiento de los casos de prueba es fundamental el uso de GXtest como herramienta de automatización, ya que nos va a permitir adaptar rápidamente los casos de prueba automatizados a los cambios del sistema.

GXtest y las pruebas de performance

Lo primero que necesitamos aclarar es que para realizar pruebas de performance es necesario contar con una herramienta específica para ello.

La segunda aclaración necesaria es que GXtest no es una herramienta pensada para pruebas de performance: está diseñada específicamente para pruebas funcionales.

Dicho ésto, GXtest nos ayuda a generar las pruebas de performance (que ejecutaremos en otras herramientas), reduciendo cerca de un 80% del tiempo que tomaría generar las pruebas de forma manual.

Las herramientas para pruebas de performance ejecutan scripts (que tienen una serie de pasos) con pedidos a nivel de protocolo (comunmente HTTP), los cuales simulan la interacción de un usuario con la aplicación. Dado que la herramienta debe poder simular cientos o miles de usuarios a la vez, la interacción con el servidor se realiza a través de estos pedidos, sin utilizar el navegador (como haría un usuario real). El problema con estos scripts es que son muy costosos de escribir; lleva mucho tiempo codificarlos, realizar el análisis de las respuestas, parametrizar datos de prueba, etc.

GXtest genera estos scripts de performance de manera automática a partir de un caso de prueba funcional, para que luego nosotros importemos ese script en la herramienta de performance y lo ejecutemos.

Actualmente, GXtest soporta la generación de scripts de performance para JMeter y OpenSTA, dos herramientas gratuitas y altamente difundidas en las comunidades de testing del mundo.


Cómo habilitar la generación de scripts de performance en GXtest

Para generar los archivos necesarios para las pruebas de performance utilizando OpenSTA, es necesario habilitar la generación en el menú Options -> Local Settings.

Habilitar OpenSTA Jmeter.png

Allí se puede habilitar o deshabilitar la generación de los archivos, y además configurar la ubicación de las herramientas Fiddler y el OpenSTA Modeller.


Ver Generando scripts JMeter con GXtest

Ver Generando scripts OpenSTA con GXtest