Creo que entendí que se utilizó un servidor de humo para una integración continua para medir el rendimiento y la cobertura de prueba de un proyecto. ¿Es esto básicamente correcto? ¿Qué significa probar el humo en un programa? ¿Simplemente significa aplicar continuamente las pruebas definidas en el servidor de humo para poder identificar la degradación del rendimiento en un marco de tiempo particular?¿Qué es una prueba de humo y qué hará por mí?
Respuesta
Las pruebas de humo son un conjunto básico de pruebas económicas que preceden las pruebas reales. Su objetivo es verificar que la construcción se implemente con éxito y que todos los entornos de prueba. los aspectos se están ejecutando y están listos para el proceso de prueba real. Le ahorra reducir el alcance de su ira de prueba a una versión defectuosa y darse cuenta de que ha estado probando un entorno negativo. o implementación erróneamente implementada posiblemente demasiado tarde.
La prueba de humo no es prueba de rendimiento o prueba de prevención de regresión.
La prueba de humo es un conjunto de pruebas automáticas de máxima prioridad. Incluso si su construcción normal tiene éxito, es posible que su producto se rompa de maneras muy fundamentales que lo hacen 100% inutilizable. Las pruebas de humo están diseñadas para probar ese nivel de funcionalidad central. Una construcción que no pase las pruebas de humo es muy probable que falle la mayoría de todas sus pruebas automáticas.
Si una prueba de humo falla, generalmente significa que está perdiendo productividad porque la construcción no se puede utilizar, no se puede probar, etc. Las fallas en la prueba de humo suelen requerir soluciones inmediatas, del orden de horas, no días.
El aspecto importante acerca de las pruebas de humo es que se pueden ejecutar rápidamente. SIEMPRE deberías ejecutar pruebas de humo de algún tipo. Muchos grupos tienen recursos suficientes para ejecutar un conjunto más grande de pruebas en sus construcciones de integración diaria o continua (que es bondad), pero las pruebas de humo deben considerarse el mínimo indispensable.
No creo que las pruebas de detección de humo sean necesariamente automáticas, sino que también pueden referirse a pruebas manuales básicas, que pueden cubrir aspectos que realmente no se pueden probar automáticamente, como el diseño. –
Cierto, pero estamos llegando al punto en que casi cualquier cosa se puede automatizar. Sé perezoso, automatiza. –
La prueba de humo es el primer paso de las pruebas de integración. Como desarrollador, ha reunido todas las piezas y se está asegurando de que su aplicación se ejecutará antes de dársela a su equipo de control de calidad para realizar pruebas "reales".
que quería escribir más, pero MahdeTo me pegaba a una respuesta correcta ... :)
Utilizamos la prueba de humo término para referirse a una prueba que hace pruebas básicas rápidos para una aplicación o producto para hacer califica para pruebas adicionales como pruebas de integración o pruebas de funcionalidad. De poco sirve hacer pruebas de integración u otras pruebas avanzadas si la aplicación no puede hacer algunas de las tareas básicas requeridas para estas pruebas avanzadas. Por ejemplo, tenemos una aplicación basada en web y hacemos pruebas de detección de humo para asegurarnos de poder cargar todas las páginas web, permitirles a los usuarios iniciar sesión/cerrar sesión, etc. Estas son las cosas básicas que deberían funcionar con la aplicación para que sea comprobable. Si las páginas ni siquiera se cargan o si los usuarios ni siquiera pueden iniciar sesión, no podemos hacer mucho con la funcionalidad o las pruebas de integración. Realizamos pruebas de detección de humo con cada versión, seguidas por la funcionalidad y las pruebas de integración.
El término se origina en hardware repair y se ha aplicado al software. Se pretende que sea una prueba rápida para ver si la aplicación "se incendia" cuando se ejecuta por primera vez. Como se mencionó anteriormente, es solo para asegurarse de no perder un montón de tiempo de las personas al liberarlos en algo que obviamente está roto.
El wikipedia page on smoke testing es realmente bastante bueno. Incluye un puntero al documento de Steve McConnel ("Code Complete") en la sección de mejores prácticas de IEEE Software 13 (4), 1996 titulado "Daily Build and Smoke Test".
Yo diría que las pruebas de humo son una condición previa para la unidad y otras formas de prueba: si la prueba de humo falla, no tiene sentido siquiera comenzar una prueba unitaria.
* comprobar la característica básica y crítica de una aplicación antes de proceder a la prueba se conoce como prueba de humo. * En las pruebas de humo verificamos el flujo positivo de la característica básica y crítica para verificar si la construcción es comprobable o no.
- 1. ¿Qué es una prueba de humo?
- 2. ¿Qué hará un SQLiteCursor si una columna es nula?
- 3. ¿Por qué las "pruebas de humo" se llaman "pruebas de humo"?
- 4. ¿Por qué json_decode no funciona para mí?
- 5. ¿Qué es una copia de trabajo y qué significa "cambio" para mí en Tortoise SVN?
- 6. ¿Qué CMS es adecuado para mí?
- 7. ¿Por qué la compresión gzip es más lenta para mí?
- 8. ¿Por qué IsDot() falla en mí? (PHP)
- 9. Casos de prueba, "cuándo", "qué" y "por qué"?
- 10. ListView, SimpleCursorAdapter, un filtro EditText - ¿por qué no hará nada?
- 11. ¿Cómo verificar qué URL hará un RedirectToRouteResult?
- 12. ¿Qué es una prueba de corte y pegado?
- 13. ¿Por qué try {...} finalmente {...} es bueno; prueba {...} catch {} ¿malo?
- 14. ¿Por qué la validación de struts no funciona para mí?
- 15. ¿Qué es .inc y por qué usarlo?
- 16. ¿Qué es "matemática de cuerdas" y por qué es malo?
- 17. Team Foundation Server - ¿Qué plantilla de proceso es para mí?
- 18. ¿Qué es NHibernate y por qué debería usarlo?
- 19. ¿Por qué @ foo.setter en Python no funciona para mí?
- 20. ¿Por qué jsTree open_all() no funciona para mí?
- 21. ¿Qué es y qué no es una historia de usuario?
- 22. ¿Por qué html5 postMessage no funciona para mí?
- 23. ¿Qué es WebIDL y (por qué) es importante?
- 24. ¿Por qué respondsToSelector no funciona para mí en este caso?
- 25. ¿Por qué el lazo de prueba inferior es preferible?
- 26. ¿Qué es "P = NP?" Y ¿por qué es una pregunta tan famosa?
- 27. ¿Por qué las cerraduras no funcionan para mí?
- 28. ¿Por qué $ (document) .ready no está disparando para mí?
- 29. ¿Por qué `` -finstrument-functions` no funciona para mí?
- 30. Excepción de punto flotante C++ ¿Por qué y qué es?
Estaba totalmente apagado. Barato para correr ... básicamente una indicación de fuego? – ojblass
@ojblass: Sí, a lo que me podría referir es a prueba de remojo - http://en.wikipedia.org/wiki/Soak_testing. –
+1 bonita respuesta concisa – skaffman