2010-02-10 11 views
7

Como ya lo he entendido, hay un par de casos en los que es posible que desee utilizar FitNesse.FitNesse en lugar de NUnit

  • que quiere hacer las pruebas de aceptación en lugar de la unidad de pruebas.
  • Desea utilizarlo como una herramienta de comunicación con el titular de la participación.
  • Desea realizar pruebas a gran escala en lugar de pruebas granulares.
  • Desea que personas no técnicas escriban las pruebas.

Mi opinión personal y la experiencia es:

  • que pueda hacer las pruebas de aceptación mediante herramientas como NUnit. Fitnesse es básicamente solo un marco para llamar a los métodos públicos en un ensamblado .NET, que se puede hacer usando NUnit para.
  • Las partes interesadas me dicen lo que quieren. Rara vez les interesa escribir pruebas de Fitnesse. Parecen tener otras/mejores/cosas más importantes que hacer.
  • Puede realizar pruebas a gran escala con FitNesse. Por lo que sé, tendrías que ingresar todas las entradas para estas pruebas a gran escala en un editor de texto plano en un navegador web. ¿Cómo sería esto más fácil que leer los datos de entrada de un archivo de texto en el disco, o un archivo de Excel o una base de datos? Claro, podría especificar la ruta al archivo en el disco en la interfaz web, pero ¿qué beneficio le daría a esto usar NUnit para leer ese mismo archivo?
  • Estas personas no técnicos tienen que escribir el código siguiente una sintaxis muy específica en un editor de texto en una página web, la cual llamará NET más adelante. El código .NET se vuelve desordenado, ya que la persona no técnica no conoce la programación, pero todavía está especificando cómo debería funcionar el conjunto.

¿Alguien puede compartir otras opiniones sobre el tema? ¿Cómo te ha sido FitNesse valioso?

+0

Me parece extraño que alguien ha Favorecido esta pregunta, pero no upvote ella. ¿Es eso común en SO? –

+0

¿Hay algún tutorial sobre pruebas de aceptación de .NET/Fitnesse por cierto? – HichemSeeSharp

Respuesta

1

La respuesta típica de tu pregunta es

pruebas de "nivel superior (como la aceptación) son grandes hasta que encuentre el problema. En ese momento, si usted no tiene pruebas de unidad, entonces el único que sabe es que algo está roto - no específicamente lo se rompe o cuando la revisión debe ser aplicado ".

4

FitNesse está diseñado para un propósito completamente diferente que NUnit. Hacer las pruebas de aceptación con NUnit significa, ante todo, que todo el conjunto de pruebas debe escribirse en código. FitNesse está diseñado con la intención de que pueda, dado un cierto nivel de preparación, escribir sus pruebas en datos. Estos son modos de operación muy diferentes, y se aplican a recursos muy diferentes. También fomentan visiones muy diferentes del mundo: un diseñador de casos de prueba de FitNesse está trabajando en la suposición de que va a suceder una transformación muy simple y directa, mientras que un usuario de NUnit tiene un gran conocimiento sobre cómo funciona esa transformación y tiene ganchos. en el sistema que no tienen nada que ver con la transformación en sí.

Si no puede lograr que las partes interesadas escriban casos de uso y pruebas funcionales, entonces necesita un sustituto para esas partes interesadas, que es donde entra en juego un departamento de control de calidad tradicional. No tener un interesado para hacer esto no es Es una excusa para no hacerlo.

La ventaja de usar FitNesse para leer sus datos en un formato personalizado es bastante simple: es una forma estándar de ingresar casos de prueba.Si no ves el beneficio en eso, tal vez necesites pasar un tiempo yendo por el camino que describes, porque eventualmente vas a golpear algunas paredes y quizás te ayuden a entender.

8

Así que sí, se podría escribir pruebas de aceptación en nUnit, pero que pierde el punto. Fitnesse se supone que es una interfaz de usuario alternativa a su aplicación que expresa un flujo detallado de las afirmaciones:

El usuario hace esto El usuario hace que ahora el usuario ve esto

Lo ideal sería que la capa de fitness es capaz de sentarse directamente sobre el nivel superior de tu aplicación reemplazando la capa final de renderizado. herramientas de prueba

la unidad no están realmente diseñados para eso, ¿puede hacerlo? Por supuesto. Pero es extraño.

Otra cosa, en mi opinión, es que eres un poco fuera de la idea de que "Quieres que la gente no técnicos para escribir las pruebas". Fitnesse es una herramienta de colaboración. Debería escribir las pruebas CON las partes interesadas, dando y recibiendo comentarios. Entonces, tiene el beneficio de ser la documentación. Por lo que un año más tarde, cuando alguien quiere saber por qué el sistema funciona de la manera que lo hace, se puede tirar de las pruebas, que se muestran de una manera un BA puede comprender (a diferencia de nUnit) y decir bueno, aquí es, ¿hay que cambiarlo ?