viernes, 6 de noviembre de 2015

JMeter: Certificados Cliente SSL

Uno de los retos que presentan las pruebas de rendimiento con JMeter es la construcción de escenarios de pruebas de rendimiento que utilicen certificados cliente SSL (en formato *.pfx/*.p12).

Existen en la red diferentes recursos que permiten obtener información acerca de cómo conseguir grabar y reproducir escenarios JMeter que utilicen certificados cliente, sin embargo la preparación de este tipo de pruebas suele ser bastante costosa y se acaba por invertir un gran esfuerzo. 
Esta entrada, únicamente quiere centralizar la información ya expuesta en otras páginas y proveer algunos consejos y ayudas para que la configuración de las pruebas se acorte en el tiempo teniendo en cuenta unicamente el punto de vista de las pruebas de rendimiento.

sábado, 10 de octubre de 2015

Automatización de Pruebas: ROI Cualitativo.

ROI Cuantitativo vs ROI Cualitativo

En la anterior entrada, vimos como podíamos valorar y calcular el ROI en un proyecto de automatización de manera cuantitativa. El objetivo principal, era calcular a partir de qué momento la inversión realizada en la automatización comenzaba a ser rentable en términos económicos. Sin embargo, más allá de los fríos números, la automatización también presenta una beneficios cualitativos que aportan valores añadidos difíciles de cuantificar. 


domingo, 4 de octubre de 2015

ROI & PAYBACK de la Automatización de Pruebas

ROI vs. PAYBACK

Cuando se piensa en la automatización como posible solución en un proyecto de testing, se hace necesario un estudio de viabilidad que nos indique qué rentabilidad vamos a obtener, y cuándo podremos considerar que estamos amortizando la inversión realizada.

En general, este estudio de viabilidad o no se realiza, o se realiza de manera muy general, o incluso se hace partiendo de premisas incorrectas o falsos mitos sobre la automatización. Veamos en primer lugar dos conceptos a tener en cuenta:
  • ROI (Retorno de la inversión): Es el beneficio que obtenemos de la automatización puede ser calculada de diferentes formas:
    • % de beneficio obtenido: según la siguiente formula (Beneficio -Inversión)/Inversión. No obstante, también es posible encontrar el ROI de la automatización expresado directamente en horas de trabajo.
    • Horas totales de ejecución manual ahorradas
    • Costo total de ejecución manual ahorrado
  • PAYBACK: Indica el tiempo que tardamos en obtener un beneficio de la inversión realizada. En el caso de la automatización, nos indicaría a partir de qué momento la inversión realizada en la automatización es amortizada.
Ambos conceptos, deben ser evaluados objetivamente y mediante parámetros adaptados a nuestro proyecto. Pasar por alto este estudio podría llevarnos a sorpresas no deseadas pero que son muy habituales. 

Calculo del ROI de la Automatización de PruebasDe manera general, la automatización supone una inversión que rentabilizaremos a medio plazo cuando el ahorro en horas de ejecución manual supere el tiempo invertido en la automatización. 


Es decir, la automatización supone unos costos (en licencias, infraestructura, scripting, etc...). Esta inversión será amortizada a lo largo del tiempo a costa de las horas de ejecución manual que ya no son necesarias. Es importante hacer constar que para el cálculo del ROI, es necesario conocer el costo del esfuerzo invertido en la ejecución manual de los casos de prueba. Sin ese dato, será muy difícil poder evaluar la viavilidad de un proyecto de automatización.

jueves, 21 de mayo de 2015

JMeter . Análisis plugin HTTP Simple Table Server


Hola de nuevo. Tras este periodo de tiempo sin publicar, se nos ha vuelto a iluminar la cabeza con una idea (de ahí ese molesto fogonazo que vemos de vez en cuando) , actualizando la entrada correspondiente al uso de máquinas remotas como inyectoras

Hasta ahora, como habíais visto en nuestro artículo referente a los equipos externos,  estos  se encontraban con una limitación muy importante comparados con otras herramientas  para pruebas .
Los ficheros de datos debían estar duplicados en la misma ruta  indicada  en el script en todas y cada una de las máquinas remotas.

Como uno se puede imaginar, esto obligaba a duplicar dichos ficheros y copiarlos. Sin embargo en la página de http://jmeter-plugins.org , hemos analizado el comportamiento de un plugin  categorizado como “Extra” que permite aplicar una alternativa para solventar esta limitación

Plugin HTTP Simple Table Server.


Este elemento,  tipificado dentro de la jerarquía del contenido del Extra Set como “Otros” , permite publicar  por el protocolo HTTP  un fichero , de manera que se puede acceder a los contenidos del mismo  en modo de base de datos
  •       Lectura de un elemento
  •       Escritura de un elemento
  •       Estado actual del fichero
  •      Tamaño del fichero
Es decir permite ciertas operaciones de consulta, inserción y estado, de modo que los registros o filas que contiene pueden ser usados en la operativa de un script  de JMeter.

El plugin se basa  en un pequeño servidor web que puede ser arrancado bien desde el modo de interfaz de usuario de JMeter, bien por línea de comandos o configurarlo en las propiedades de JMeter de manera que arranque de manera automática cada  vez que se inicie JMeter

Para hacer más ligero este documento, llamaremos al plugin como HTTP STS

Configuración


Independientemente del método de ejecución de este servidor, este necesita indicar varios parámetros para su uso
  • Puerto TCP de operación
  • Directorio de datos.


Arranque


Desde  la interfaz de  usuario, se puede incluir un HTTP STS como un elemento No de Prueba sobre el Workbench o “Banco de trabajo” de un script de JMeter

Incluir STS desde Banco de Trabajo

Esta manera  de incluirlo hará que sólo esté disponible mientras si se encuentre arrancado en modo gráfico, deteniéndose una vez que cerremos el script o detengamos el interfaz de JMeter

Arrancar STS desde JMeter GUI

sábado, 24 de enero de 2015

Automatización de Pruebas en App Mobile con MonkeyTalk (y II)

En la anterior entrada hemos visto los primeros pasos para configurar un framework de automatización de pruebas para dispositivos móviles con Monkeytalk, ahora nos centraremos en las actividades propias del proceso de automatización como son la grabación de scripts, la construcción de casos de test, la ejecución y el análisis de resultados.
La selección de una herramienta adecuada a nuestros objetivos y que cubra las necesidades técnicas es un proceso de clave que debe ser evaluado en el momento que nos planteemos la automatización.

2 Framework de Automatización (cont.).

  • Grabación:  Al igual que en cualquier otro proceso de automatización, la grabación de nuestros casos de prueba es una herramienta potente para obtener la base de nuestros scripts. En el caso de dispositivos móviles, la podemos realizar directamente desde un dispositivo (emulado o real), sobre un Sistema Operativo concreto (IOs o Android) y a través de diferentes conexiones entre nuestra herramienta y dispositivo sobre el que grabamos (USB, WiFi o Emulador).