Pregunta

No puedo creer que yo soy la primera persona en ir a través de este proceso de pensamiento, así que me pregunto si alguien me puede ayudar con esto.

Situación actual:a los desarrolladores a escribir un sitio web, las operaciones de despliegue.Una vez desplegado, un desarrollador de Pruebas de Humo, para asegurarse de la implementación se realizó sin problemas.

Para mí, esto se siente mal, que básicamente significa que se necesitan dos personas para la implementación de una aplicación;en nuestro caso esas dos personas están en lados opuestos del planeta y zonas horarias entran en juego, causando estragos.Pero el hecho es que los desarrolladores de saber cuál es el conjunto mínimo de pruebas y que pueden cambiar con el tiempo (especialmente para el servicio web porción de nuestra aplicación).Operaciones, con todo el debido respeto a ellos (y dicen esto sí mismos), son de botón-empujadores de que necesitan un conjunto de instrucciones a seguir.

El manual de solución es que nos documentar los casos de prueba y las operaciones que en el documento cada vez que se implemente.Eso suena doloroso, además de que puede ser la implementación de diferentes versiones para diferentes entornos (específicamente UAT y de la Producción) y pueden necesitar un conjunto diferente de instrucciones para cada uno.

En la parte superior de este, uno de nuestros futuros planes es tener un sistema automatizado de diario implementar medio ambiente, por lo que tendremos que dar instrucciones a una computadora en cuanto a cómo implementar una determinada versión de nuestra aplicación.Me sería muy caro como para agregar a eso de las instrucciones de cómo el humo de prueba de la aplicación.

Ahora los desarrolladores están mejor en la documentación de instrucciones para los equipos que son para la gente, así que la solución obvia parece ser la utilización de una combinación de nUnit (sé que estas no son pruebas de la unidad de por sí, pero es un construido para el propósito de la prueba de corredor) y el Watin o Selenio Api para ejecutar a través de la obvia navegador pasos y la llamada al servicio web y explicar a las Operaciones chicos cómo ejecutar las pruebas unitarias.Yo puedo hacer eso;Tengo todo hecho ya.

Pero, ¿no sería bueno si pudiera hacer que el proceso sea más sencillo todavía?

En este punto, las Operaciones de los chicos y el equipo va a tener que saber qué conjunto de pruebas se refieren a la versión de la aplicación y decirle a la nUnit corredor que URL de la base de lo que debería apuntar a (digamos, www.example.com = v3.2 o test.example.com = v3.3).

¿No sería mejor si el test runner sí había una manera de dar un URL de la base y dejar que se descargue decir un archivo zip, descomprimirlo y editar un archivo de configuración automáticamente antes de ejecutar cualquier prueba de los accesorios se encuentran allí?

Hay una fuente abierta de la aplicación que haría?Hay una necesidad de uno?Existe una solución mediante algo distinto de nUnit, tal vez Fitnesse?

Para el registro, la estoy mirando .NET-herramientas basadas en primer lugar porque la mayoría de los desarrolladores están principalmente .NETO de los desarrolladores, pero no estamos casados con ella.Si esa herramienta existe el uso de otros idiomas para escribir las pruebas, nosotros estaremos contentos de adaptarse, siempre hay un test runner que funciona en Windows.

¿Fue útil?

Solución 7

Después de mucho tiempo perdido tratando de hacer una fácil solución, finalmente nos enseñó la ops equipo cómo utilizar NUnit Gui del corredor.Esto fue más fácil de lo esperado y está trabajando bien.

Otros consejos

He trabajado en una prueba de humo para un escritor asp.net aplicación.Hemos utilizado QuickTest Pro, la automatización de pruebas de funcionamiento que se había hecho con Centro De Calidad (fue llamado el Director de la Prueba.).Esto implica escribir cientos de secuencias de comandos de prueba que automatizar un navegador web que interactúan con la aplicación web.Estas pruebas donde se utiliza validar una generación antes de rodar hacia fuera en nuestros servidores de producción.Centro de calidad permite definir un "pool" de máquinas de prueba para que se puedan ejecutar una gran lista de secuencias de comandos de prueba en un multi-threaded manera.

Más simplista prueba de humo sería el registro de todos los errores/excepciones que la aplicación produce y ejecutar una araña contra el sistema.Esto no va a obtener muy "profundo" de cobertura de código, pero el humo de las pruebas no están destinados para la profundidad de la cobertura de código.Este registro de errores debe ser aparte de la aplicación de producción para lidiar con los errores que puedan surgir.Los errores siempre deslizamiento a pesar de las grietas y lamentablemente los mejores evaluadores serán sus usuarios.

He usado el Selenio en el pasado para hacer este tipo de pruebas de humo para web implementaciones.Usted puede escribir un conjunto de secuencias de comandos de prueba y, a continuación, ejecutar, luego contra el mismo sitio en diferentes entornos.

También he pensado en esta secuencia, y hemos propuesto tomar un enfoque declarativo para la implementación y verificación, consulte aquí mis pensamientos,

http://jimblogdog.blogspot.co.uk/2010/10/introducingdeclarative-deployment.html

También he creado algunos plugins para mi proyecto de código abierto manada de lobos para automatizar todo este proceso.Esencialmente, usted paquete de su "implementación de pruebas de humo" como un paquete de NuGet y publicarlo en el privado NuGet de alimentación.Manada de lobos que detectará automáticamente la nueva versión del paquete y descargar, junto con el de NUnit.Corredor paquete de NuGet y descomprimir todos los archivos.Será, entonces, silenciosamente ejecutar las pruebas usando la NUnit consola de corredor y analizar los resultados en una alerta que puede recibir por correo electrónico, gruñido, hipchat etc.

http://wolfpack.codeplex.com/

http://wolfpackcontrib.codeplex.com/wikipage?title=NUnitDeploymentPublisher

Telerik tiene algunos libres y no libres de interfaz de usuario de herramientas de prueba de que se puede ejecutar de forma automatizada por alguien que pueda ayudar con esto.

No sé que VCS que estás usando, pero podría escribir una solución que saca una versión específica de la configuración de archivo de la VCS a través de un intermediario de servicios.

Podría escribir un script de powershell o una aplicación que se descarga el archivo de configuración de un servicio web o aplicación web, de pasar la prueba de URL como parámetro.Los servidores o de la aplicación se ejecuta en una máquina con acceso a VCS, por lo que podría volver el contenido del archivo.Una vez recuperada, la secuencia de comandos o aplicación, a continuación, iniciar las pruebas.

Normalmente, su nUnit pruebas suficientes de que si todos ellos pasan, el código de la base debe estar funcionando bien.Si se implementa el código, con el pasar de nUnit pruebas, y encuentro un fallo en el sitio web, entonces usted necesita para agregar un adicional de nUnit que falla así, por la misma razón.Luego, cuando la revisión de su código para que el nUnit está pasando, usted sabe que usted haya solucionado el problema de que la implementación del código.Por esta razón, la mayoría de la generación automática de sistemas puede ser configurado para ejecutarse automáticamente todos los nUnit primeras pruebas, y, a continuación, 'no' de la generación si falla alguna de las pruebas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top