鲸品堂|低代码平台之流程自动化测试

2023-07-10 976

随着低代码平台的快速发展,开发人员可以便捷、快速地开发流程应用程序,由于业务流程的复杂化和业务需求的不断变化,对业务流程进行优化和改进将更加频繁,在这个过程中,就要求企业的流程测试的效率和质量需要跟上低代码流程开发的速度和变化频率,能让测试人员快速发现流程中的问题,使开发人员及时进行调整和优化,帮助企业更快速、更准确地进行流程测试,提高业务流程配置的效率和质量。


如何不依赖测试脚本,而是通过低代码平台自身的能力实现用例的自动生成;如何在流程发生变化时,能智能的完成用例的自动调整,是实现流程平台自动化测试的关键问题。


现有的通用自动化测试通常采用测试脚本编写的技术方案,测试脚本用于模拟用户在应用程序中执行的操作,以验证应用程序的功能和性能,测试脚本往往需要依赖人工编写,功能发生变化也需要人工修改用例,难点如下:


编写门槛高:测试脚本编写需要专业的技能和知识,需要具备编程语言的基础知识和熟练的编写技能,对于非技术人员可能难以掌握。


编写成本高:编写自动化测试脚本需要投入大量的时间和精力,需要进行测试场景分析、测试脚本编写、调试等多个环节,编写过程繁琐。


维护成本高:随着应用程序的版本升级、业务需求变化等原因,尤其是在业务流程变化频繁的情况下,测试用例需要不断地修改和调整,需要投入更多的时间和精力,耗费大量的时间和精力。


特别是在流程平台中,流程验证更加复杂,流程建设阶段需要对表单、网关、审批权限配置的准确性做一次验证,复杂的流程需要频繁切换配置态与运行态、频繁切换工号,需要编写大量的用例数据,复杂流程场景测试数据多,更新应用经常需要做流程回归测试,重复工作多,费时费力。


浩鲸灵犀开发平台是浩鲸科技自主研发的低码平台,本文以灵犀平台为基础介绍低代码平台的流程自动化测试,包括流程健壮性测试用例自动生成,辅助批量生成业务流程场景测试用例,模拟多用户登录和模拟录入表单数据,驱动流程自动流转,判断是否符合预期;提供完整工具和方法支持,包含用例自动生成、分配测试用例、测试计划、执行测试计划、自动生成测试报告等;通过测试计划来批量执行,降低测试成本,提高业务加载上线效率。

图片关键词

流程平台的自动化测试,将流程平台测试用例的编排过程自动化、可视化,当流程发生变化时,能自动调整对应的测试用例,提高测试用例编排的效率和准确性。自动测试的过程包括以下步骤:


步骤1:自动创建流程健壮性测试用例,用于验证流程平台本身功能的正确性,这类的测试用例完全由系统自动生成;


步骤2:遍历流程所有可能流向,自动生成流程的所有测试路径,生成业务场景测试用例初稿,用于验证流程流转的业务正确性。


步骤3:上述步骤生成的用例中,流程流转的关键业务数据还需要人工填写,如报销审批过程中需要判断费用的阈值分配给不同层级的领导审批,这里的费用为关键业务数据,需要人工填写,完善测试用例。


步骤4:配置测试计划,关联上述步骤生成的业务场景测试用例和健壮性测试用例,配置自动执行的计划。


步骤5:自动执行测试计划。


步骤6:自动生成测试报告。


步骤7:通过流程变化的自动监测,自动识别需要调整的测试用例、影响范围以及差异内容,自动调整对应的测试用例。


在对以上步骤详细说明之前,先约定几个概念:


“场景”:流程的每种可能的分支走向为一个场景。


“预置场景”:流程在激活后会由后台计算流程的所有分支走向,每种分支走向都会各自生成一个预置场景,用来表示流程的每一种可能的走向。


“健壮性测试”:测试流程能正常发起且每个环节的流转都是正常的,用于验证流程平台本身功能的正确性。


“业务场景测试”:带上流程流转所需的关键业务数据的流程仿真业务场景测试。


“预置用例”:流程健壮性测试使用的测试用例,由后台模拟生成所有的表单数据。


“自定义用例”:流程业务场景测试使用的测试用例,由用户配置关键表单数据。


有了以上概念后,接下来看看下面这个流程图,是对前述步骤的展开,并阐述步骤之间的关联关系。


图片关键词



自动生成预置场景及健壮性测试


人工做流程测试,过程非常繁琐,主要体现在:


需要频繁的切换不同的测试账号,用于模拟不同的处理人对流程环节进行操作和处理;


需要测试流程的全部分支场景,测试的复杂度随着网关数量呈指数型增长,造成大量的繁琐和重复性操作;


