me gustaría simplemente ampliar en un par de sugerencias, ya lo hago mucho.
Siege es un gran comprobador de cordura y tiene una barrera de entrada muy baja. Es un paquete estándar en Ubuntu y otros y solo requiere la ejecución de parámetros de línea de comandos. Para que pueda golpear su sitio web tan duro como quiera (o atreverse) a ver dónde está el punto de ruptura. Mi experiencia es que pocos servidores web se degradan de forma lineal. A medida que aumenta la carga, se vuelven un poco más lentos, luego un poco más lentos, luego BAM el tiempo de carga salta a 20 segundos. Saber cuándo sucede eso te da una idea de cuánto preocuparte y si hay que hacer algo. Si no golpeas la pared hasta más de 500 usuarios simultáneos, entonces tienes un margen de maniobra.
Pero tenga en cuenta que asediar es más sobre probar su servidor web que su sitio web.
Como el mismo cartel mencionado anteriormente Selenium es una gran herramienta para eso, sin embargo, espera invertir algo de tiempo. En realidad, puede hacer estallar algunas pruebas solo con el Selenium IDE y ejecutarlas en su navegador bajo Selenium RC como un conjunto de aplicaciones HTTP sin tener que entrar en secuencias de comandos (aunque querrá hacer eso). Tanto el lado positivo como el negativo de este enfoque es que esto está impulsando un navegador real, por lo que ejecutar la prueba en una sola máquina no te dará resultados mundiales del mundo real porque tu máquina simplemente no puede mantener el ritmo. Debe ejecutar y configurar SRC y Selenium Grid puede ser una tarea desalentadora, pero merece la pena si esto es algo que hará una y otra vez, especialmente si tiene un poco de conocimiento de VM.
Los chicos que crearon Selenium ahora ofrecen un RC comercial basado en la nube que ejecuta todos los navegadores estándar y captura el video de la sesión (que puedes desactivar para una prueba de rendimiento). Está en http://saucelabs.com y para pruebas de carga, o pruebas rápidas sin cuidado en todos los navegadores, es genial. (Todavía realizo pruebas funcionales localmente). Nuevamente, cuesta, pero es razonable.
Lo deletreo más porque su primer punto es probar su sitio "enérgicamente", y supongo que eso significa probar toda la funcionalidad, no solo probarla con mucha energía.
No conozco ninguna bala mágica para esto, excepto para escribir pruebas exhaustivas (que es donde generalmente ingresas a las secuencias de comandos ya que muchas cosas se pueden reutilizar, por ejemplo, rellenando un formulario).
Lo último es que, antes de iniciarlo, si no tiene un programa de usabilidad instalado, permita que algunos no-programadores/personas de la web lo usen y miren y pídales que hagan varias "tareas" (firmar arriba, encuentre algo, no haga "clic en") Esto suena como una prueba de usabilidad pero es demasiado tarde para eso, pero se sorprenderá de la rapidez con la que las personas que no piensan como ustedes encuentran errores en su código. Esto debería abrir nuevos horizontes de áreas que no has probado.
No he encontrado una herramienta de "cobertura" para aplicaciones web. Si hay uno, pero me encantaría saberlo.
Esto se conoce como prueba de estrés ... – Sarfraz
Mira esto ... http://jakarta.apache.org/jmeter/ – ant
* (related) * http://stackoverflow.com/questions/7492/ cómo hacer una prueba de estrés una aplicación web – Gordon