Unit testing 单元测试适合BPM开发吗?
我目前正在从事一个大型BPM项目,该项目使用名为Process 360的全球360 BPM工具集。只是提供一些背景;该产品的工作原理与许多其他BPM解决方案类似,因为您设计了多个“流程图”,用于定义您试图建模的特定业务流程的流程,每个流程图由多个连接在一起的任务节点组成,这些节点执行特定的功能(调用web服务等) 目前,我们在版本的QA阶段遇到了一些非常严重的问题,因为工具集没有提供任何方法来自动测试流程图路由。因此,当一个庞大而复杂的过程被开发并移交给我们的测试团队时,经常会出现大量的问题。虽然很明显,您会期望QA会出现一些问题,但我还是忍不住觉得,如果我们有某种自动化测试框架,我们可以使用它来构建一组单元测试,以证明流程图中的各种路线,那么在开发过程中可能会发现很多bug等 目前,唯一真正的开发测试更类似于由开发人员执行的功能测试,它被记录为每个测试用例的一组手动步骤。这种方法的问题是,开发人员手动运行非常耗时,因此也相对容易出错。也;因为我们的日程安排通常很紧,所以测试的执行频率往往不足以及早发现问题 如我刚才所说,;当前的工具集没有提供执行这种自动化测试的方法。这让我想为什么?作为整个BPM领域的新手,我的假设是,这只是产品中缺少的一个功能,但我还想知道“单元测试”是否在BPM世界中传统上不进行?也许它不适合这种工作Unit testing 单元测试适合BPM开发吗?,unit-testing,business-process-management,Unit Testing,Business Process Management,我目前正在从事一个大型BPM项目,该项目使用名为Process 360的全球360 BPM工具集。只是提供一些背景;该产品的工作原理与许多其他BPM解决方案类似,因为您设计了多个“流程图”,用于定义您试图建模的特定业务流程的流程,每个流程图由多个连接在一起的任务节点组成,这些节点执行特定的功能(调用web服务等) 目前,我们在版本的QA阶段遇到了一些非常严重的问题,因为工具集没有提供任何方法来自动测试流程图路由。因此,当一个庞大而复杂的过程被开发并移交给我们的测试团队时,经常会出现大量的问题。虽
我很想知道是否有其他人遇到过此类问题,以及可以做些什么(如果有的话)来改善情况。我看到了一些关于这方面的情况,尽管与全球360无关: 我开发了一个工作流工具,向最终用户开放用于测试引擎的测试工具的需求不断增加 我已经用K2.NET2003(另一种商业BPM)进行了“单元”测试。我真的称之为集成测试,因为它需要一个测试服务器,而且速度相对较慢。然而,它是自动化的 书中对此进行了很好的讨论(它也适用于K2.NET2003) 为了将其应用于您的平台,该工具集必须有一个允许启动流程实例、获取工作项、完成工作项等的API。您可以使用任何支持的语言(我使用C#)和测试框架(我使用NUnit)编写测试。如果API支持同步调用,则更容易实现。对于每个测试:
基本上,您需要流程/映射的完整“测试覆盖”——测试每个决策点,并确保采取了正确的分支。BPM有两个方面是相关的,但并不完全相同 工具和技术供应商提倡的BPM都是关于特性的 还有企业架构师提倡的BPM,其全部内容是建立卓越中心 前者是公司购买一些软件的地方 后者是指公司对其IT员工的行为进行系统性和固有的改变 前者应该为后者服务,但事实并非如此。获得前者是必要的,但不足以实现后者 我不知道Global360对所谓的测试驱动开发的支持有多好,但JBoss jBPM确实提供了一些用于轻松编写JUnit测试的工具 然而,该工具不能也不会强迫开发人员编写它们或接受TDD原则