Pregunta

Actualmente estoy trabajando en un gran proyecto BPM que utiliza el conjunto de herramientas Global 360 BPM llamado Process 360.Sólo para dar algunos antecedentes;Este producto funciona como muchas otras soluciones BPM en el sentido de que diseña múltiples "mapas de procesos" que definen el flujo de un proceso de negocio particular que intenta modelar, y cada mapa de procesos consta de múltiples nodos de tareas conectados entre sí que realizan funciones particulares. (llamadas a servicios web, etc.).

Actualmente estamos experimentando algunos problemas bastante serios durante las fases de control de calidad de nuestros lanzamientos porque el conjunto de herramientas no proporciona ninguna forma de automatizar las pruebas de las rutas del mapa de procesos.Por eso, cuando se desarrolla y se entrega a nuestro equipo de pruebas un proceso grande y complejo, a menudo surgen una gran cantidad de problemas.Aunque obviamente esperarías alguno problemas que surgen del control de calidad, no puedo evitar la sensación de que muchos de los errores, etc., podrían haberse detectado durante el desarrollo si tuviéramos algún tipo de marco de prueba automatizado que pudiéramos usar para crear un conjunto de pruebas unitarias que demostraran las diversas rutas en el mapa de procesos.

Por el momento, las únicas pruebas de desarrollo reales que se realizan son más parecidas a las pruebas funcionales realizadas por los desarrolladores, que se documentan como un conjunto de pasos manuales por caso de prueba.El problema con este enfoque es que a los desarrolladores les lleva mucho tiempo ejecutarlo manualmente y, debido a esto, también es relativamente propenso a errores.También;Debido a que normalmente tenemos una agenda bastante apretada, las pruebas a menudo no se ejecutan con la frecuencia suficiente para detectar problemas a tiempo.

Como ya mencioné antes;El conjunto de herramientas actual no proporciona una manera de realizar este tipo de pruebas automatizadas.Lo que realmente me hizo pensar ¿por qué?Siendo muy nuevo en toda la escena BPM, supuse que esto era simplemente una característica que faltaba en el producto, pero también me pregunto si las "pruebas unitarias" no se realizan tradicionalmente en el mundo BPM.¿Quizás simplemente no se adapta bien a este tipo de trabajo?

Me interesaría saber si alguien más se ha encontrado alguna vez con este tipo de problemas y también qué se puede hacer (si es que se puede hacer algo) para mejorar las cosas.

¿Fue útil?

Solución

Hice pruebas "unitarias" con K2.net 2003, otro BPM comercial.Realmente llamaría a esto prueba de integración, porque requiere un servidor de prueba y es relativamente lento.Sin embargo, está automatizado.

Hay una buena discusión sobre esto en el libro. Profesional K2 perla negra (también se aplica a K2.net 2003).

Para poder aplicarlo a su plataforma, el conjunto de herramientas debe tener una API que permita iniciar instancias de procesos, obtener elementos de trabajo, completar elementos de trabajo, etc.Escribe pruebas usando cualquier lenguaje compatible (usé C#) y un marco de prueba (usé NUnit).Si la API admite llamadas sincrónicas, esto es más fácil de hacer.Para cada prueba:

  1. Iniciar el proceso bajo prueba
  2. Progresar el elemento de trabajo a un punto de decisión
  3. Establecer los datos de la instancia del proceso adecuadamente
  4. Completar el elemento de trabajo
  5. Afirmar que el elemento de trabajo se encuentra ahora en la actividad esperada
  6. Eliminar o completar la instancia del proceso

Las clases de prueba base o los métodos auxiliares pueden facilitar esto.Incluso podrías escribir un ADSL para probar mapas.

Básicamente, desea una "cobertura de prueba" completa del proceso/mapa: pruebe cada punto de decisión y asegúrese de que se tome la rama correcta.

Otros consejos

he visto algo de eso, aunque no relacionados con Global 360: usando bpelunit para procesos de prueba

I desarrollar una herramienta de flujo de trabajo y hay una mayor demanda de apertura de los instrumentos de medida utilizados para la prueba, el motor a los usuarios finales.

Hay dos aspectos de BPM que están relacionados aún no idénticos.

No es que los proveedores de herramientas de BPM y tecnología abogan por que es todo acerca de las características.

También hay que BPM Enterprise Architects defensor de los cuales tiene que ver con el establecimiento de centros de excelencia.

El primer caso es cuando una empresa compra un cierto software.

Este último es donde una empresa realiza cambios sistémicos e inherentes al comportamiento de sus trabajadores de TI.

El anterior se supone que debe estar al servicio de este último pero eso no es necesariamente así. La adquisición de los primeros es necesaria pero no suficiente para la consecución de este último.

No sé lo bien que Global 360 apoyos lo que se conoce como Test Driven Desarrollo pero JBoss jBPM proporciona algunas herramienta apoyo para escribir fácilmente las pruebas JUnit.

Sin embargo, la herramienta no puede y no obligará a los desarrolladores a escribir ellos o para abrazar los principios de TDD.

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