2012-09-06 18 views
5

Me encanta la idea de Pex - pruebas de unidad autogenerating a través de análisis de código estático - pero las pruebas que en realidad son generados por la herramienta son horrible, feo, fuertemente acoplado a los módulos Pex, difícil de leer y entender etc.¿Es Pex (y su salida) adecuado para un entorno empresarial?

Es una herramienta como esa realmente adecuada (en su estado actual) para su uso en un entorno empresarial, donde el énfasis debe estar en la facilidad de mantenimiento?

¿O he entendido mal el uso previsto de Pex?

+0

En Visual Studio 2012 Pex es reemplazado (en parte) por Fakes http://msdn.microsoft.com/en-us/library/hh549175.aspx –

Respuesta

1

De hecho, ha entendido mal el uso previsto.

Pex es una herramienta de prueba de caja blanca. Genera casos de prueba basados ​​en el análisis del código que debe probar. La razón para esto es detectar y probar cajas de borde. Entonces, básicamente, ni siquiera debería cambiar las pruebas autogeneradas.

Sus pruebas unitarias normales no pueden ser reemplazadas por Pex. Es solo una herramienta adicional.

0

Pex es muy útil para probar algoritmos complejos que no dependen de nada externo. Por ejemplo, no lo ayudará a encontrar casos límite en declaraciones SQL o acceso a archivos. Sin embargo, para encontrar casos extremos y aumentar la cobertura del código, es extremadamente útil además de las pruebas de unidad normales.

1

Esto parece una cuestión subjetiva ...

Yo diría que sí, pruebas escritas en un marco/API dada a menudo estrechamente vinculadas a ese marco. La intención de Pex no es generar pruebas "legibles", sino garantizar la cobertura del código para un conjunto dado de restricciones. Si eso es valioso para su producto, entonces es adecuado, y ciertamente apostaría a que para un equipo determinado y una base de código dada, esto proporcionará valor.

Cada empresa es diferente, pero es el producto y su código lo que dicta la idoneidad de una herramienta de prueba. Sugeriría que lo que hay que cuestionar es el valor de Pex para una base de código dada, independientemente de la organización en cuestión.

1

He usado pex en una gran institución financiera y recomendaría su uso, pero solo para un caso muy específico. Creo que pex es bueno en lo que hace (como se describe en otro lugar aquí, las pruebas de caja blanca para encontrar casos de borde), pero las pruebas no tienen una longevidad significativa ya que están muy juntas.

Básicamente pex es excelente para generar cobertura. Si no tiene pruebas y quiere algo rápido, use Pex. PERO ENTONCES, recomiendo que en lugar de usarlo nuevamente, haga cumplir las normas para que el nuevo código cumpla con una métrica de cobertura acordada con pruebas escritas a mano.

De esta forma, las frágiles pruebas de pex se reemplazan con el tiempo por pruebas más flexibles y de mayor calidad.

Cuestiones relacionadas