2008-09-05 17 views
5

buscando para obtener su opinión sobre una herramienta de prueba automatizada (voto deben traer buenos a la parte superior)Unidad de prueba automatizada de Gen Herramientas para .NET

herramienta ideal sería:

  • Eliminar la necesidad de presentar un conjunto de valores a un método. Se requieren
  • técnicas emplean como Interactivo pruebas exploratorias donde el código es examinado para determinar qué valores de ejercer todo el código caminos. es decir, las pruebas unitarias para un método están determinadas por la complejidad del código

Por ejemplo, si un método comprueba que un argumento entero es 123, se generan al menos 2 pruebas unitarias: una donde ese argumento es 123 y uno donde no lo es

Para Java mi entendimiento es que son algunas de las opciones pero no .NET

  • TestGen4J
  • AgitarOne

han oído hablar de Pex - Para .NET de Microsoft Research, pero esto no tiene una - licencia comercial

Gracias

Respuesta

2

I've probado algunas de estas herramientas en otros idiomas y en mi humilde opinión son casi una completa pérdida de tiempo. ¿Razón? No pueden adivinar la semántica de una llamada a un método de ninguna manera significativa. Hay un artículo muy bueno sobre este here, vale la pena leerlo.

+0

Las pruebas unitarias describen el comportamiento de un software y, por lo tanto, no se pueden generar –

3

Pex habilita las pruebas de unidades parametrizadas y utiliza la ejecución simbólica dinámica (algún tipo de prueba exploratoria automática) para generar entradas. Pex puede entender la semántica de MSIL, es decir, de cualquier llamada a método administrado. En el ejemplo '123', Pex encontraría ambas pruebas.

Permite a los desarrolladores escribir pruebas de unidad parametrizadas - por lo que cabe totalmente en un estilo de desarrollo de prueba primero.

Para software comercial, Pex requiere una licencia de MSDN. Más información en http://research.microsoft.com/pex

un desarrollador PEX :)

0

Otra buena herramienta que genera automáticamente pruebas unitarias es Randoop.

Randoop está disponible para Java (http://mernst.github.io/randoop/) y para .NET (https://github.com/abb-iss/Randoop.NET).

Randoop ha encontrado errores previamente desconocidos en las bibliotecas ampliamente utilizadas, incluidos Sun y los JDK de IBM y en los componentes principales de Microsoft .NET.

Cuestiones relacionadas