En la última semana he creado dos clases en las que mi equipo expresó algunas preocupaciones con respecto a su rendimiento. Para evaluar mi código, escribí algunas pruebas simples de JUnit que ejercitaron estas clases construyendo conjuntos completos de datos de prueba y luego alimentando esos datos a través de los métodos relevantes para miles de iteraciones. Grabé el tiempo de ejecución de cada iteración y luego me desconecté de los tiempos alto, bajo y promedio usando los bucles y System.nanoTime()
. Finalmente, hice que JUnit afirmara que los tiempos alto y promedio estaban dentro de los límites aceptables. Este enfoque de prueba le dio confianza a mi equipo en este código.¿Es JUnit la herramienta adecuada para escribir pruebas de rendimiento?
¿Es JUnit la herramienta adecuada para probar el rendimiento de esta manera? ¿Hay mejores herramientas para evaluar el rendimiento a nivel de unidad (método y clase)?
Lo acepté porque mi equipo y yo tenemos una gran afinidad por la integración de JUnit con estas opciones. @Pangea tuvo una gran respuesta para la evaluación comparativa sin integración de Junit. – Freiheit
Nuestro proyecto ya ha implementado JUnit para todas nuestras pruebas unitarias. Ampliarlos a pruebas de rendimiento con el marco JUnitPerf fue muy fácil y tiene sentido. –
Genial, me alegro de que esta respuesta todavía sea útil :) – kostja