Pregunta

Hay una buena herramienta para generar la unidad de casos de prueba dada decir .NET o Java proyecto, genera la unidad de casos de prueba que cubren casi el 100% de cobertura de código.El número de casos de prueba podría ser directamente proporcional a la ciclomático de la complejidad del código (el más alto es el anidamiento de bucles y condiciones de la mayor ciclomático de complejidad), donde el mayor es el ciclomático de complejidad, mayor es el conjunto de casos de prueba generados.No estoy esperando que sea completamente funcional (dicen que yo soy el que va a construir la unidad de pruebas y ejecutarlo después de la ha generado), pero me atrevería a decir que puede tener un estilo de plantilla en el caso de prueba donde se va a modificar en el caso de que se adapte a sus necesidades.Pero también debe contar con una adecuada instalación y desmontaje método y es lo suficientemente bueno como para detectar si los objetos simulados para la unidad de prueba debe ser utilizado en caso de existir alguna de las dependencias.Así, hay una herramienta que existe?

¿Fue útil?

Solución

Para .NET, Microsoft ha Pex que se espera que vaya a la corriente principal .NET 4.0, junto con href="http://research.microsoft.com/en-us/projects/contracts/" . Recomiendo ver el vídeo de Canal 9.

Me parece que este tipo de cosas es muy bueno para las clases mismas basadas en datos - analizadores, etc. No pueden ver que había mucha frecuencia a empezar con él, sino un útil herramienta para tener en su arsenal, no obstante.

Otros consejos

Para C # (o .NET en general), PEX podría ser esa herramienta. Funciona a nivel de IL, y los intentos de forzar su camino en cada rama. Se ha descubierto con éxito una amplia gama de insectos (en el BCL etc).

Aunque esto parece contra-intuituve, usted también puede estar interesado en las pruebas al azar de la generación de marcos.La investigación ha demostrado que se puede ser igual de eficaz en la búsqueda de errores de la sistemática de los enfoques basados en la cobertura, como lo sugieren.

Echa un vistazo Randoop tanto para .NET y Java.Funciona mediante la generación de una forma más o menos aleatoria de la secuencia de llamadas a métodos, y los cheques de contratos, accidentes, etc.Es completamente automática.

También es posible que desee echa un vistazo a algunos otros ensayos aleatorios herramientas basadas en QuickCheck, por ejemplo,para Java, Scala, F#.que son más similares a Pex, es decir,puedes dar una especificación, o parametrización de la unidad de prueba, y los cheques de la herramienta para un número generado de argumentos de entrada.

He descubierto que esta "parametrizar" manera de escribir pruebas unitarias en realidad es mucho más natural en al menos el 60% de los casos, y encuentra muchos más errores.

En Java, se puede comprobar EvoSuite , que es de código abierto y activo en ese momento (descargo de responsabilidad, soy uno de sus colaboradores). También vea para una lista de más herramientas .

Para Java, prueba a JUnit-Tools . Tiene propio plugin para Eclipse, junto con una buena documentación.

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