c# - tipos - ¿Cuál es una excelente manera de realizar pruebas de integración?
pruebas unitarias funcionales (3)
Hemos escrito nuestro propio arnés de prueba de integración donde podemos escribir una serie de "operaciones" o pruebas, como "GenerateOrders". Tenemos una serie de parámetros que podemos usar para configurar las pruebas (como el número de pedidos). Luego escribimos una segunda operación para confirmar que la prueba ha pasado / Fallido (es decir, hay órdenes (nt)).
La herramienta se utiliza para
- Pruebas de integración
- Generación de datos
- Pruebas de extremo a extremo (mezclando y combinando varias pruebas)
Parece funcionar bien, sin embargo, requiere experiencia en desarrollo para mantener y escribir nuevas pruebas. Nuestro equipo de pruebas desea participar, quienes tienen poca experiencia en desarrollo de C #.
Estamos a punto de comenzar un nuevo proyecto Greenfield y estoy investigando la forma óptima de escribir y mantener las pruebas de integración.
Las preguntas son las siguientes:
- ¿Cómo se realizan las pruebas de integración?
- ¿Qué herramienta utilizas para ello (FitNess, Custom, NUnit)?
Espero con interés las sugerencias / comentarios de la gente.
Gracias por adelantado,
David
Las pruebas de integración se pueden realizar a nivel de interfaz de usuario (a través de pruebas funcionales automatizadas - AFT ) o nivel de interfaz de servicio / api.
Hay varias herramientas en ambos casos:
He trabajado en proyectos que usaron con éxito Sahi o Selenium para AFT de aplicaciones web, white para AFT para .NET WPF o swtBot , swtBot para AFT de Eclipse Rich client apps y frankenstein para AFT de Java swing apps.
Fitnesse es útil para pruebas de nivel de servicio / api o para pruebas que se ejecutan justo por debajo de la interfaz de usuario. Cuando se hace correctamente, tiene la ventaja de tener pruebas legibles para el negocio, es decir, los que no son desarrolladores pueden leer y comprender las pruebas. Las herramientas como NUnit son menos útiles para este propósito. SOAPUI es particularmente adecuado para probar servicios web SOAP.
Factores a considerar:
- Duración : ¿Puedes tolerar pruebas de 8 horas?
- Fragilidad : los AFT pueden ser bastante frágiles frente a una aplicación en evolución (por ejemplo, los ID y las posiciones de los widgets pueden cambiar). Se necesita habilidad y esfuerzo adecuados para no codificar las partes cambiantes.
- Fidelidad : ¿Qué tan cerca del mundo real quieres que sea? por ejemplo, es posible que tenga que simular interacciones con una pasarela de pago a menos que el proveedor le brinde un entorno de prueba que pueda golpear con sus pruebas.
Algunos matices son capturados here .
Revelación completa: el autor está asociado con la organización detrás de la mayoría (no todas) de las herramientas de código abierto y gratuitas anteriores.
Puede probar el marco de trabajo de Concordion para escribir pruebas de aceptación de usuario en archivos HTML. Se necesita un enfoque de estilo BDD. También hay un puerto .Net
Todavía no está fuera de Beta, pero StoryTeller parece prometedor: