本发明专利技术公开了一种流程测试方法及装置,该方法包括:确定待进行流程测试的软件数据包的流程属性;按照所述流程属性创建所述软件数据包对应的流程图;按照创建的流程图对所述软件数据包进行流程测试。用于提升软件数据包在进行流程测试的覆盖率和效率。
A process test method and device
【技术实现步骤摘要】
一种流程测试方法及装置
本专利技术涉及计算机软件测试
,尤其是涉及一种流程测试方法及装置。
技术介绍
在软件测试领域中,对软件包进行流程测试时,一般通过场景法实现,即测试人员手动画出待测软件包的流程图,然后将整个流程图分别划分为若干个线性流程分支,每个流程分支作为一个测试用例,对应每个测试用例,采用手动或编写测试脚本的方式完成线性流程的执行。然后通过测试脚本测试该待测软件包。其中,在流程测试方法中,流程节点,是指流程测试过程中的一个步骤。线性流程是指所有流程步骤首尾相连,不存在分支的流程。流程分支,是指从流程开始节点至结束节点的一条完整的执行路径。通常情况下采用人工的方式进行流程测试,如果业务场景比较简单,对应的流程也比较简单,测试用例相对来说也较少,则通过人工的方式很容易实现,但是,针对复杂业务场景的软件包进行流程测试时,如果仍旧采用人工的方式实现,则工作量比较大、容易遗漏,影响流程测试的覆盖率和效率。
技术实现思路
本专利技术提供了一种流程测试方法及装置,用于提升软件数据包在进行流程测试时覆盖率和效率。一种流程测试方法,包括:确定待进行流程测试的软件数据包的流程属性;按照所述流程属性创建所述软件数据包对应的流程图;按照创建的流程图对所述软件数据包进行流程测试。一种流程测试装置,包括:确定模块,用于确定待进行流程测试的软件数据包的流程属性;处理模块,用于按照所述流程属性创建所述软件数据包对应的流程图;执行模块,用于按照创建的流程图对所述软件数据包进行流程测试。通过采用上述技术方案,针对待进行流程测试的软件数据包,确定软件数据包的流程属性,按照流程属性创建软件数据包对应的流程图,按照创建的流程图对软件数据包进行流程测试,从而解决通常情况下人工测试软件数据包时,覆盖率低下,效率不高的问题。附图说明图1为本专利技术实施例中提出的流程测试方法流程图;图2为本专利技术实施例中提出的待测软件数据包对应的流程图的示例;图3为本专利技术实施例中提出的调试分支示意图;图4为本专利技术实施例中提出的流程分支确定方法流程图;图5为本专利技术实施例中提出的调试结果查看示意图;图6~图11e为本专利技术实施例中提出的流程节点设置示意图;图12为本专利技术实施例提出的流程测试装置结构组成示意图。具体实施方式针对通常情况下,进行针对软件数据包进行流程测试时,如果仍旧采用人工的方式实现,则工作量比较大、容易遗漏,影响流程测试的覆盖率和效率的问题,本专利技术实施例提出的一种技术方案,针对待进行流程测试的软件数据包,按照流程属性创建软件数据包对应的流程图,并按照创建的流程图对软件数据包进行流程测试,从而实现在获得软件数据包的流程属性之后,自动建立软件数据包对应的流程,并按照创建的流程自动进行测试,从而解决采用人工的方式实现,则工作量比较大、容易遗漏,影响流程测试的覆盖率和效率的问题。在本专利技术实施例提出的流程测试方法技术方案中,该测试方法可以基于浏览器(Web)实现,该种实现方式不需要进行插件安装,节省存储空间。也可以基于业务应用客户端实现。该种实现方式需要安装该客户端,运行速度比较快。下面将结合各个附图对本专利技术实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细地阐述。本专利技术实施例提出一种流程测试方法,如图1所示,其具体处理流程如下述:步骤11,针对待进行流程测试软件数据包,确定该软件数据包的流程属性。其中,软件数据包的流程属性可以包含流程节点之间的执行顺序、流程节点之间的有向边连接等。在本专利技术实施例提出的技术方案中,有向边表示流程节点与其连接的下一个流程节点之间的连接关系。步骤12,创建该软件数据包对应的流程图。在本专利技术实施例提出的技术方案中,在按照流程属性创建该软件数据包对应的流程图时,约束只能有一个开始流程节点,和至少一个结束流程节点。具体实施中,按照流程属性创建该软件数据包对应的流程的具体实施方式如下述:步骤一:针对待测的软件数据包,可以根据该软件数据包对应的实际业务创建流程图。按照流程属性创建流程,添加各类流程节点。在创建流程图时,可以将图的存储格式设置为XML,界面为通过JavaScript实现,服务端采用Web轻量级框架Spring/SpringMVC/MyBatis实现。基于Web方式实现时,如果业务流程发生变化,可以通过展示的用户界面直接对流程图进行直观的维护,测试逻辑包含在流程图中,维护流程图也同时修改了测试过程,相对于纯脚本的流程测试方式可以较好地降低维护工作量。其次,在创建流程时,可以基于Web方式向测试人员提供编辑界面,测试人员在该编辑界面中可以对流程节点实现下述编辑:a)按住流程节点可以拖动。b)鼠标在流程节点上悬停,出现流程节点中心位置以及描述内容。c)鼠标点选流程节点后,按键盘上下左右键可微调流程节点的位置。d)双击流程节点可以弹出该流程节点的属性界面。e)鼠标点选流程节点后,点Del键可删除当前流程节点。f)右键按住某流程节点拖动到另外流程节点松开,实现流程节点之间的连线功能。g)双击判断流程节点后的连线,弹出判断结果编辑界面。h)鼠标点选连线后,点Del键可删除当前连线。i)按住Ctrl键同时滚动鼠标滚轮,可放大缩小当前界面。举一例进行详细阐述,假设当前待进行测试的软件数据包实现的流程为页面登录功能,如图2所示,测试人员根据流程属性,在界面中做出流程图。在本专利技术实施例提出的技术方案中,对于基于超文本传输协议(Hypertexttransferprotocol,HTTP)交互的流程也可通过本专利技术的代理程序录制客户端与服务端的交互过程报文,导入流程编辑界面,对录制的流程进行进一步强化,如合并、拷贝流程、拷贝流程节点等。在本专利技术实施例提出的技术方案中,具体实施时,可以采用面向对象的编程思想,前端采用Javascript语言对流程图进行渲染,后端采用Java语言解析并存储,在模型类中分为流程节点(Node)和线(Line),相应操作类为FlowHelper,画图类为DrawHelper,监听操作事件为FlowListener类。步骤二:编辑每个流程节点。在上述步骤二中,首先针对每一流程节点,确定流程节点的节点属性。节点属性是指流程节点在由流程节点构成的流程图中所包含的变量数据。节点属性可以包含流程变量、当前步骤前置变量以及当前步骤后置变量。其中流程变量中包含软件数据包对应的流程分支中的全局变量数据,当前步骤是遍历过程中执行的当前流程节点,当前步骤前置变量中包含当前步骤中使用的局部变量数据,当前步骤后置变量中包含执行当前步骤中的后一步骤的数据,当前步骤是执行当前流程节点的步骤。在上述步骤二中,其次,针对流程节点设置符合流程测试过程中的设定协议的请求消息。再次,将流程节点、流程变量、当前步骤前置变量、当前步骤后置变量和请求消息对应存储。下面以一具体实例进行详细阐述编辑每个流程节点的节点属性具体实施方式。1)获取初始化脚本、清理脚本。其中,初始化脚本是用于设置步骤初始化状态的脚本,清理脚本是步骤执行后清理环境的脚本。可以由测试人员导入,也可以是在预先存储在脚本数据库中获取。2)设置流程变量、当前步骤前置变量和当前步骤后置变量。在设置上述各变量的同时也设置了获取变量的类型、获取动态值的方法,支持从数据库、文件、HT本文档来自技高网...
【技术保护点】
一种流程测试方法,其特征在于,包括:确定待进行流程测试的软件数据包的流程属性;按照所述流程属性创建所述软件数据包对应的流程图;按照创建的流程图对所述软件数据包进行流程测试。
【技术特征摘要】
1.一种流程测试方法,其特征在于,包括:确定待进行流程测试的软件数据包的流程属性;按照所述流程属性创建所述软件数据包对应的流程图;按照创建的流程图对所述软件数据包进行流程测试。2.如权利要求1所述的方法,其特征在于,按照所述流程属性创建所述软件数据包对应的流程图,包括:按照流程属性,确定所述软件数据包对应的流程节点,所述流程节点包含一个开始流程节点、和至少一个结束流程节点,其中所述开始流程节点是没有其它流程分支流入的节点,所述结束流程节点是没有其它流程分支流出的节点;从开始流程节点起始,结束流程节点为止,遍历确定出的各流程节点,形成所述软件数据包对应的包含符合设定规则的至少一条流程分支的流程图。3.如权利要求2所述的方法,其特征在于,从开始流程节点起始,结束流程节点为止,遍历确定出的各流程节点,形成所述软件数据包对应的包含符合设定规则的至少一条流程分支的流程图,包括:从开始流程节点的有向边开始,按照递归方法,对各流程节点的有向边进行遍历,直到得到所述软件数据包对应的包含符合设定规则的至少一条流程分支的流程图;其中,所述有向边表示流程节点与其连接的下一个流程节点之间的连接关系。4.如权利要求3所述的方法,其特征在于,从开始流程节点的有向边开始,按照递归方法,对各流程节点的有向边进行遍历,直到得到所述软件数据包对应的包含符合设定规则的至少一条流程分支的流程图,包括:从开始流程节点的有向边开始,对当前遍历到的流程节点的有向边进行遍历,将当前遍历到的有向边作为当前操作有向边,判断当前操作有向边连接的下一流程节点是否为结束流程节点,若是,则所述开始流程节点至所述当前流程节点之间的路径作为一条流程分支,其中所述路径包含开始流程节点至结束流程节点之间遍历到的所有流程节点及其有向边;将确定出的流程分支加入到用于存储路程分支的流程分支结果列表中;将当前操作有向边的遍历次数减1;判断当前遍历到的流程节点是否还有未遍历到的有向边,如果有,则返回以当前遍历到的流程节点的有向边作为当前操作有向边的步骤;如果没有,则回溯到当前遍历到的流程节点的上一级流程节点,判断上一级流程节点是否还有未遍历到的有向边,如果有,则将上一级流程节点作为当前遍历到的流程节点,返回所述对当前遍历到的流程节点的有向边进行遍历的步骤。5.如权利要求4所述的方法,其特征在于,还包括:在判断出当前操作有向边连接的下一流程节点不是结束流程节点时,将遍历到的各流程节点之间的路径作为一条待确定的流程分支缓存,并获取当前操作有向边连接的下一流程节点的有向边中访问次数最少的有向边;将所述访问次数最少的有向边加入到待确定的流程分支中;并将所述访问次数最少的...
【专利技术属性】
技术研发人员:崔文建,孔计,
申请(专利权)人:高德软件有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。