2008-12-18 15 views
5

Estoy trabajando en un proyecto de desarrollo de software que usa código escrito principalmente en C y C#. Actualmente, la responsabilidad de las pruebas recae principalmente en los desarrolladores a medida que cambian el código.Prueba automatizada .NET (¿Gallio?)

Estoy interesado en implementar un marco de prueba automatizado para ayudarnos a mejorar la calidad de nuestro código. En particular, sería genial tener pruebas automáticas que se ejecutan cada vez que se envía el código al control de la versión.

No tengo mucha experiencia con pruebas automatizadas (o pruebas unitarias para el caso). ¿Alguien ha hecho un desarrollo usando un marco de prueba para C/C# y, de ser así, cuáles podrían ser algunos obstáculos que enfrentaríamos para implementarlo en toda la empresa y en una base de código existente bastante grande?

En particular, he estado mirando cómo podría usarse Gallio. Cualquier comentario sobre este producto en particular sería apreciado.

Información adicional:

Adding unit tests to an existing project
Unit Testing Legacy ASP.NET Webforms Applications
Moving existing code to Test Driven Development
Favorite .NET Unit Testing framework

Respuesta

3

Para ser franco, esto suena como usted está buscando razones para no hacerlo. Solo consigue NUnit y ponte en marcha. Comience con la pieza más pequeña para mojarse los pies.

+1

Por el contrario, quiero usar las pruebas unitarias muy mal. Sin embargo, esto es algo que tendría que extenderse a unas 100 personas, y quiero asegurarme de que invertimos nuestro tiempo y energía en las herramientas adecuadas. – Tim

+0

@Tim: ¡este es el tipo de información que pertenece a su pregunta! "A nivel de toda la compañía" podría significar "usted y el otro programador" ;-) –

+0

+1, NUnit es genial. @Tim, hay muchas alternativas, algunas buenas, pero las diferencias son mínimas. Solo tómalo y vete. – orip

1

TestComplete era decente y fácil de usar cuando lo usé (hace un par de años). Al menos entonces, necesitarías aprender algo de VBScript.

0

Utilizamos TestComplete de AutomatedQA, y es una plataforma decente para hacer pruebas de interfaz gráfica de usuario. Hacemos todo nuestro código TestComplete en JScript, lo cual no es genial, pero hace el trabajo bien. Sin embargo, no estoy seguro de que recomiende las pruebas automatizadas de GUI, creo que obtendrás un rendimiento mucho mejor con las pruebas unitarias.

Nunit y rhino mock son excelentes herramientas para la prueba unitaria.

CruiseControl parece la mejor manera de configurar las pruebas automatizadas en cada compilación.

3

Gallio es en realidad un marco para toda la cadena de herramientas de prueba. Desde escribir las pruebas hasta ejecutarlas para publicar procesos de compilación. Proporciona instalaciones comunes e interfaces estandarizadas para cada paso para permitir una mayor elección y flexibilidad al unir un proceso de construcción.

Viene con una versión del marco MbUnit, que utiliza de forma predeterminada. También viene con un corredor de GUI llamado Icarus y un corredor de consola llamado Echo. Son todas herramientas respetadas en la comunidad de pruebas.

Es una excelente opción para una gran empresa, ya que puede permitirle aprovechar muchas de las pruebas populares y las herramientas de integración continua con un mínimo de dolores de cabeza en la integración.

Elegir un marco y escribir pruebas es solo la mitad de la batalla, Gallio realmente ayuda con la otra mitad; pegando todos los otros pasos en el proceso de construcción.

El único inconveniente real en este momento es la falta de un repositorio central de ejemplos e información. Para algunos, el hecho de que es una iniciativa relativamente nueva puede posponer su uso en este momento.

Check out the docs here. Son un trabajo en progreso y muy incompleto, pero le ayudarán a comenzar con los aspectos básicos de la escritura de pruebas. Mantenga sus ojos en Jeff Browns Blog para más información.

Cuestiones relacionadas