现场版本升级时,需要先保证流程的贯通,再保证每一个流程分支场景的准确性,整个流程测试耗时过长。


以上问题最核心的一点是如何自动生成预置场景。而浩鲸灵犀开发平台的优势在于,其有自身的解析引擎和对应的DSL定义语言。如果能模拟解析引擎,去解析流程DSL,就能知道流程的整体和每个步骤,从而推导出流程的所有分支走向,每种可能的分支走向及其流程节点并自动保存,这样就实现了预置场景的自动生成。


现在来看费用报销这个简单审批流程的2个预置场景自动生成的效果,员工提了报销单后,先由项目经理审批,再由财务审批,财务审核通过就结束,财务审核不通过打回项目经理重新审核。自动生成的2个预置场景截图如下:

图片关键词图片关键词


点击右上角的“预流转”按钮,就能以动画的形式呈现流程流转的过程。以上就是健壮性测试的自动生成及可视化呈现。


健壮性测试的自动生成及自动流转,不带业务数据,主要是为了验证流程平台自身功能的正确性。可以在以下情况下使用健壮性测试:


新流程配置完成之后,用健壮性测试验证平台基础功能能否跑通;


版本升级后,对原有的流程做健壮性测试,验证流程引擎和原有流程配置的适配性。



业务场景测试及自定义用例快速生成


在传统的自动化测试中,需要配置不同业务场景的测试脚本,并频繁切换工号才能完成完整的业务场景测试,过程繁琐。


在浩鲸灵犀开发平台中,同样可以去解析流程平台的DSL,在预置场景的基础上,把关键业务数据解析出来。同时,提供可视化的自定义用例配置界面,就可以让流程配置人员快速的批量生成自定义用例。区别于预置用例的完全自动生成,自定义用例属于半自动生成。


哪些数据属于关键数据呢?经过对流程配置数据的分析,影响流程流转的核心数据是各类“网关”中配置的条件,把这些字段都从流程配置中解析出来。平台先自动生成自定义用例的初稿,包括流程和节点,然后提供人工填写这些关键字段的可视化界面,这些字段都完成填写后即可实现业务场景的自动流转测试。在自动流转测试中,使用了全角色匹配的方案,避免频繁切换工号。


图片关键词


如图所示,这个例子中,设计了一个营销活动策划和审批流程场景,当成本<500时,营销活动主管审批即可,当成本>=500时需要营销总监审批。在自动流程测试界面中,系统已经预生成了用例的流程流转图,操作者只要在界面中填上“营销活动成本”这个关键业务数据,整个用例就可以完成自动测试。



监测流程变化自动调整用例


当流程配置有变化时,通常的做法是,需要人工分析用例的影响面,再人工调整测试用例的配置,每个分支都要考虑充分,做起来复杂而且容易遗漏。


针对这个问题,浩鲸灵犀开发平台实现了流程版本变化的自动监测,同时,根据变化的内容自动调整测试用例。实现方案大致如下:


后台监测流程版本变化,当变化发生时,通知当前流程版本关联的测试用例自动进行一次适配新流程版本内容的测试用例调整。


当收到自动调整的通知请求后,获取新旧流程版本的定义,基于流程差异分析算法,将新旧流程版本的流程定义都转换为有向无环图,分别进行拓扑排序,得到节点的拓扑序列。按每个节点比较该节点的入度和出度是否相同,如果不同则标识为疑似差异节点。再分别计算每个疑似差异节点在新旧版本中的前驱节点和后继节点集合,并比较它们的差异。如果前驱节点集合或后继节点集合存在差异,则确定该节点存在差异。记录确认差异节点的位置和差异内容。


根据差异内容,程序自动对原有测试用例进行修改,生成新的测试用例。


对自动调整后的测试用例进行检查,包含流程测试路径可达性检查和流程数据完整性检查。如果检查通过,进行预执行检测,如果预执行成功,完成测试用例自动调整;如果自动调整后的测试用例检查不通过,或者预执行失败,设置测试用例失效,通知测试人员进行人工检查和维护,及时调整和优化,直到测试用例预执行成功,恢复生效状态。


综上所述,浩鲸灵犀开发平台提供了流程的健壮性自动化测试,由流程中心自动模拟表单数据,完成流程的全分支场景的贯通性测试;提供了流程的业务场景测试,由用户自定义各种分支场景的表单数据,再由流程中心完成流程的各种分支场景的准确性测试;还能自动监测流程版本的变化,自动调整测试用例。


官方微信公众号

浩鲸云计算科技股份有限公司 版权所有 2003-2023

苏ICP备10224443号-6       苏公网安备 32011402011374号