lunes, 21 de enero de 2013

La relación entre las pruebas de rendimiento y el tunning

Cuando las pruebas de rendimiento a un sistema end to end revelan que dicho sistema o algunos de sus componentes  son inaceptables, muchos equipos centran su atención en el tunning de la aplicación y su infraestructura con el objetivo de descubrir qué se necesita cambiar para que dichos elementos tengan una mejora en el rendimiento. Un equipo también puede cambiar su enfoque para afinar los criterios de rendimiento que se han establecido desde el principio, mediante la reducción de cantidad de recursos que utiliza con el fin de aumentar la capacidad del sistema o simplemente para optimizarla lo mejor posible y también disminuir el volumen del hardware empleado.
Esfuerzo Cooperativo.
          Aunque el tunning no es directamente responsabilidad del ingeniero de pruebas de rendimiento, este proceso es más eficaz cuando existe un esfuerzo de  cooperación entre los distintos roles involucrados de un proyecto u organización, tales como:
·         Empresas externas proveedoras de un servicio
·         Arquitectos de Software
·         Desarrolladores
·         Ingenieros de pruebas
·         Administradores de Bases de Datos
·         Administradores de Sistemas
·         Administradores de Redes
Sin la cooperación de estos roles es casi imposible tener toda la perspectiva de la arquitectura del sistema y por ende la resolución del problema de optimización  no se puede llevar acabo del todo bien.
El equipo de pruebas de rendimiento es un componente crítico de este conjunto cooperativo. Típicamente en el tunning de aplicaciones se requiere monitoreo adicional de componentes en específico, recursos, tiempos de respuesta bajo diferentes condiciones de carga y configuraciones. En términos generales el ingeniero de pruebas de rendimiento es quien tiene las herramientas y la experiencia para proporcionar esta información para facilitar la tarea de optimización.
Y a todo esto… Que es el tunning? A continuación una breve descripción de lo que es el proceso de tunning.

miércoles, 16 de enero de 2013

Estándares de Rendimiento

Si estamos buscando una guía de estándares de pruebas de rendimiento tal vez no tengamos suerte en encontrarla, porque no existe tal, pero hoy en día existen varios intentos informales de definir un estándar, particularmente para aplicaciones web. Probablemente hayamos escuchado esto: “en cuanto tiempo tarda en cargarse una página web?”. Tal vez en algún momento del tiempo se  pudo haber establecido una cantidad de 20 segundos que rápidamente con el paso del tiempo y la evolución de las computadoras  se haya convertido en 8 segundos. Por supuesto para un usuario y una empresa en general se requiere tener respuestas instantáneas, pero todo este tipo de mediciones siempre es difícil de alcanzar y establecer un estándar de lo que quiere un usuario.
Muchos SLA’s (Acuerdos de Nivel de Servicio) están enfocados en estándares de medición de rendimiento a la  infraestructura, en lugar de la propia aplicación y a menudo solo tratan áreas especificas tales como la latencia de red o la disponibilidad del servidor.
La siguiente lista resume las investigaciones realizadas a finales de los 80 (Martin 1988), que intentó mapear la productividad del usuario con el tiempo de respuesta. La investigación original se basa gran parte en aplicaciones de texto monocromáticas, pero sus conclusiones probablemente pueden ser relevantes.

Mayor a 15 segundos
Esta regla descarta la interacción conversacional. Para cierto tipo de aplicaciones, cierto tipo de usuarios, pueden estar contentos de sentarse frente a una computadora por más de 15 segundos esperando la respuesta de su aplicación. Sin embargo para un operador de un call-center este retraso puede ser intolerable. Si estos retrasos pueden ocurrir, el sistema debe ser diseñado de tal forma que el usuario pueda hacer otras actividades y obtener la respuesta en otro momento (procesos asíncronos).

lunes, 17 de diciembre de 2012

Jmeter: Análisis de Resultados

JMeter: Una aproximación al análisis de resultados

 A lo largo de varias entradas de este blog hemos aprendido las diferentes etapas que hay que cumplimentar para realizar pruebas de rendimiento con Jmeter.  Una vez realizada las pruebas llega el momento de recopilar la información y generar un informe de pruebas de rendimiento que sea comprensible y cumpla con los objetivos esparados.

Jmeter es una herramienta potente cuyo uso se ha generalizado en las diferentes etapas del desarrollo software. A pesar de que ha sido complementada con extensiones, la obtención de gráficas y métricas que muestren de manera sencilla los resultados puede implicar la realización de tareas manuales costosas que retardan la obtención de los informes.

La mayoría de herramientas comerciales de pruebas de rendimiento integran módulos de análisis y exportación de resultados. En la siguiente presentación se muestra como es posible obtener una herramienta que trate de manera automática los resultados obtenidos con Jmeter.



miércoles, 17 de octubre de 2012

El "Tester del Futuro"

Actualmente nos encontramos ante un desarrollo tecnológico que está dando lugar a nuevos entornos y necesidades. Algunos ejemplos son:
  • La proliferación de dispositivos móviles hace que al día se realicen millones de descargas de apps. Las apps para dispositivos móviles integran distintas tecnologías y a su vez pueden hacer uso de aplicaciones de terceros
  • El Cloud Computing está tomando una gran relevancia debido a las facilidades que ofrece para que cualquier empresa pueda utilizar aplicaciones en Cloud de manera barata y accesible.
  • Las aplicaciones son cada vez más complejas e integran componentes de distintas tecnologías y proveedores.
El testing, como cualquier otra actividad del desarrollo e implantación de los S.I., se ha adaptado a este nuevo entorno: herramientas, metodología, tecnología, etc...

El ingeniero de pruebas se ha renovado y adaptado a los cambios. Pero, ¿cuáles son las características del tester del futuro?, ¿y qué conocimientos debe tener?

Intentaremos enumerar algunos de los desafíos a los que se enfrentan los ingenieros de pruebas en el actual contexto tecnológico, pero... el futuro ya está aquí!!



lunes, 1 de octubre de 2012

SOAP UI y JMeter. Colaboraciones

En esta entrega, vamos a hacer un post absolutamente oportunista, combinando dos de las herramientas de prestaciones y calidad quizás más conocidas por los usuarios de este mundillo.
SOAP UI realiza pruebas sobre servicios web. Aunque ya se explicó en otro artículo, daremos unos breves apuntes sobre cómo acceder a un servicio publicado para realizar una grabación del mismo y combinarlo con la herramienta JMeter, para obtener un sistema de pruebas sobre dichos webservices. De esta forma combinaremos las capacidades de manejo de los WDSL de SOAP con las utilidades de análisis y las capacidades de monitorización (a través de los plug-ins) que permite JMeter.

Grabando un webservice. Conceptos y definición


En la pantalla de inicio de SOAP UI, podemos ver la invocación a un WDSL cualquiera  de ejemplo


  • Diferentes métodos WDSL - XML descriptivo.
  • Validación del WDSL.