unit-testing - test - tdd pdf
Usuarios de Pex: ¿cuáles son sus impresiones de Pex y las Pruebas exploratorias automáticas en general? (5)
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 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
Aquellos de ustedes que han usado Pex , ¿cuáles creen que son sus ventajas y desventajas de Pex como herramienta?
Además, ¿cuáles cree que son las ventajas y desventajas de las "Pruebas exploratorias automáticas" en general, como complemento de TDD / Unit Testing?
Pex te permite escribir tus pruebas de unidades parametrizadas . 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 para escribir pruebas y también obliga a pensar acerca de la constante / expectativa de que su código debe cumplirse (es decir, es más difícil escribir afirmaciones).
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 que la persona que escribe los exámenes.
También proporcionará obligaciones contractuales que obedecerán sus métodos.
Si buscas 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.
El desarrollo de prueba primero te hace estructurar tu 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 fuerte mayor 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ó.