2009-06-30 12 views
5

Hago una especie de prueba de integración/estrés en un producto muy grande (piense en el tamaño del sistema operativo), y recientemente mi equipo y yo hemos estado discutiendo formas de organizar mejor nuestras cargas de trabajo de prueba. Hasta ahora, nos hemos contentado con tener todas nuestras aplicaciones de carga de trabajo (personalizadas) en una serie de trabajos por lotes, cada uno de los cuales representa una única ejecución de prueba de estrés. Ahora que estamos en un punto en el que la ejecución de prueba promedio involucra más de 100 cargas de trabajo en 13 sistemas, creemos que es hora de construir algo un poco más avanzado.Diseñando un Marco de Prueba de Estrés

He visto mucho por ahí sobre los marcos de pruebas unitarias, pero muy poco para pruebas de tipo de esfuerzo de nivel superior. ¿Alguien sabe de una forma común (o poco frecuente) de resolver el problema de gestionar grandes cantidades de cargas de trabajo?

En este momento nos gustaría mantener una base de datos de cada carga de trabajo individual y proporcionar un front-end para mezclarlas y combinarlas en paquetes de prueba dependiendo del tipo de estrés que necesitemos en un día determinado, pero no tenemos cualquier ejemplo de la mejor manera de hacer cosas más avanzadas, como clasificar el estrés que cada carga de trabajo individual coloca en un sistema.

¿Qué están haciendo mis especialistas en pruebas de esfuerzo en productos grandes? Para nosotros, unas pocas secuencias de comandos hechas a mano ya no lo cortarán más.

+0

No puedo ayudarte, pero aquí hay dos enlaces a las herramientas disponibles para la evaluación. http://www.opensourcetesting.org/performance.php http://www.testingfaqs.org/t-load.html – jitter

Respuesta

1

Mi propia experiencia ha sido inicialmente en la plataforma IIS con WCAT y últimamente con JMeter y Selenium.

WCAT y JMeter ambos le permiten caminar a través de un sitio web como una ruta, completar formularios, etc. y registrar el proceso como un script. El script se puede reproducir individualmente o simular múltiples clientes y múltiples hilos. Aleatorio de la reproducción para simular el uso desigual e impredecible, etc.

Las secuencias de comandos se pueden editar y escribir a mano una vez que sepa a dónde se dirige. WCAT le permitirá reproducir desde los archivos de registro y le permitirá simular el uso del mundo real.

Ambos de los anteriores están instalados en una PC o servidor.

Selenium es un complemento de FireFox, pero funciona de manera similar al grabar y reproducir scripts y permite escalar.

Algo más difícil es resolver los escenarios que está probando y luego diseñar las pruebas para que se ajusten a ellos. También se debe tener en cuenta la interacción con la base de datos y otros recursos externos. Exceda para pasar mucho tiempo mirando los archivos de registro, por lo que un buen resultado gráfico es esencial.

0

Lo más difícil para mí fue recopilar y organizar métricas de rendimiento de servidores bajo carga. El Monitor de rendimiento fue mi herramienta principal. Cuando surgió la edición Visual Studio Tester, me sorprendió lo fácil que era trabajar con contadores de rendimiento. Pre-empaquetaron una lista de contadores para un servidor web, servidor SQL, aplicación ASP.NET, etc. Aprendí sobre un grupo de contadores de rendimiento que ni siquiera sabía que existían. Además, puedes recoger tus propios contadores también. Puede almacenar métricas después de cada ejecución. También puede conectarse a servidores de producción y ver cómo se sienten hoy. ¡Entonces veo todos esos gráficos en tiempo real y me siento con poder! :) Si necesita más carga, puede obtener VS Load Agents y crear un equipo generador de carga (o debería llamarlo botnet). Comparar con productos en el mercado es relativamente barato. La licencia de MS va por procesador, pero no por solicitud simultánea. Eso significa que puede producir tanta carga como su hardware pueda manejar. En promedio, pude obtener aproximadamente 3.000 solicitudes web simultáneas en una computadora de memoria dual-core de 2GB. Además, puede incorporar pruebas de rendimiento en sus compilaciones.

Por supuesto que va para Windows. Además, la etiqueta de precio de aproximadamente $ 6K para la herramienta podría ser un poco alta, más la misma cantidad de dinero por agente de carga adicional.