CN113064811A - 基于工作流的自动化测试方法、装置以及电子设备 - Google Patents
基于工作流的自动化测试方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN113064811A CN113064811A CN202011560698.4A CN202011560698A CN113064811A CN 113064811 A CN113064811 A CN 113064811A CN 202011560698 A CN202011560698 A CN 202011560698A CN 113064811 A CN113064811 A CN 113064811A
- Authority
- CN
- China
- Prior art keywords
- workflow
- execution
- matching
- test
- elements
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 233
- 238000010586 diagram Methods 0.000 claims abstract description 75
- 238000000034 method Methods 0.000 claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims abstract description 33
- 238000004458 analytical method Methods 0.000 claims abstract description 32
- 238000012163 sequencing technique Methods 0.000 claims abstract description 12
- 238000010276 construction Methods 0.000 claims description 17
- 230000014509 gene expression Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 9
- 238000007689 inspection Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 5
- 238000007405 data analysis Methods 0.000 abstract description 2
- 238000013461 design Methods 0.000 abstract description 2
- 230000008859 change Effects 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 5
- 239000003086 colorant Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000010998 test method Methods 0.000 description 3
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 229910003460 diamond Inorganic materials 0.000 description 2
- 239000010432 diamond Substances 0.000 description 2
- 238000004141 dimensional analysis Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000012502 risk assessment Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本申请实施例提出了基于工作流的自动化测试方法、装置以及电子设备,包括获取执行过程中的工作流信息,基于工作流信息创建工作流图;对工作流图进行解析,将解析得到的工作流元素与系统预设规则库进行匹配,按工作流元素在工作流图中的顺序对匹配结果进行排序,基于预设的编写规则对排序结果进行处理,构建工作流自动化测试用例;提取工作自动化测试用例中的关键字和执行语句,生成工作流自动测试脚本;执行工作流自动测试脚本,得到测试结果。通过利用技术实现工作流图示的信息获取,生成工作流自动化测试用例。通过自动化测试执行数据分析,针对性优化的现有工作流测试设计,提升自动化测试用例执行效率,促进工作流自动化测试效率和质量提升。
Description
技术领域
本发明属于软件测试领域,尤其涉及基于工作流的自动化测试方法、装置以及电子设备。
背景技术
随着技术的发展和创新,软件产品需要不断的更新升级和调整来满足客户的需要,每次升级后都需要通过测试手段验证质量是否达到标准。因工作流程的复杂性,通常会先实现各模块的自动化测试,然后通过人为组装集成模块的自动化测试形成工作流的自动化测试。
当软件版本升级后,原有的自动化测试用例需要人为调整才能实现工作流自动化测试,但是人工的方式容易出错而且执行效率很低。当软件和网站有工作流有大调整的时候,重新构建自动化测试的方式则不够灵活,重新构建自动化测试的方式无法适应不同版本的流程自动化测试。
发明内容
为了解决现有技术中存在的缺点和不足,本发明提出了基于工作流的自动化测试方法、装置以及电子设备,通过利用技术实现工作流图示的信息获取,可自动生成工作流自动化测试用例,进而快速构建自动化测试脚本。
为了达到上述技术目的,根据本公开实施例的第一方面,本实施例提供了基于工作流的自动化测试方法,所述自动化测试方法包括:
执行待测试对象,获取执行过程中的工作流信息,基于工作流信息创建工作流图;
对工作流图进行解析,将解析得到的工作流元素与系统预设规则库进行匹配,并按工作流元素在工作流图中的顺序对匹配结果进行排序,基于预设的编写规则对排序结果进行处理,构建工作流自动化测试用例;
对得到的工作流自动化测试用例进行文字匹配和语音识别处理,提取处理过程中工作自动化测试用例内的关键信息,基于得到的关键信息生成工作流自动测试脚本;
执行工作流自动测试脚本,得到测试结果。
可选的,所述执行待测试对象,获取执行过程中的工作流信息,基于工作流信息创建工作流图,包括:
获取待执行对象的完整执行流程;
按执行主体不同将完整执行流程进行划分,得到对应每个执行主体的执行步骤;
按执行主体将执行步骤继续重新关联,得到由图例构成的工作流图。
可选的,所述对工作流图进行解析,将解析得到的工作流元素与系统预设规则库进行匹配,并按工作流元素在工作流图中的顺序对匹配结果进行排序,基于预设的编写规则对排序结果进行处理,构建工作流自动化测试用例,包括:
对得到的工作流图进行解析得到工作流元素;
基于系统预设规则库中的分类规则对工作流元素进行逐个匹配,得到每个工作流元素对应的代码字段;
提取代码字段内包含的函数调用关系,将代码字段对应的工作流元素进行重新排序,基于排序后的结果构建表格形式的测试用例。
可选的,所述方法还包括:
对得到的工作流元素的逻辑性进行核查;
如果存在逻辑错误则对工作流元素是否存入数据库进行二次判断。
可选的,所述对得到的工作流自动化测试用例进行文字匹配和语音识别处理,提取处理过程中工作自动化测试用例内的关键字和执行语句,基于得到的关键字和执行语句生成工作流自动测试脚本,包括:
提取测试用例中包括关键字和页面元素在内的信息;
在语法转换器中,以文字匹配和语义识别、语义表达式的方式执行工作流检验和业务逻辑判断,按照语法的用法编辑表达式对提取到的关键信息中的关键字和页面元素进行解释并转换;
构建流程脚本模型和业务脚本模型,通过模型匹配然后进行特征分析、数据建模以及标签构建处理,引用自动化测试框架可识别的脚本文件生成规则,生成按步骤执行的测试脚本。
根据本公开实施例的第二方面,本实施例提供了基于工作流的自动化测试装置,所述自动化测试装置包括:
工作流图构建单元,用于执行待测试对象,获取执行过程中的工作流信息,基于工作流信息创建工作流图;
用例生成单元,用于对工作流图进行解析,将解析得到的工作流元素与系统预设规则库进行匹配,并按工作流元素在工作流图中的顺序对匹配结果进行排序,基于预设的编写规则对排序结果进行处理,构建工作流自动化测试用例;
脚本构建单元,用于对得到的工作流自动化测试用例进行文字匹配和语音识别处理,提取处理过程中工作自动化测试用例内的关键信息,基于得到的关键信息生成工作流自动测试脚本;
结果测试单元,用于执行工作流自动测试脚本,得到测试结果。
可选的,所述工作流图构建单元,包括:
流程获取子单元,用于获取待执行对象的完整执行流程;
步骤分析子单元,用于按执行主体不同将完整执行流程进行划分,得到对应每个执行主体的执行步骤;
流程图构建子单元,用于按执行主体将执行步骤继续重新关联,得到由图例构成的工作流图。
可选的,所述用例生成单元,包括:
元素解析子单元,用于对得到的工作流图进行解析得到工作流元素;
元素匹配子单元,用于基于系统预设规则库中的分类规则对工作流元素进行逐个匹配,得到每个工作流元素对应的代码字段;
元素匹配子单元,用于提取代码字段内包含的函数调用关系,将代码字段对应的工作流元素进行重新排序,基于排序后的结果构建表格形式的测试用例。
可选的,所述自动化测试装置还包括:
核查子单元,用于对得到的工作流元素的逻辑性进行核查;
二次判断子单元,用于如果存在逻辑错误则对工作流元素是否存入数据库进行二次判断。
可选的,所述脚本构建单元,包括:
信息提取子单元,用于提取测试用例中包括关键字和页面元素在内的信息;
脚本构建子单元,用于在语法转换器中,以文字匹配和语义识别、语义表达式的方式执行工作流检验和业务逻辑判断,按照语法的用法编辑表达式对提取到的关键信息中的关键字和页面元素进行解释并转换;
脚本调试子单元,用于构建流程脚本模型和业务脚本模型,通过模型匹配然后进行特征分析、数据建模以及标签构建处理,引用自动化测试框架可识别的脚本文件生成规则,生成按步骤执行的测试脚本。
根据本公开实施例的第三方面,本实施例提供了一种电子设备,包括:处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述基于工作流的自动化测试方法的步骤。
根据本公开实施例的第四方面,本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行根据所述基于工作流的自动化测试方法的步骤。
本申请提供的技术方案带来的有益效果是:
通过利用技术实现工作流图示的信息获取,可自动生成工作流自动化测试用例,进而快速构建自动化测试脚本。通过自动化测试执行数据分析,可针对性优化的现有工作流测试设计,提升自动化测试用例执行效率,促进工作流自动化测试效率和质量提升。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提出的基于工作流的自动化测试方法的流程示意图;
图2为本申请实施例提出的基于工作流的自动化测试装置的结构示意图;
图3为本申请实施例提出的电子设备的结构示意图。
具体实施方式
为使本申请的结构和优点更加清楚,下面将结合附图对本申请的结构作进一步地描述。
实施例一
本申请实施例提出了基于工作流的自动化测试方法,通过获取待测试对象执行过程中的工作流信息,藉此构建工作流图,进而根据工作流图对应的测试流程自动生成工作流自动化测试用例。在上述过程中无需人工参与,因此在提升了处理效率的同时,也降低了出错的可能性。
具体的,本申请实施例提出的基于工作流的自动化测试方法,如图1所示,包括:
步骤1,执行待测试对象,获取执行过程中的工作流信息,基于工作流信息创建工作流图;
步骤2,对工作流图进行解析,将解析得到的工作流元素与系统预设规则库进行匹配,并按工作流元素在工作流图中的顺序对匹配结果进行排序,基于预设的编写规则对排序结果进行处理,构建工作流自动化测试用例;
步骤3,对得到的工作流自动化测试用例进行文字匹配和语音识别处理,提取处理过程中工作自动化测试用例内的关键信息,基于得到的关键信息生成工作流自动测试脚本;
步骤4,执行工作流自动测试脚本,得到测试结果。
在实施中,本申请实施例提出的基于工作流的自动化测试方法,利用技术实现工作流图示的信息获取,通过识别图示标识和顺序,可自动生成工作流自动化测试用例,快速构建自动化测试脚本。可通过流程图、用例、脚本、数据的对比,自动识别软件或者网站更新后对工作流程自动化测试的影响,可自动评估工作流变化的风险。工作流节点与自动化测试执行关联关系直观可见,提供工作流自动化测试的多维度的分析报表,促进工作流自动化测试效率和质量提升。
实施例二
前一实施例从实现原理上简要介绍了基于工作流的自动化测试方法,在本实施例中对该自动化测试方法进行详细介绍。
可选的,前述步骤1提出的创建工作流图的操作,具体包括:
11、获取待执行对象的完整执行流程;
12、按执行主体不同将完整执行流程进行划分,得到对应每个执行主体的执行步骤;
13、按执行主体将执行步骤继续重新关联,得到由图例构成的工作流图。
在实施中,需要运行待执行对象以获取待执行对象的完整执行流程。通常待执行对象为软件或网页两种,运行待执行对象的方式定时或者手动触发执行任务,进而自动连接需要检测的软件或网站。在连接后,自动检测的软件exe文件路径或者URL网址,网页默认是用chrome的方式打开,也可以选择其他浏览器方式打开。
在获取到完整执行流程后,以执行主体作为标准将完整执行流程进行划分,得到针对每个执行主体的执行步骤。在构建工作流图的过程中,默认的图例对应规则为执行主体用小圆圈表示,执行步骤用圆角矩形表示,每个执行主体与对应该执行主体的执行步骤紧贴放置。最终根据实际运行顺序将包括执行主体与执行步骤的组合进行重新排列,得到工作流图。
可选的,前述步骤2提出的解析工作流图并对工作流元素进行排序,进而得到测试用例的操作,具体包括:
21、对得到的工作流图进行解析得到工作流元素;
22、基于系统预设规则库中的分类规则对工作流元素进行逐个匹配,得到每个工作流元素对应的代码字段;
23、提取代码字段内包含的函数调用关系,将代码字段对应的工作流元素进行重新排序,基于排序后的结果构建表格形式的测试用例。
在实施中,前述步骤11-13的执行结果为得到完整的工作流图,但是工作流图仅仅是对测试步骤的一个图形化展示,从工作流图到测试用例的生成还需要执行工作流元素向代码形式的转换操作。
首先,将已得到的工作流图按执行主体的不同进行分割,得到每个执行主体的执行步骤,其次将得到的执行步骤拆分为单一的执行语句,完成工作流元素的解析。
其次,因为每个执行语句中包含了执行动作以及被执行对象,因此本步骤基于系统预设规则库中的分类规则将执行语句中的执行动作、被执行对象的内容与标准代码进行匹配,得到以标准代码形式体现的代码字段。在实际操作环境中,有概率存在未使用标准语句编写待执行对象的情况。为了保证该步骤的匹配过程能够正确进行,需要额外进行非标准语句向标准语句的转换处理,该转换处理基于统一用途的代码实现,确保转换前后不会出现偏差。
再次,从已得到的代码字段中提取代表函数调用关系的关键字,基于提取出的关键字对已由代码字段代表的工作流元素进行重新排序。这里之所以进行重新排序的目的在于以调用关系为主线将执行步骤进行层级划分,得到若干主步骤构成的主要测试方案、隶属于每个主步骤下存在执行顺序的若干子步骤,以及包含全部主步骤、子步骤的标准Excel表格。
Excel表格包括了组号、步骤描述、脚本名以及前置条件等属性。在组号这一列中,用颜色标出1、2、3的行为主步骤的相关内容,排在每个主步骤组号下的未填充颜色的内容则为隶属于上一主步骤的子步骤的相关内容。
在执行步骤22的过程中,将工作流元素与系统预设规则库中的分类规则进行逐个匹配,按包括节点外观、节点类型以及节点属性在内的类别对工作流元素进行分类,得到对应工作流图中包括操作步骤、操作对象在内的匹配结果。
对工作流构成图示元素进行分类,分类规则是分辨工作流节点的节点外观和type,例如圆形、方形、菱形、箭头、方向、颜色等信息,以及对应业务的输入项、操作项、输出项、顺序项等类型。借助筛选标签函数soup.select()获取标签名、id等属性信息,将获取的外观、type、属性等信息分类存储数据库中。
值得注意的是,在步骤2中执行完上述步骤21-23后,根据需求还可以执行如下操作:
24、对得到的工作流元素的逻辑性进行核查;
25、如果存在逻辑错误则对工作流元素是否存入数据库进行二次判断。
在实施中,通过流程规则核查流程的逻辑合理性规范性。若流程规则包含常规审批逻辑校验,则会检查执行步骤是否为先申请,后审批的逻辑,如果与此流程逻辑性不正确的,那么就会进行异常预警,系统进行警示确认后方可存储数据库中。若存在无法解析的工作流或者图示,进行人为的调整。
可选的,步骤3提出的基于测试用例生成测试脚本的步骤,具体包括:
31、提取测试用例中包括关键字和页面元素在内的信息。
32、在语法转换器中,以文字匹配和语义识别、语义表达式的方式执行工作流检验和业务逻辑判断,按照语法的用法编辑表达式对提取到的关键信息中的关键字和页面元素进行解释并转换,得到由代码形式体现的执行脚本。
33、通过构建流程脚本模型和业务脚本模型,通过模型匹配然后进行特征分析、数据建模以及标签构建处理后,引用自动化测试框架可识别的脚本文件生成规则,生成按步骤执行的测试脚本。
在实施中,首先提取测试用例中包括关键字和页面元素在内的信息。其次,在语法转换器中,以文字匹配和语义识别、语义表达式的方式执行工作流检验和业务逻辑判断,按照语法的用法编辑表达式对提取到的信息进行解释并转换,得到由代码形式体现的执行脚本。
通过构建流程脚本模型和业务脚本模型,通过模型匹配然后进行特征分析、数据建模以及标签构建处理后,引用自动化测试框架可识别的脚本文件生成规则,生成按步骤执行的测试脚本。
在具体实施方式中,该步骤的执行内容具体包括:
首先,解析页面结构和布局,对得到的关键字以及页面元素信息进行提取的结果示意图,具体包括位于顶部的LOGO、位于顶部与底部之间的Banner、目录树以及页面内容。
其次,基于已提取到的上述信息结合预设标识进行标准化处理,以便根据标准化的图例结构得到对应标准流程中每个步骤的详细信息。
这里的预设标识已经包含标签库,规则库,业务流程库和语法库。其中,标签库是系统建设的基础元数据,包括各类输入类标签(tag),和操作类标签;输入性标签包括CheckBox,Text,RadioBox,SelectTag标签等;主要用来数据的输入保存;操作类型的标签包括Button,LinkTag,ImgTag,Span,DivTag等,主要用与提交保存、取消、关闭等执行操作类事件。
最后,根据得到的每个步骤的详细信息,到对应页面中寻找对应的关键字,完成编码。
在元素库中已预先按照button、link、table等已经整理了测试方法,则按照不同的类型有对应的测试方法。如link就是文字显示测试、鼠标移动效果、点击打开测试等,并且支持编辑和导入来更新元素库的更新。
在前述实施例提出的得到符合需求的工作流自动测试脚本基础上,本实施例还提出了执行前述工作流自动测试脚本得到自动化测试报告,进而基于自动化测试报告进行工作流自动化测试监管的技术方案,具体包括如下几个步骤:
步骤5:执行工作流自动化测试操作。
支持选择工作流或者选择执行测试机进行自动化测试。工作流自动化测试严格按照自动化测试用例定义的执行规则进行测试,默认空闲的测试机进行自动化测试,默认所有工作流执行自动化测试。系统支持在线查阅执行过程,以日志的形式实时展示已经执行工作流、执行结果等信息。
步骤6:获取自动化测试报告。
自动化测试完毕,展示元素自动化执行结果,正常的显示PASS、异常红色显示FAIL,还包含的信息有:任务名称、执行结果、元素名称、执行规则名称、开始时间、结束时间、用例数、执行次数等等,点击测试报告可以查阅测试过程测详细的信息,如测试用例信息、测试数据、测试通过数、测试失败数、测试失败异常原因、测试缺陷数等信息。支持不同版本的工作流自动化测试的执行效率的对比。
步骤7:根据得到的测试报告进行工作流自动化测试监管。
系统支持多纬度的监管分析报告,如自动化测试执行视图、自动化构成元素分析表、自动化变更风险评估表、自动化执行效率优化评估表。可展示不同版本的工作流自动化测试的执行效果分析、流程节点设置分析等,支持外部接口调用质量分析结果等信息。特别是自动化变更风险评估表,可以快速评估工作流节点新增或者调整对工作流自动化测试的影响,通过清晰的报表展示流程变更的风险及影响范围。监管报表清晰的数字和图表形式可有效辅助工作流自动化测试提升效率质量。
实施例三
本申请实施例提出了基于工作流的自动化测试装置,通过获取待测试对象执行过程中的工作流信息,藉此构建工作流图,进而根据工作流图对应的测试流程自动生成工作流自动化测试用例。在上述过程中无需人工参与,因此在提升了处理效率的同时,也降低了出错的可能性。
具体的,本申请实施例提出的基于工作流的自动化测试装置2,如图2所示,包括:
工作流图构建单元21,用于执行待测试对象,获取执行过程中的工作流信息,基于工作流信息创建工作流图;
用例生成单元22,用于对工作流图进行解析,将解析得到的工作流元素与系统预设规则库进行匹配,并按工作流元素在工作流图中的顺序对匹配结果进行排序,基于预设的编写规则对排序结果进行处理,构建工作流自动化测试用例;
脚本构建单元23,用于对得到的工作流自动化测试用例进行文字匹配和语音识别处理,提取处理过程中工作自动化测试用例内的关键信息,基于得到的关键信息生成工作流自动测试脚本;
结果测试单元24,用于执行工作流自动测试脚本,得到测试结果。
在实施中,本申请实施例提出的基于工作流的自动化测试装置,利用技术实现工作流图示的信息获取,通过识别图示标识和顺序,可自动生成工作流自动化测试用例,快速构建自动化测试脚本。可通过流程图、用例、脚本、数据的对比,自动识别软件或者网站更新后对工作流程自动化测试的影响,可自动评估工作流变化的风险。工作流节点与自动化测试执行关联关系直观可见,提供工作流自动化测试的多维度的分析报表,促进工作流自动化测试效率和质量提升。
实施例四
前一实施例从实现原理上简要介绍了基于工作流的自动化测试装置,在本实施例中对该自动化测试装置进行详细介绍。
可选的,前述提出的工作流图构建单元21,具体包括:
流程获取子单元211,用于获取待执行对象的完整执行流程;
步骤分析子单元212,用于按执行主体不同将完整执行流程进行划分,得到对应每个执行主体的执行步骤;
流程图构建子单元213,用于按执行主体将执行步骤继续重新关联,得到由图例构成的工作流图。
在实施中,需要运行待执行对象以获取待执行对象的完整执行流程。通常待执行对象为软件或网页两种,运行待执行对象的方式定时或者手动触发执行任务,进而自动连接需要检测的软件或网站。在连接后,自动检测的软件exe文件路径或者URL网址,网页默认是用chrome的方式打开,也可以选择其他浏览器方式打开。
在获取到完整执行流程后,以执行主体作为标准将完整执行流程进行划分,得到针对每个执行主体的执行步骤。在构建工作流图的过程中,默认的图例对应规则为执行主体用小圆圈表示,执行步骤用圆角矩形表示,每个执行主体与对应该执行主体的执行步骤紧贴放置。最终根据实际运行顺序将包括执行主体与执行步骤的组合进行重新排列,得到工作流图。
可选的,前述用例生成单元22用于执行解析工作流图并对工作流元素进行排序,进而得到测试用例的操作,具体包括:
元素解析子单元221,用于对得到的工作流图进行解析得到工作流元素;
元素匹配子单元222,用于基于系统预设规则库中的分类规则对工作流元素进行逐个匹配,得到每个工作流元素对应的代码字段;
元素匹配子单元223,用于提取代码字段内包含的函数调用关系,将代码字段对应的工作流元素进行重新排序,基于排序后的结果构建表格形式的测试用例。
在实施中,前述子单元211-213的执行结果为得到完整的工作流图,但是工作流图仅仅是对测试步骤的一个图形化展示,从工作流图到测试用例的生成还需要执行工作流元素向代码形式的转换操作。
首先,将已得到的工作流图按执行主体的不同进行分割,得到每个执行主体的执行步骤,其次将得到的执行步骤拆分为单一的执行语句,完成工作流元素的解析。
其次,因为每个执行语句中包含了执行动作以及被执行对象,因此本步骤基于系统预设规则库中的分类规则将执行语句中的执行动作、被执行对象的内容与标准代码进行匹配,得到以标准代码形式体现的代码字段。在实际操作环境中,有概率存在未使用标准语句编写待执行对象的情况。为了保证该步骤的匹配过程能够正确进行,需要额外进行非标准语句向标准语句的转换处理,该转换处理基于统一用途的代码实现,确保转换前后不会出现偏差。
再次,从已得到的代码字段中提取代表函数调用关系的关键字,基于提取出的关键字对已由代码字段代表的工作流元素进行重新排序。这里之所以进行重新排序的目的在于以调用关系为主线将执行步骤进行层级划分,得到若干主步骤构成的主要测试方案、隶属于每个主步骤下存在执行顺序的若干子步骤,以及包含全部主步骤、子步骤的标准Excel表格。
Excel表格包括了组号、步骤描述、脚本名以及前置条件等属性。在组号这一列中,用颜色标出1、2、3的行为主步骤的相关内容,排在每个主步骤组号下的未填充颜色的内容则为隶属于上一主步骤的子步骤的相关内容。
在执行步骤22的过程中,将工作流元素与系统预设规则库中的分类规则进行逐个匹配,按包括节点外观、节点类型以及节点属性在内的类别对工作流元素进行分类,得到对应工作流图中包括操作步骤、操作对象在内的匹配结果。
对工作流构成图示元素进行分类,分类规则是分辨工作流节点的节点外观和type,例如圆形、方形、菱形、箭头、方向、颜色等信息,以及对应业务的输入项、操作项、输出项、顺序项等类型。借助筛选标签函数soup.select()获取标签名、id等属性信息,将获取的外观、type、属性等信息分类存储数据库中。
值得注意的是,在用例生成单元2中依靠元素解析子单元221、元素匹配子单元222、元素匹配子单元223执行相关操作后,根据需求还可以借助如下子单元执行其他操作:
224、核查子单元,用于对得到的工作流元素的逻辑性进行核查;
225、二次判断子单元,用于如果存在逻辑错误则对工作流元素是否存入数据库进行二次判断。
在实施中,通过流程规则核查流程的逻辑合理性规范性。若流程规则包含常规审批逻辑校验,则会检查执行步骤是否为先申请,后审批的逻辑,如果与此流程逻辑性不正确的,那么就会进行异常预警,系统进行警示确认后方可存储数据库中。若存在无法解析的工作流或者图示,进行人为的调整。
可选的,脚本构建单元23用于执行基于测试用例生成测试脚本的步骤,具体包括:
信息提取子单元231,用于提取测试用例中包括关键字和页面元素在内的信息;
脚本构建子单元232,用于在语法转换器中,以文字匹配和语义识别、语义表达式的方式执行工作流检验和业务逻辑判断,按照语法的用法编辑表达式对提取到到的关键信息中的关键字和页面元素进行解释并转换;
脚本调试子单元233,用于构建流程脚本模型和业务脚本模型,通过模型匹配然后进行特征分析、数据建模以及标签构建处理,引用自动化测试框架可识别的脚本文件生成规则,生成按步骤执行的测试脚本
在实施中,首先提取测试用例中包括关键字和页面元素在内的信息。其次,在语法转换器中,以文字匹配和语义识别、语义表达式的方式执行工作流检验和业务逻辑判断,按照语法的用法编辑表达式对提取到的信息进行解释并转换,得到由代码形式体现的执行脚本。
通过构建流程脚本模型和业务脚本模型,通过模型匹配然后进行特征分析、数据建模以及标签构建处理后,引用自动化测试框架可识别的脚本文件生成规则,生成按步骤执行的测试脚本。
在具体实施方式中,该步骤的执行内容具体包括:
首先,解析页面结构和布局,对得到的关键字以及页面元素信息进行提取的结果示意图,具体包括位于顶部的LOGO、位于顶部与底部之间的Banner、目录树以及页面内容。
其次,基于已提取到的上述信息结合预设标识进行标准化处理,以便根据标准化的图例结构得到对应标准流程中每个步骤的详细信息。
这里的预设标识已经包含标签库,规则库,业务流程库和语法库。其中,标签库是系统建设的基础元数据,包括各类输入类标签(tag),和操作类标签;输入性标签包括CheckBox,Text,RadioBox,SelectTag标签等;主要用来数据的输入保存;操作类型的标签包括Button,LinkTag,ImgTag,Span,DivTag等,主要用与提交保存、取消、关闭等执行操作类事件。
最后,根据得到的每个步骤的详细信息,到对应页面中寻找对应的关键字,完成编码。
在元素库中已预先按照button、link、table等已经整理了测试装置,则按照不同的类型有对应的测试装置。如link就是文字显示测试、鼠标移动效果、点击打开测试等,并且支持编辑和导入来更新元素库的更新。
在前述实施例提出的得到符合需求的工作流自动测试脚本基础上,本实施例还提出了执行前述工作流自动测试脚本得到自动化测试报告,进而基于自动化测试报告进行工作流自动化测试监管的自动化测试装置,具体包括如下几个单元:
自动化执行单元25,用于执行工作流自动化测试操作。
支持选择工作流或者选择执行测试机进行自动化测试。工作流自动化测试严格按照自动化测试用例定义的执行规则进行测试,默认空闲的测试机进行自动化测试,默认所有工作流执行自动化测试。系统支持在线查阅执行过程,以日志的形式实时展示已经执行工作流、执行结果等信息。
测试报告获取单元26,用于获取自动化测试报告。
自动化测试完毕,展示元素自动化执行结果,正常的显示PASS、异常红色显示FAIL,还包含的信息有:任务名称、执行结果、元素名称、执行规则名称、开始时间、结束时间、用例数、执行次数等等,点击测试报告可以查阅测试过程测详细的信息,如测试用例信息、测试数据、测试通过数、测试失败数、测试失败异常原因、测试缺陷数等信息。支持不同版本的工作流自动化测试的执行效率的对比。
监管单元27,用于根据得到的测试报告进行工作流自动化测试监管。
系统支持多纬度的监管分析报告,如自动化测试执行视图、自动化构成元素分析表、自动化变更风险评估表、自动化执行效率优化评估表。可展示不同版本的工作流自动化测试的执行效果分析、流程节点设置分析等,支持外部接口调用质量分析结果等信息。特别是自动化变更风险评估表,可以快速评估工作流节点新增或者调整对工作流自动化测试的影响,通过清晰的报表展示流程变更的风险及影响范围。监管报表清晰的数字和图表形式可有效辅助工作流自动化测试提升效率质量。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现木公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本示例实施方式中,还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一实施例中所述基于工作流的自动化测试方法的步骤。所述基于工作流的自动化测试方法的具体步骤可参考前述实施例中关于上述数据处理步骤的详细描述,此处不再赘述。所述计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本示例实施方式中,还提供一种电子设备,该电子设备可以包括处理器以及用于存储所述处理器的可执行指令的存储器。其中,所述处理器配置为经由执行所述可执行指令来执行上述任一实施例中所述基于工作流的自动化测试方法的步骤。该生成方法的步骤可参考前述方法实施例中的详细描述,此处不再赘述。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
图3示出根据本公开示例实施方式中一种电子设备的示意图。例如,装置可以被提供为一服务器或客户端。参照图3,设备包括处理组件422,其进一步包括一个或多个处理器,以及由存储器432所代表的存储器资源,用于存储可由处理组件422执行的指令,例如应用程序。存储器432中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件422被配置为执行指令,以执行上述方法。
装置800还可以包括一个电源组件426被配置为执行装置400的电源管理,一个有线或无线网络接口450被配置为将装置400连接到网络,和一个输入输出(I/O)接口458。装置800可以操作基于存储在存储器432的操作系统,例如Windows Server TM,Mac OS XTM,Unix TM、Linux TM,FreeBSDTM或类似。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本实施例旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
Claims (10)
1.基于工作流的自动化测试方法,其特征在于,所述测试方法包括:
执行待测试对象,获取执行过程中的工作流信息,基于工作流信息创建工作流图;
对工作流图进行解析,将解析得到的工作流元素与系统预设规则库进行匹配,并按工作流元素在工作流图中的顺序对匹配结果进行排序,基于预设的编写规则对排序结果进行处理,构建工作流自动化测试用例;
对得到的工作流自动化测试用例进行文字匹配和语音识别处理,提取处理过程中工作自动化测试用例内的关键信息,基于得到的关键信息生成工作流自动测试脚本;
执行工作流自动测试脚本,得到测试结果。
2.根据权利要求1所述的基于工作流的自动化测试方法,其特征在于,所述执行待测试对象,获取执行过程中的工作流信息,基于工作流信息创建工作流图,包括:
获取待执行对象的完整执行流程;
按执行主体不同将完整执行流程进行划分,得到对应每个执行主体的执行步骤;
按执行主体将执行步骤继续重新关联,得到由图例构成的工作流图。
3.根据权利要求1所述的基于工作流的自动化测试方法,其特征在于,所述对工作流图进行解析,将解析得到的工作流元素与系统预设规则库进行匹配,并按工作流元素在工作流图中的顺序对匹配结果进行排序,基于预设的编写规则对排序结果进行处理,构建工作流自动化测试用例,包括:
对得到的工作流图进行解析得到工作流元素;
基于系统预设规则库中的分类规则对工作流元素进行逐个匹配,得到每个工作流元素对应的代码字段;
提取代码字段内包含的函数调用关系,将代码字段对应的工作流元素进行重新排序,基于排序后的结果构建表格形式的测试用例。
4.根据权利要求3所述的基于工作流的自动化测试方法,其特征在于,所述方法还包括:
对得到的工作流元素的逻辑性进行核查;
如果存在逻辑错误则对工作流元素是否存入数据库进行二次判断。
5.根据权利要求1所述的基于工作流的自动化测试方法,其特征在于,所述对得到的工作流自动化测试用例进行文字匹配和语音识别处理,提取处理过程中工作自动化测试用例内的关键信息,基于得到的关键字和执行语句生成工作流自动测试脚本,包括:
提取测试用例中包括关键字和页面元素在内的关键信息;
在语法转换器中,以文字匹配和语义识别、语义表达式的方式执行工作流检验和业务逻辑判断,按照语法的用法编辑表达式对提取到的关键信息中的关键字和页面元素进行解释并转换,得到由代码形式体现的执行脚本;
构建流程脚本模型和业务脚本模型,通过模型匹配然后进行特征分析、数据建模以及标签构建处理,引用自动化测试框架可识别的脚本文件生成规则,生成按步骤执行的测试脚本。
6.基于工作流的自动化测试装置,其特征在于,所述自动化测试装置包括:
工作流图构建单元,用于执行待测试对象,获取执行过程中的工作流信息,基于工作流信息创建工作流图;
用例生成单元,用于对工作流图进行解析,将解析得到的工作流元素与系统预设规则库进行匹配,并按工作流元素在工作流图中的顺序对匹配结果进行排序,基于预设的编写规则对排序结果进行处理,构建工作流自动化测试用例;
脚本构建单元,用于对得到的工作流自动化测试用例进行文字匹配和语音识别处理,提取处理过程中工作自动化测试用例内的关键信息,基于得到的关键信息生成工作流自动测试脚本;
结果测试单元,用于执行工作流自动测试脚本,得到测试结果。
7.根据权利要求6所述的基于工作流的自动化测试装置,其特征在于,所述工作流图构建单元,包括:
流程获取子单元,用于获取待执行对象的完整执行流程;
步骤分析子单元,用于按执行主体不同将完整执行流程进行划分,得到对应每个执行主体的执行步骤;
流程图构建子单元,用于按执行主体将执行步骤继续重新关联,得到由图例构成的工作流图。
8.根据权利要求6所述的基于工作流的自动化测试装置,其特征在于,所述用例生成单元,包括:
元素解析子单元,用于对得到的工作流图进行解析得到工作流元素;
元素匹配子单元,用于基于系统预设规则库中的分类规则对工作流元素进行逐个匹配,得到每个工作流元素对应的代码字段;
元素匹配子单元,用于提取代码字段内包含的函数调用关系,将代码字段对应的工作流元素进行重新排序,基于排序后的结果构建表格形式的测试用例。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至5任一项所述基于工作流的自动化测试方法的步骤。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被处理器执行根据权利要求1至5任一项所述基于工作流的自动化测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560698.4A CN113064811A (zh) | 2020-12-25 | 2020-12-25 | 基于工作流的自动化测试方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011560698.4A CN113064811A (zh) | 2020-12-25 | 2020-12-25 | 基于工作流的自动化测试方法、装置以及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113064811A true CN113064811A (zh) | 2021-07-02 |
Family
ID=76558705
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011560698.4A Pending CN113064811A (zh) | 2020-12-25 | 2020-12-25 | 基于工作流的自动化测试方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113064811A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661704A (zh) * | 2022-03-23 | 2022-06-24 | 杭州半云科技有限公司 | 数据资源全生命周期管理方法、系统、终端及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110123973A1 (en) * | 2008-06-06 | 2011-05-26 | Sapient Corporation | Systems and methods for visual test authoring and automation |
CN102331971A (zh) * | 2011-09-01 | 2012-01-25 | 北京用友政务软件有限公司 | 一种基于qtp的自动化测试方法及系统 |
US20130097586A1 (en) * | 2011-10-17 | 2013-04-18 | International Business Machines Corporation | System and Method For Automating Test Automation |
US20140181793A1 (en) * | 2010-11-10 | 2014-06-26 | Net Magnus Ltd. | Method of automatically testing different software applications for defects |
US20160004622A1 (en) * | 2014-06-04 | 2016-01-07 | Accenture Global Service Limited | Workflow test case generation |
CN108694118A (zh) * | 2017-04-11 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 一种应用测试方法和装置 |
CN108804322A (zh) * | 2018-06-05 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
US20200019492A1 (en) * | 2018-07-12 | 2020-01-16 | EMC IP Holding Company LLC | Generating executable test automation code automatically according to a test case |
CN111694738A (zh) * | 2020-06-04 | 2020-09-22 | 贵州易鲸捷信息技术有限公司 | 一种sql测试脚本的生成方法 |
US20200319995A1 (en) * | 2019-04-05 | 2020-10-08 | Oracle International Corporation | Customizable Enterprise Automation Test Framework |
-
2020
- 2020-12-25 CN CN202011560698.4A patent/CN113064811A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110123973A1 (en) * | 2008-06-06 | 2011-05-26 | Sapient Corporation | Systems and methods for visual test authoring and automation |
US20140181793A1 (en) * | 2010-11-10 | 2014-06-26 | Net Magnus Ltd. | Method of automatically testing different software applications for defects |
CN102331971A (zh) * | 2011-09-01 | 2012-01-25 | 北京用友政务软件有限公司 | 一种基于qtp的自动化测试方法及系统 |
US20130097586A1 (en) * | 2011-10-17 | 2013-04-18 | International Business Machines Corporation | System and Method For Automating Test Automation |
US20160004622A1 (en) * | 2014-06-04 | 2016-01-07 | Accenture Global Service Limited | Workflow test case generation |
CN108694118A (zh) * | 2017-04-11 | 2018-10-23 | 北京京东尚科信息技术有限公司 | 一种应用测试方法和装置 |
CN108804322A (zh) * | 2018-06-05 | 2018-11-13 | 中国平安人寿保险股份有限公司 | 自动化测试方法、装置、计算机设备及存储介质 |
US20200019492A1 (en) * | 2018-07-12 | 2020-01-16 | EMC IP Holding Company LLC | Generating executable test automation code automatically according to a test case |
US20200319995A1 (en) * | 2019-04-05 | 2020-10-08 | Oracle International Corporation | Customizable Enterprise Automation Test Framework |
CN111694738A (zh) * | 2020-06-04 | 2020-09-22 | 贵州易鲸捷信息技术有限公司 | 一种sql测试脚本的生成方法 |
Non-Patent Citations (4)
Title |
---|
ZHENYU LIU: "A file-driven complicated workflow automated test framework", 《2015 IEEE INTERNATIONAL CONFERENCE ON INFORMATION AND AUTOMATION》, 1 October 2015 (2015-10-01), pages 1 - 6 * |
佚名: "自动生成测试脚本方案浅析", pages 1 - 6, Retrieved from the Internet <URL:《 http://www.uml.org.cn/Test/201904101.asp 》> * |
刘振宇: "服务网格环境中场景测试的关键技术研究", 《万方》, 31 December 2012 (2012-12-31), pages 1 - 56 * |
张智慧: "工作流引擎在MVVM前端框架中的研究与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, 15 August 2020 (2020-08-15), pages 138 - 96 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661704A (zh) * | 2022-03-23 | 2022-06-24 | 杭州半云科技有限公司 | 数据资源全生命周期管理方法、系统、终端及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11093240B2 (en) | Automating identification of code snippets for library suggestion models | |
US11494181B2 (en) | Automating generation of library suggestion engine models | |
CN108932192B (zh) | 一种基于抽象语法树的Python程序类型缺陷检测方法 | |
Groen et al. | Users—the hidden software product quality experts?: A study on how app users report quality aspects in online reviews | |
Baier et al. | Bridging abstraction layers in process mining | |
Fantechi et al. | Applications of linguistic techniques for use case analysis | |
US9037549B2 (en) | System and method for testing data at a data warehouse | |
CN108763091B (zh) | 用于回归测试的方法、装置及系统 | |
CN108710571B (zh) | 一种生成自动化测试代码的方法和装置 | |
CN112416778A (zh) | 测试用例推荐方法、装置和电子设备 | |
Lu et al. | Does the role matter? an investigation of the code quality of casual contributors in github | |
Ciniselli et al. | Source code recommender systems: The practitioners' perspective | |
CN113064811A (zh) | 基于工作流的自动化测试方法、装置以及电子设备 | |
Stol et al. | Identifying architectural patterns used in open source software: approaches and challenges | |
CN115454702A (zh) | 日志故障分析方法、装置、存储介质及电子设备 | |
CN116069628A (zh) | 一种智能处置的软件自动化回归测试方法、系统及设备 | |
CN114880239A (zh) | 一种基于数据驱动的接口自动化测试框架及方法 | |
CN114297057A (zh) | 一种自动化测试用例的设计及使用方法 | |
Tanaka et al. | Selenium based testing systems for analytical data generation of website user behavior | |
de Almeida Neves et al. | Morpheus Web Testing: A Tool for Generating Test Cases for Widget Based Web Applications | |
CN110928535A (zh) | 衍生变量部署方法、装置、设备及可读存储介质 | |
Jaber et al. | A proposed code inspection model using program slicing technique | |
WO2022093178A1 (en) | Ci/cd pipeline code recommendations | |
US11907110B2 (en) | Methods and systems for automated software testing | |
CN116485597B (zh) | 基于岗位能力模型的标准化实训方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |