Pregunta

¿Cuál es el punto de utilizar las pruebas de integración Fit / FitNesse en lugar de estilo xUnit? Que tiene una sintaxis muy extraño y muy claro en mi opinión.

¿Es realmente sólo para que los dueños del producto escriben pruebas? No lo harán! Es demasiado complicado para ellos. Entonces, ¿por qué alguien Montar / FitNesse?

Actualizar Así que es totalmente adecuado para las pruebas en reglas de negocio única?

¿Fue útil?

Solución

El punto es trabajar no programadores, la gente a menudo incluso completamente no técnicos como usuarios de la perspectiva de una aplicación empresarial, en qué aplicación debe hacer y luego ponerlo en pruebas. Al hacer pruebas de trabajo es sin duda demasiado complicado para ellos, deben ser capaces de discutir las tablas de datos de la muestra en, por ejemplo rellenado Palabra. Y lo mejor es que, a diferencia de las especificaciones tradicionales, esos documentos viven con su aplicación, ya que las pruebas automatizadas le obligan a actualizarlos.

Introducción Para caber y ajuste de flujo de trabajo por James Shore y seguir los vínculos con el resto de la documentación si lo desea.


Actualización: depende de lo que entendemos por reglas de negocio? ;-) Algunas personas lo entenderían por muy poco (como en los motores de reglas de negocio, etc.), otros --- muy ampliamente.

A mi entender, el ajuste es una herramienta que le permite escribir negocio (como en el dominio) Los casos de uso con ejemplos realistas ricos en un documento, que los usuarios finales o los expertos de dominio (en algunos dominios) puedan entender, verificar y discute. Al mismo tiempo, estos ejemplos están en forma legible por máquina para que puedan ser utilizados para conducir las pruebas automatizadas, usted ni escribir el documento en su totalidad por sí mismo, ni requre que lo hagan. En su lugar se trata de un producto de callaboration y la discusión que refleja la creciente comprensión de qué aplicación se va a hacer, en ambos lados. Los ejemplos se hacen más ricos a medida que avanza y se resuelven más casos de esquina.

¿Qué aplicación va a hacer, no cómo, es importante. Es una forma de especificación funcional. Como tal, es bastante amplia y no es realmente organizado por módulos, sino más bien escenarios de uso.

Las pruebas que salen de ejemplos pondrá a prueba el comportamiento externo de aplicación en aspectos importantes desde el punto de vista empresarial. Sí, es posible llamarlo reglas de negocio. Pero veamos ejemplo de la puntuación de crédito de Diego Jancic, sólo con un pequeño giro. ¿Qué pasa si parte de ajuste documento es 1) lista de atributos y sus puntuaciones y luego 2) que proporcionan los datos del cliente y comprobación de resultados, a continuación, que son las reglas de negocio reales: tabla de puntuación (atributos y sus puntuaciones) o lógica de la aplicación informática la puntuación para cada cliente (basado en la tabla de puntuación)? Y que están probados?

pruebas de ajuste / FitNesse parecen más adecuados para las pruebas de aceptación. Otras pruebas (cuando no se preocupan por la cooperación con los clientes, usuarios, expertos de dominio, etc., lo que desea para automatizar las pruebas), probablemente será más fácil de escribir y mantener en formas más tradicionales. xUnit es agradable para las pruebas unitarias y pruebas de api. Cada marco de la tela debe tener alguna herramienta para las pruebas de aplicación web / servicio integrado en su ciclo de modificación-desarrollo-prueba-despliegue, por ejemplo. Django tiene su pequeño cliente de prueba. Tienes mucho para elegir.

Y siempre se puede escribir su propia herramienta (o preferiblemente ajustar algunas existente) para mejor (destinado juego de palabras) en forma alguna prueba de su dominio particular de interés.


Uno más pensamiento general. Es a menudo (no siempre !!!) mejor para codificar sus pruebas, "reglas de negocio" y casi cualquier cosa, en alguna forma de datos bien definidos que es interpretado por algunos pieza simple y genérico de código. Entonces es fácil de utilizar los datos de alguna otra manera: generar la documentación, migrar al nuevo marco de pruebas, la aplicación de puerto al nuevo entorno / lenguaje de programación, utilizar para comprobar la conformidad con unas reglas externas u otro sistema (sólo tiene que utilizar su imaginación). Es mucho más difícil para tirar de dicha información a cabo a partir del código, por ejemplo. simples pruebas unitarias codificados o reglas de negocio.

tiendas de ajuste de prueba casos como datos. En formato muy específico debido a cómo está destinado a ser utilizado, pero aún así. Sus pruebas específicas de dominio pueden utilizar diferentes formatos como CSV sencilla, JSON o YAML.

Otros consejos

La idea es que usted (el programador) define un formato fácil de entender, como por ejemplo una hoja de Excel. Entonces, el dueño del producto entra en la información que es difícil de entender para la gente que no está en el negocio ... y que acaba de validar que el código funciona como el PO espera correr Fit. La forma utilizada en xUnit, se puede utilizar para los programadores como una entrada para la información fácil de entender o simple. Si usted va a necesitar para entrar en una gran cantidad de ejemplos extraños con varios campos en la prueba xUnit, se convirtió en difícil de leer.

Imagine un caso en el que tiene que decidir si va a dar un préstamo a un cliente, en base a la edad, Casado / individual, la cantidad de niños, de salarios, de actividad, ... Como programador, no se puede escribir esa información; y un gestor de riesgos no puede escribir una prueba xUnit.

Ayuda a reducir la redundancia en la regresión y la prueba de errores. Construir repositorio manejable de casos de prueba. Es como la acumulación de una vez para siempre utilizar.

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