Estoy pensando en automatizar las pruebas de rendimiento, de la misma manera que lo que tenemos actualmente con las pruebas unitarias.¿Cómo automatizar las pruebas de rendimiento e integrar con CI?
Sé cómo ejecutar pruebas de rendimiento con herramientas como jMeter o escribiendo mi propio código para activar partes específicas de la aplicación. Sé cómo usar time, jvisualvm, nmon u otros para recopilar información sobre los recursos que se utilizan.
Me gustaría ir más allá y escribir una prueba de rendimiento, que fallaría si cruza ciertas líneas (tiempo de ejecución, memoria o CPU consumida ...). Luego, haría que mi servidor de CI (Jenkins) realizara las pruebas de forma periódica para garantizar que el rendimiento sea bueno.
Esto es complicado porque el rendimiento depende del hardware, y en la forma actual en que lo hago, se requiere una interpretación humana de los resultados para decidir si esto es satisfactorio o no.
¿Conoces alguna herramienta o marco (si es posible basado en Java) que ayude a automatizar las pruebas de rendimiento de esa manera? Si no, ¿tiene alguna buena práctica para aconsejar?
Gracias.
donde quieres poner tus sensores ... Servidor o Cliente. De cualquier manera, debe establecer sus objetivos específicos para lograr en la prueba. Si haces que los resultados de las pruebas sean interpretables, como el tiempo de respuesta, puedes decidir fácilmente si pasan o si fallan automaticamente ... happy scripting – jpse
Ambos, y a veces ambos al mismo tiempo. Por ejemplo, tengo un caso en el que tenemos un cliente de Windows que se comunica con el servidor. Quiero asegurarme de que no cargue demasiado en el servidor. Entonces eso implicará comenzar muchas instancias del cliente, y medir cosas del lado del servidor como el consumo de CPU, la memoria ... –