2008-09-12 10 views
21

Aquellos de ustedes que han usado Pex, ¿cuáles creen que son sus ventajas y desventajas de Pex como herramienta?Usuarios de Pex: ¿cuáles son sus impresiones de Pex y las Pruebas exploratorias automáticas en general?

Además, ¿cuáles cree que son las ventajas y desventajas de "Pruebas exploratorias automáticas" en general, como un suplemento a TDD/Unit Testing?

+0

¿Qué significa Exploratory Testing en QA? Parece que no está cerca de las Pruebas exploratorias con respecto a ISTQB/ISEB/IEEE/ISO. ¿No es una herramienta que está analizando su código y genera casos de prueba basados ​​en las reglas que ha implementado en él? Suena más parecido al sistema experto que a las pruebas exploratorias: http://en.wikipedia.org/wiki/Exploratory_testing. – yoosiba

+0

@yoosiba "Prueba Exploratoria Automatizada" fue fraseología directamente de MS (http://channel9.msdn.com/posts/briankel/Pex-Automated-Exploratory-Testing-for-NET/).Parece que se han alejado de esa terminología desde entonces. –

Respuesta

12

Creo que Pex es una herramienta de prueba exploratoria realmente intrigante. En ese sentido, lo veo como algo que quisiera transferir a QA para usar.

Como una herramienta TDD, necesita algo de trabajo, ya que TDD es una actividad de diseño. Sin embargo, me gusta la dirección en la que se dirige Peli. Hay algo que decir sobre el diseño asistido automatizado. Por ejemplo, solo porque TDD es una herramienta de diseño, no hay ninguna razón por la cual no pueda tener una herramienta automatizada que indique posibles casos extremos mientras estoy diseñando, ¿verdad? Desarrolla la calidad desde el principio.

Echa un vistazo a esta publicación en la que Peli usa Pex en un flujo de trabajo de estilo TDD. http://blog.dotnetwiki.org/TDDingABinaryHeapWithPexPart1.aspx

+0

es tdd * realmente * ¿una actividad de diseño? No creo haber visto a nadie dejar que TDD tome decisiones de diseño para ellos. Diseñan de forma independiente y usan TDD para desarrollar código. –

+0

Estoy tratando de mejorar en mi TDD y descubro que TDD realmente es una actividad de diseño, liderando el diseño más que el código real en sí – Calanus

14

Pex deja su escritura parametrizado pruebas de unidad. En ese sentido, encaja totalmente en el flujo de prueba de TDD/unidad: escriba la prueba, haga que Pex lo "explore", encuentre algunas pruebas que no funcionan, corrija el código, etc.

La gran ventaja es que puede expresar sus pruebas para clases de entradas, no solo un par de valores codificados. Esto le da más expresividad a las pruebas de escritura y también obliga a pensar en la constante/expectativa de que su código debe cumplirse (es decir, es más difícil escribir afirmaciones).

+0

Edité la descripción para señalar una posible superposición, quería obtener retroalimentación sobre cuánto de sus pruebas unitarias TDDer que usan Pex fueron capaces de parametrizar. Además, me gustaría saber las desventajas y las ventajas. –

5

Estoy realmente entusiasmado con Pex. Proporcionará pruebas para casos de edege que nunca soñará, especialmente si su equipo es pequeño y la persona que escribe los métodos es la misma persona que escribe las pruebas.

También proporcionará las obligaciones contractuales que sus métodos obedecerán.

6

Si busca literatura sobre cómo escribir Teorías (google David Saff) - que son una forma más general de escribir pruebas unitarias, y usar Pex como un teórico explorador, he encontrado un cambio radical en la productividad desde mi experiencia hasta ahora . Acabo de escribir una publicación en el blog que detalla mis experiencias de Pex en TDD, aquí: http://taumuon-jabuka.blogspot.com/2009/01/theory-driven-development-using_11.html

y como dije, ¡lo veo como TDD con esteroides! De ninguna manera reemplaza a TDD, pero mejora la actividad.

+0

esta es la forma en que me siento al respecto en este momento, pero estoy tratando de entender por qué Pex no parece ser masivo – roundcrisis

3

El desarrollo de prueba primero le hace estructurar su código para la capacidad de prueba. En este sentido, Pex encuentra caminos inteligentes y torpes a través de su código, ayudando más allá de simples métricas de cobertura.

El gran forte de Pex con Moles es permitir el seguimiento de los efectos secundarios al hacer el desarrollo de Brownfield: ejecute Pex una vez y guarde las salidas, luego aplique cambios de código y ejecute Pex nuevamente para ver qué se rompió.

Cuestiones relacionadas