Actualmente estoy trabajando en un gran proyecto de BPM en el trabajo que utiliza el conjunto de herramientas Global 360 BPM llamado Process 360. Solo para dar algunos antecedentes; Este producto funciona como muchas otras soluciones de BPM, ya que diseña múltiples "mapas de procesos" que definen el flujo de un proceso comercial particular que está tratando de modelar, y cada mapa de proceso consiste en múltiples nodos de tareas conectados que realizan funciones particulares (llamando a servicios web, etc.).¿Las pruebas unitarias son adecuadas para el desarrollo de BPM?
Actualmente estamos experimentando algunos problemas bastante serios durante las fases de control de calidad de nuestras versiones porque el conjunto de herramientas no proporciona ninguna forma de automatizar las pruebas de las rutas del mapa de procesos. Entonces, cuando un proceso grande y complejo se desarrolla y se entrega a nuestro equipo de prueba, a menudo surgen una gran cantidad de problemas. Aunque obviamente esperaría algunos problemas de en QA, no puedo evitar la sensación de que muchos de los errores 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 prueban las diversas rutas en el (los) mapa (s) de proceso.
Por el momento, la única prueba de desarrollo real que se produce es más similar a las pruebas funcionales realizadas por los desarrolladores, que está documentado como un conjunto de pasos manuales por caso de prueba. El problema con este enfoque es que lleva mucho tiempo que los desarrolladores se ejecuten manualmente y, debido a esto, también es relativamente propenso a errores. También; Debido a que usualmente tenemos un cronograma bastante apretado, las pruebas a menudo no se ejecutan con la suficiente frecuencia como para detectar problemas con anticipación.
Como mencioné anteriormente; no hay una manera provista por el conjunto de herramientas actual para realizar este tipo de prueba automatizada. ¿Qué me hizo pensar por qué? Al ser muy nuevo en toda la escena BPM, asumí que esta era solo una característica que faltaba en el producto, pero también me pregunto si las "pruebas unitarias" simplemente no se hacen en el mundo BPM tradicionalmente. Tal vez simplemente no se adapta bien a este tipo de trabajo?
Me interesaría saber si alguien más se ha encontrado con este tipo de problemas, y también lo que, en todo caso, se puede hacer para mejorar las cosas.