viernes, 29 de abril de 2016

Error Jmeter, Non HTTP response code: java.net.NoRouteToHostException.

When we tested a HTTP petition and we recived a response like Non HTTP response code: java.net.NoRouteToHostException,Non HTTP response message: No existe ninguna ruta hasta el «host».

In my case was that conection with the server has a firewall in middle and for that firewall we can not connect with the server.

The Firewall' rules was only 15 connections simultaneus and I was tested with 20 connections, for that rule the 5 connections could not connect successful and their results was HTTP petition and we recived a response like Non HTTP response code: java.net.NoRouteToHostException.

miércoles, 27 de abril de 2016

Validation Engineer Salary, USA

Validation Engineer (United States)

Compare your salary.
Get a FREE salary report »
PayScale

Tipos de Pruebas de Performance

Existen distintos tipos de pruebas de performance, y hemos visto últimamente por ahí algunos nombres que a veces son conocidos, a veces son estándares o normalmente nombrados en el ambiente del testing, y hay muchos conceptos que surgen por los nombres que se les da en ciertas herramientas.


Queremos nombrar algunos de ellos (los más comunes) y destacar sus diferencias:

Load test (prueba de carga): El objetivo es simular el uso real del sistema. Para esto es necesario entonces hacer un análisis de la cantidad de usuarios que accederá y qué operaciones se ejecutarán. 
Prueba de carga de un puente.

Stress test (prueba de estrés): El objetivo es encontrar el punto de quiebre del sistema. Entonces, se ejecutarán las operaciones más accedidas (típicamente) en forma incremental en cuanto a la cantidad de usuarios, hasta que el sistema caiga. De esta forma podremos analizar hasta qué cantidad de usuarios es capaz de soportar el sistema con la infraestructura en la que está instalado, y ver cuánto cuesta recuperar el funcionamiento normal luego de una caída. 
Prueba de estrés

Soak test / endurance test (prueba de resistencia): Aquí el objetivo es probar por períodos más prolongados de tiempo. De esta forma intentamos encontrar otro tipo de problemas (esos que se manifiestan luego de cierta acumulación del problema, tal como un memory leak) y analizar cómo se comporta el sistema luego de estar en funcionamiento durante un tiempo. 

Throttle test: La idea es simular la carga limitando la velocidad de conexión de los usuarios virtuales (de todos o solo de un grupo) para analizar de esa forma cómo serán los tiempos de respuesta de esos usuarios que se conectan por redes de menor velocidad (3G, en zonas alejadas, a través de internet, etc.). Para esto se suelen usar speed simulators o traffic shapers, aunque algunas herramientas traen esta funcionalidad incorporada también. 

Peak test (pruebas de picos): El objetivo es analizar el comportamiento del sistema cuando este es expuesto a picos de intensidad mezclados con carga normal, viendo cómo se recompone luego de esa carga mayor. Este tipo de situaciones se dan en la realidad, por lo cual también es interesante analizar cómo se comporta el sistema ante estas situaciones. 

Scalability test (pruebas de escalabilidad): El objetivo es analizar cómo escala nuestro sistema. Por ejemplo, ver cuántos usuarios más podemos soportar si agregamos otro servidor de aplicaciones, o cuánto mejoran los tiempos si agregamos más CPU al servidor de base de datos. 

La siguiente figura muestra una forma de representar algunos de estos tests indicando cómo se vería la gráfica de usuarios virtuales activos a lo largo del tiempo de prueba.
 
 
 
Fuente: blog.abstracta.com.uy

miércoles, 20 de abril de 2016

Revisiones Formales vs Informales, Testing

Revisiones

Revisión rigurosa y en profundidad de un artefacto de software realizado con el fin de  detectar errores.
Fuente: eviltester

Objetivos
1. Detectar problemas de análisis, diseño y código en forma temprana
2. Definir y acordar criterios de retrabajo para su resolución
3.Verificar que se resolvió de acuerdo al criterio acordado 



Beneficios

1. Genera datos acerca del producto y el proceso de desarrollo
2. Genera conocimiento entre miembros del grupo de desarrollo
3.Aumenta la efectividad de la validación y verificación
4.Contribuye a la instalación del concepto de calidad

Formales: Con roles y responsabilidades y un procedimiento definido (Documentado)
Informales: Con roles desdibujados y sin procedimiento 
 
 


REFERENCIAS
1.
The Art of Software Testing, Second Edition
, Glenford J. Myers, John Wiley &
Sons, Inc., 2004.
2.
Software Verification and Validation for Practition
ers and Managers, Second
Edition,
Steven R. Rakitin, Artech House, 2001.
3.
Code Complete, Second Edition, Steve McConnell, Red
mond, Wa.: Microsoft
Press, 2004.
4.
Fit for Developing Software: Framework for Integrat
ed Tests
, Rick Mugridge,
Ward Cunningham, Prentice Hall PTR, 2005.
5.
FitFitnesse, Pruebas de funcionalidad y aceptación.
Basado en una Wiki para
Java,
http://fitnesse.org/
6.
JMeter Apache Jakarta Project Pruebas de sistema, http://jakarta.apache.org/jmeter