目录 |
流程引擎作为一个底层支撑平台,它是为提供流程处理的开发而设计的,因此可以通过上层应用来检验流程引擎的正确性。
一个流程引擎包括很多模块,其内核主要是流程加载、流程执行和数据同步,提高流程引擎的性能,就必须提高流程引擎执行内核的效率,让流程的执行环境在内存中进行,所以架构中引入了缓存部分,设计专门的流程加载模块可以将配置数据向缓存中加载,同时还设计专门的数据同步模块能将缓存中执行结束的流程实例同步到持久层(数据库或文件),而流程引擎的使用者通过接口调用流程执行的时候只会在缓存中进行,故而能提高流程引擎的性能。高效流程引擎总体架构图如图1所示。
流程引擎执行失败常是是由于系统产生的各种异常导致的,因此系统采用了日志处理方式来处理各种异常。系统在流程引擎实际的工作过程中流程引擎根据流程模型和流程实例的状态,进行工作流实例的推进时,为了能够跟踪流程失败的原因采用了日志处理方式。通过在数据库中记录下流程执行过程的日志状态,从而达到使流程能够恢复到失败前的最近一致状态,并从这个状态开始,继续推进工作流实例的完成,做到了前向队复,从而将工作流失败的影响减少到最低程度,提高了工作流在失败情况下的可靠性,避免了有效工作的损失,保证了工作流系统运行的可靠性。
测试流程引擎实现测试过程中测试流程的管理。在测试方案确定后,流程引擎自动调用相应的测试程序,并负责控制测试进程中的逻辑关系,监控相关的状态信息,向管理引擎汇报有关信息等。它所涉及的数据库模型包括:
1、被测对象属性模型,提供了被测对象的测试流程的相关信息,从而能够提供当前的测试节点状态及相关信息。
2、被测对象测试项目模型,它描述每个测试对象的性能测试项目的内容,以及测试项目间的逻辑关系,用户可以根据引擎所提供的测试项目的模型灵活定义自己的测试方案,测试流程引擎获取测试方案后,通过调度相应的测试项目子程序进行测试,并根据测试逻辑自动实现对测试流程的运行控制。
3、被测对象测试工序模型,该模型描述被测对象每个性能的详细测试工艺。在测试执行中,所有的测试参数、逻辑状态、范围等都存储在数据库的工序模型中,每个单独的性能测试项目本身是独立的,它通过测试流程引擎和数据库产生数据交换。也就是说,测试流程引擎在进行某项性能测试时,读取相应的被测对象模型信息并发送给测试进程,并将测试进程的测试数据存储到数据库中。这样有利于测试程序的开发、调试和维护。测试流程引擎吸取了以往的基于数据库的测试系统的优点,如系统模块化程度高等,增强了灵活性和易维护性,并从测试流程和软件实现上解决了数据库读取较慢和测试执行速度之间的矛盾。
4、原统信息模型,在测试中,有时需要对一些状态参数进行监控和管理。这个模型描述了系统的某些和测试进程相关的状态。