CN113553268A - 一种ai智能软件测试方法 - Google Patents
一种ai智能软件测试方法 Download PDFInfo
- Publication number
- CN113553268A CN113553268A CN202110848381.9A CN202110848381A CN113553268A CN 113553268 A CN113553268 A CN 113553268A CN 202110848381 A CN202110848381 A CN 202110848381A CN 113553268 A CN113553268 A CN 113553268A
- Authority
- CN
- China
- Prior art keywords
- node
- jump
- test
- path
- website
- 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
- 238000000034 method Methods 0.000 title claims abstract description 149
- 238000013522 software testing Methods 0.000 title claims abstract description 20
- 230000008569 process Effects 0.000 claims abstract description 110
- 238000012360 testing method Methods 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 26
- 238000012549 training Methods 0.000 claims abstract description 22
- 230000007246 mechanism Effects 0.000 claims abstract description 8
- 238000012546 transfer Methods 0.000 claims abstract description 8
- 238000010586 diagram Methods 0.000 claims description 30
- 230000007704 transition Effects 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 10
- 230000002452 interceptive effect Effects 0.000 claims description 5
- 230000009191 jumping Effects 0.000 claims description 5
- 230000004672 jump response Effects 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 238000010998 test method Methods 0.000 description 4
- 241000283074 Equus asinus Species 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 239000007787 solid Substances 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/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
- G06F16/972—Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种AI智能软件测试方法,包括:步骤S1、定义训练网站测试流程中节点类型及确定节点状态判别方法;节点类型包括流程起始节点、流程中间节点和流程结束节点;步骤S2、以组件距离最小策略抽取节点不同类型输入元素组件与标签元素组件元素的配对关系;步骤S3、采用增强学习奖惩机制实现前置节点状态转移至当前节点状态的权重,遍历训练网站内容,得到带权重信息的业务流程森林;步骤S4、基于跳转时间响应条件,在业务流程森林中选择最优执行方案;步骤S5、按照最优执行方案对测试网站进行测试,得到测试结果。本发明利用AI学习训练网站的特定业务流程,实现对不同的测试网站进行智能软件测试,具有技术前瞻性。
Description
技术领域
本发明涉及软件测试技术领域,具体涉及一种AI智能软件测试方法。
背景技术
现有技术中,对于手机中安装的应用程序的测试,也有自动化测试替代人工测试的现有技术,一种是通过软件编程来自动测试应用程序的功能,这种纯软件的自动测试方法需要测试人员熟悉软件代码,能够编写出模拟用户操作的指令来实现手机的软件自动化测试,并且,这种软件控制软件的测试方法稳定性不高,容易出错且不容易纠错;另一种是基于机器视觉以智能机器人的机械臂来替代人工做测试活动。
然而以上两种测试方式都不能作为运用了真正的人工智能(ArtificialIntelligence,AI)技术,现有技术中不存在利用人工智能进行软件测试的高智能技术。
发明内容
有鉴于此,本发明实施例提供了一种AI智能软件测试方法,以解决现有技术中自动化软件测试不够智能化的问题。
本发明实施例提供了一种AI智能软件测试方法,包括:
步骤S1、定义训练网站测试流程中节点类型及确定节点状态判别方法;节点类型包括流程起始节点、流程中间节点和流程结束节点,节点状态判别方法包括以节点所需参数来定义流程中间节点,以预设的提示信息来定义流程结束节点;
步骤S2、以组件距离最小策略抽取节点不同类型输入元素组件与标签元素组件元素的配对关系;
步骤S3、采用增强学习奖惩机制实现前置节点状态转移至当前节点状态的权重,遍历训练网站内容,得到带权重信息的业务流程森林;
步骤S4、基于跳转时间响应条件,在业务流程森林中选择最优执行方案;
步骤S5、按照最优执行方案对测试网站进行测试,得到测试结果;
其中,跳转时间响应条件包括:若跳转响应时间在0~2秒之间,则进入下一个节点;若跳转响应时间在2~5秒之间,对当前节点的权重进行第一变更,并进入下一个节点;若跳转响应时间在5~8秒之间,对当前节点的权重进行第二变更,并进入下一个节点;若跳转响应时间超过10秒,则中断本次测试。
可选地,步骤S3中还包括在遍历过程中,将使节点状态发生转移的元素的文本信息加入对应节点的别名集中;
步骤S5中测试网站的测试流程包括:
按照最优执行方案中节点状态的转移顺序,在流程起始节点的测试网站页面上查找与当前节点的别名集中的文本信息匹配的元素;
若存在该元素,则通过该元素转移至下一个节点,并在下一个节点的页面上查找与当前节点的别名集中的文本信息匹配的元素;
若至少有一个节点的页面上不存在与当前节点的别名集中的文本信息匹配的元素,则最优执行方案不适用于测试网站;
若由流程起始节点至流程结束节点的全部节点的页面上均存在与当前节点的别名集中的文本信息匹配的元素,则最优执行方案适用于测试网站。
可选地,采用Xpath、CSS°selector、id、(x,y)绝对坐标、text中的任意一种定位方式对查找到的元素进行定位并操作,使得转移至下一个流程节点。
可选地,流程起始节点、流程中间节点和流程结束节点通过预构的训练网站的树形结构图及对元素人工打标获取。
可选地,流程起始节点、流程中间节点和流程结束节点通过盲探方式获取。
可选地,步骤S3包括:
将流程起始节点的元素设置为流程遍历树的根元素;
若当前节点为非流程结束节点,则从流程起始节点至流程结束节点的路径上所有两两节点间状态转换权重减1;
若当前节点为流程结束节点,则从流程起始节点至流程结束节点的路径上所有两两节点间状态转换权重加100。
可选地,步骤S4中按照最短路径加权总和正值最大策略选择最优执行方案,包括:
在业务流程森林中选取深度最小的路径,
若深度最小的路径仅有一条,则判定该路径的加权总和是否为正值,若是,则选择该路径为最优执行方案;
若深度最小的路径有多条,则从中选择加权总和为正值且最大的一条路径作为最优执行方案;
若深度最小的路径的加权总和为非正值,则中断选择最优执行方案,并选取另一个训练网站来执行S1-S5。
可选地,步骤S2中计算组件间欧式距离、曼哈顿距离、切比雪夫距离或明可夫斯基距离,选择与输入元素组件距离最小的标签元素组件进行配对。
可选地,训练网站的树形结构图的预构步骤包括:
获取待测试用户界面的跳转信息;跳转信息包括跳转前界面节点、跳转元素及跳转后界面节点;每一个跳转信息的中间项为跳转元素;跳转元素包括交互按钮;
根据测试流程建立拓扑流程图;拓扑流程图包括一个根界面节点和一个或多个分支路径,每个分支路径上至少有一个跳转元素及对应的跳转后界面节点。
可选地,根据测试流程建立拓扑流程图包括:
对应于同一跳转前界面节点的不同跳转元素形成不同的分支路径,基于第一跳转元素对应的第一跳转后界面节点为第二跳转元素对应的第二跳转前界面节点的情况,将第一跳转元素、第二跳转元素设为同一分支路径上的相邻跳转元素;或,
基于预先建立的拓扑流程图,生成对应的积木子模块;积木子模块实质内容为拓扑流程图,积木子模块为具有命名的单框形式;
选择至少两个积木子模块,将积木子模块按照执行顺序连接,得到积木图;其中,相连接的两个积木子模块中,在执行顺序上前一个积木子模块对应的拓扑流程图的尾节点与后一个积木子模块对应的拓扑流程图中与尾节点具有相同节点名称的每一个首节点连接。
本发明提供的技术方案带来的有益效果如下:
1、提出以AI学习特定业务流程来对不同测试网站进行软件测试,人工智能程度高,测试稳定性和适用性较好;
2、不依赖与机器视觉,减少硬件需求;
3、不仅可以应用于智能终端,支持测试的应用程序类型也扩展到PC终端、智能家居、车联网、POS机等交互比如硬键盘的测试领域。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本发明实施例中一种AI智能软件测试方法流程图;
图2示出了本发明实施例中一种构建流程图得到的拓扑流程图示意图;
图3示出了本发明实施例中一种流程学习节点间状态转移权重变更图;
图4示出了本发明实施例中一种以最优路径对测试网站进行软件测试的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种AI智能软件测试方法,不仅可以应用于智能终端,支持测试的应用程序类型也扩展到PC终端、智能家居、车联网、POS机等交互比如硬键盘的测试领域,如图1所示,测试方法包括以下步骤:
步骤S1、定义训练网站测试流程中节点类型及确定节点状态判别方法。
具体地,所述节点类型包括流程起始节点、流程中间节点和流程结束节点,其中流程起始节点默认为网站的首页或给定的初始网页;流程结束节点为特定流程操作结束的最后一个页面;流程中间节点为基于深度网页遍历,从起始节点界面中的各元素出发至流程结束节点遍历过程中所经过的所有跳转页面;所述节点状态判别方法包括以节点所需参数为主来定义流程中间节点,以预设的提示信息,比如特定流程执行后交互界面的提示信息(比如订机票流程的“支付完成”的提示信息)来定义流程结束节点。
一种技术方案为通过预构的训练网站的树形结构图及对元素人工打标获取所述流程起始节点、流程中间节点和流程结束节点;
另一种可选的技术方案为通过盲探方式获取所述流程起始节点、流程中间节点和流程结束节点。
预构训练网站的树形结构图的具体方式在下文详述。
步骤S2、以组件距离最小策略抽取节点不同类型输入元素组件与标签元素组件元素的配对关系。
具体地,节点界面存在选择或输入元素组件信息,其中,输入元素本身不具有具体含义,需和其他label(标签)组件元素内容组合才完成信息交互。所述组件距离最小策略抽取组件元素关系是根据输入元素组件以及label元素组件之间的欧氏距离最小策略,实现不同组件元素之间的配对关系。显然,本发明并不限定欧氏距离这一种距离方式,也可以选择其他距离方式,比如曼哈顿距离、切比雪夫距离或明可夫斯基距离。
具体地,欧式距离也称为欧几里得距离,表示平面中两点的直线距离,位移距离;曼哈顿距离是指两点间在同方向距离的和,在平面中表示两点作为对角点所构成矩形的相邻两边长度和;切比雪夫距离指空间两点的方向分量距离最大值,在平面中表示两点作为对角点所构成矩形的最长边;明可夫斯基距离是空间距离的推广,在平面中即为欧氏距离。
步骤S3、采用增强学习奖惩机制实现前置节点状态转移至当前节点状态的权重,遍历所述训练网站内容,得到带权重信息的业务流程森林。
采用增强学习奖惩机制实现前置节点状态S'转移至当前节点状态S的权重,所述奖惩机制原理为:设当前遍历初始节点元素为E,并且E为流程遍历树T的根ROOT,若当前节点为结束节点(设为:IS_END),则从T树的根节点至IS_END路径上的所有两两节点间状态转换权重增加100;若当前节点为非结束节点(设为:NOT_END),则从T树的根节点至END路径上的所有两两节点间状态转换权重减去1;通过增强学习奖惩机制,深度优先遍历网站内容,最终将得到带权重的业务流程森林。
步骤S4、基于跳转时间响应条件,在业务流程森林中选择最优执行方案。
在本发明的一个实施例中,通过最短路径加权总和正值最大策略选择特定业务流程森林中最优执行方案,所述业务流程森林即为上一步骤学习策略所得。所述最短路径加权和正值最大为在带权树遍历中,一条路径中节点数最少且节点间所有权重和是正值最大。此方法能够选择出操作正确且最简的最优执行方案。具体如下:
在业务流程森林中选取深度最小的路径,
若深度最小的路径仅有一条,则判定该路径的加权总和是否为正值,若是,则选择该路径为最优执行方案;
若深度最小的路径有多条,则从中选择加权总和为正值且最大的一条路径作为最优执行方案;
若深度最小的路径的加权总和为非正值,则中断选择最优执行方案,并选取另一个训练网站来执行S1-S5。
其中,跳转时间响应条件包括:若跳转响应时间在0~2秒之间,则进入下一个节点;若跳转响应时间在2~5秒之间,对当前节点的权重进行第一变更,并进入下一个节点;若跳转响应时间在5~8秒之间,对当前节点的权重进行第二变更,并进入下一个节点;若跳转响应时间超过10秒,则中断本次测试。
在本实施例中,考虑到用户体验,将节点跳转时间也作为参考因素加入权重计算。通常来说,当用户在2秒以内得到响应时,会感觉***的响应很快;当用户在2-5秒之间得到响应时,会感觉***的响应速度还可以;当用户在5-8秒以内得到响应时,会感觉***的响应速度很慢,但是还可以接受;而当用户在超过10秒后仍然无法得到响应时,会感觉***糟透了,或者认为***已经失去响应,而选择离开这个Web站点,或者发起第二次请求。在本实施例中,假设当前节点为流程结束节点,并且每次跳转的响应时间均在2秒以内,则从流程起始节点至流程结束节点的路径上所有两两节点间状态转换权重加100;若某一次跳转响应时间在2~5秒之间,对当前节点的权重进行第一变更,这两个节点之间的权重变更为75;若跳转响应时间在5~8秒之间,对当前节点的权重进行第二变更,将两个节点之间的权重变更为50。综合了响应时间和跳转页面数量对网站进行智能测试,有助于提高用户体验。
步骤S5、按照最优执行方案对测试网站进行测试,得到测试结果。
具体地,上述步骤S3中还包括在遍历过程中,将使节点状态发生转移的元素的文本信息加入对应节点的别名集中;
步骤S5中的测试网站与S1中的训练网站为不同的网站,所述测试网站的测试流程包括:
按照最优执行方案中节点状态的转移顺序,在流程起始节点的测试网站页面上查找与当前节点的别名集中的文本信息匹配的元素;
若存在该元素,则通过该元素转移至下一个节点,并在下一个节点的页面上查找与当前节点的别名集中的文本信息匹配的元素;
若至少有一个节点的页面上不存在与当前节点的别名集中的文本信息匹配的元素,则所述最优执行方案不适用于所述测试网站;
若由流程起始节点至流程结束节点的全部节点的页面上均存在与当前节点的别名集中的文本信息匹配的元素,则所述最优执行方案适用于所述测试网站。
具体地,可采用Xpath、CSS selector、id、(x,y)绝对坐标、text中的任意一种定位方式对所述查找到的元素进行定位并操作,使得转移至下一个流程节点。
上述预构训练网站的树形结构图的具体方式可以采用构建流程图或积木图的方式来输入业务流程中的各个业务操作,具体如下:
流程图的构建方法如下:获取待测试用户界面的跳转信息,界面泛指用户的操作界面,包含移动APP、网页、微信小程序、微信公众号、PC应用程序、工控软件等界面,以下简称界面。具体地,所述跳转信息包括跳转前界面节点、跳转元素及跳转后界面节点,比如:在跳转前界面节点上设有多个控件按钮,按下该控件按钮可跳转到后一界面节点,以携程网首页界面为例,跳转元素以酒店和机票为例,则分别得到订酒店界面和订机票界面;在订酒店界面输入查询条件(日期、地址或酒店类型等等),搜索得到酒店查询结果界面,在订机票界面输入查询条件(起飞城市、终点城市、日期等),搜索得到机票查询结果界面,然后选择其中一条结果条目,进入下订单界面,在下订单界面点击付款按钮,进入支付界面等等,则这里至少出现了以下跳转信息:①首页-“hotel”-订酒店界面,②首页-“air-ticket”-订机票界面,③订酒店界面-“search”-酒店查询结果界面,④订机票界面-“search”-机票查询结果界面,⑤机票查询结果界面-“term1”-下订单界面,⑥下订单界面-“pay”-支付界面,每一个跳转信息的中间项为跳转元素(即交互按钮),实际上以界面交互按钮的控件名称命名,跳转元素前后的界面节点优选以简单明了的原则自由命名。
获取待测试用户界面的跳转信息之后,建立相应的拓扑流程图。具体地,所述拓扑流程图包括一个根界面节点和一个或多个分支路径,每个分支路径上至少有一个跳转元素及对应的跳转后界面节点,其具体的建立过程如下:对应于同一跳转前界面节点的不同跳转元素形成不同的分支路径,基于第一跳转元素对应的跳转后界面节点为第二跳转元素对应的跳转前界面节点的情况,将所述第一跳转元素、第二跳转元素设为同一分支路径上的相邻跳转元素,比如以上述携程中的六个跳转信息为例,可以建立得到如图2所示的拓扑流程图,图中跳转元素的命名仅为示意,实际以待测试对象的底层控件名称为准。
对于流程图较为复杂的业务流程,可以采用构建“积木图”,具体如下:
基于预先建立的拓扑流程图,生成对应的积木子模块。具体地,所述拓扑流程图的建立过程如上所述,在此不再赘述。所述积木子模块实质内容为该拓扑流程图,但是其前端仅为具有命名的单框形式。
在生成积木子模块之后,选择至少两个积木子模块,并且将所述积木子模块按照执行顺序连接,得到积木图。进一步地,其中相连接的两个积木子模块中,在执行顺序上前一个积木子模块对应的拓扑流程图的尾节点与后一个积木子模块对应的拓扑流程图中与所述尾节点具有相同节点名称的每一个首节点连接。比如,前一个积木子模块对应的拓扑流程图具有10个尾节点,其中2个尾节点的节点名称为N1,3个尾节点的节点名称为N2,另外5个尾节点名称为N3,后一个积木子模块对应的拓扑流程图具有9个首节点,其中5个首节点的节点名称为N2,另外4个首节点的节点名称为N3,则这两个积木子模块组成的积木图截止至后一个积木子模块对应的拓扑流程图的首节点具有35条(即3*5+5*4)分支路径,若后一积木子模块本身具有20个尾节点,则这两个积木子模块组成的积木图对应的拓扑流程图总共具有702个(即35*20+2)尾节点。在本发明的一个实施例中,流程图是树结构,其仅具有一个首节点,那么这种情况也属于本发明要求保护的范围,比如后一积木子模块唯一的首节点的名称为N2,则这两个积木子模块组成的积木图截止至后一个积木子模块对应的拓扑流程图的首节点具有3条分支路径,若后一积木子模块本身具有15个尾节点,则这两个积木子模块组成的积木图对应的拓扑流程图总共具有52个(即3*15+2+5)尾节点。这一点体现出积木图比普通的拓扑流程图相比,具有显著的进步,即原先众多分支路径的拓扑流程图利用本发明的技术方案仅需要分别画两个流程图,然后搭接成积木图即可,使得拓扑维度大大降低,避免手工操作带来的误差,这使得再复杂的网页功能都能够在花费较小的人力成本情况下以较高的准确性实现UI功能测试,这一点在网页功能测试越复杂的情况下,越能体现本发明的测试方法的优越性。所述积木图实质内容为搭接积木图的元素(比如这里的积木子模块,还可以是下文的积木图单元)所对应的拓扑流程图根据元素搭接关系构成的总拓扑流程图,但是积木图的前端仅为具有命名的单框形式,简洁明了。
以驴妈妈网为训练网站为例,对AI学习在线订机票业务的过程作出详细说明:
<1>约束:
流程节点类型:
(1)起始节点:IS_START(默认网站首页)。
(2)结束节点:IS_END。
(3)非(1),(2)两类之外的节点:NOT_END。
节点状态判定方法:
IS_START节点:即给定学习网址打开页面。
IS_END节点:含支付操作页面。
NOT_END:除以上两种以外所有页面。
起始节点中元素特性:
作为深度优先遍历网站节点的路径树的根节点ROOT。
输入数据选择:
选择五个通用输入数据:出发地,目的地,出发时间,乘机人姓名,乘机人身份证号,手机号。
输入数据操作类型规定:
出发地、目的地、出发时间:通过页面选择方式录入。
乘机人姓名、乘机人身份证号、手机号:通过组件元素类型执行脚本输入。
网页间遍历深度H约束:
H<=5
业务流程操作元素选择
(1)根节点ROOT选择:在IS_START节点所有元素中,选择触发点击事件出发后,能够触发界面新元素出现,通过滚动界面窗口探测的方式,能够在新元素中包含多个输入型组件元素,其中有两个点击后新增城市信息,至少一个出现日期信息的操作元素,命名为“ROOT”,其别名集合ROOTNAMES中加入选中元素的文本信息。
(2)机票检索操作元素:与页面选择参数组合试用,选择触发点击事件出发后,能够触发界面新元素出现,通过滚动界面窗口探测的方式,能够在新元素中包含多条可识别到航班订购信息的操作元素,命名为“SEARCH”,其别名集合SEARCHNAME中加入选中元素的文本信息。
(3)订购航班选择操作元素:选择航班检索结果的第一条航班信息中,能够触发界面新元素出现,并且新元素中包含可识别的退改以及行李信息的操作元素,命名为“DETAIL”,其别名集合DETAILNAME中加入选中元素的文本信息。
(4)支付操作元素:在乘客信息界面,点击能够触发界面新元素出现,且新元素中包含可识别的付款方式,付款明细元素的操作元素,命名为“VALUEADDED”,其别名集合VANAME中加入选中元素的文本信息。
<2>页面选择参数抽取方式
选择输入、逐渐元素设置类型的参数,依据节点中,多个具有输入属性的组件元素通过其相对位置的排列方式,依据相对排列方式,通过label组件与输入属性组件元素距离最短的方式,抽取与输入组件元素相对应的label标题元素,构建其之间的配对关系。
<3>增强学习的方法构建流程状态间转移权重学习,如图3所示:
将流程起始节点的元素设置为流程遍历树的根元素;
若当前节点为非流程结束节点,则从流程起始节点至流程结束节点的路径上所有两两节点间状态转换权重减1;
若当前节点为流程结束节点,则从流程起始节点至流程结束节点的路径上所有两两节点间状态转换权重加100。
通过增强学习奖惩机制,深度优先遍历网站内容,最终将得到带权重的业务流程森林。
<4>在业务流程森林中选择最优执行方案。
如图3所示,驴妈妈首页→机票检索→机票详情→乘机人信息→支付这一完整路径的遍历深度为4,加权和为400-6,相比其他路径,比如驴妈妈首页点击其他元素到NOT_END的新界面,直至遍历深度达到预设的5后结束遍历,即没有完整执行该在线订机票的特定业务流程,其路径的加权和值为负值,通过最短路径加权总和正值最大策略选择特定业务流程森林中最优执行方案。
结合图3可以发现,特定业务流程被完整执行的路径,其路径加权和值为一定正值。特定业务流程没有被完整执行的路径,其路径加权和值一定为负值。从用户体验角度分析,完整执行特定业务流程,页面跳转越少,体验越好;因此在特定业务所有完整执行的路径中,选择深度最小的路径为模型最最优的执行路径,名称为“OPPATH”。
<5>依据模型中最优执行路径,在测试网站执行订机票流程。
以携程网为例,以最优路径测试的流程参见图4:
打开携程网的网站首页T;
查找存在OPPATH的ROOTNAMES集合中的T页面中元素为E1;
判断E1元素是否存在,若存在,则点击元素E1,进入机票检索页面N1,查找存在于OPPATH的SEARCHNAME,N1页面中元素为E2;
判断E2元素是否存在,若存在,则根据OPPATH中选择型参数对应的label配对,查找N1页面中符合配对选择参数Prams;
判断参数Prams是否存在,若存在,则执行Prams参数选择,点击E2元素,进入航班信息界面N2,选择满足条件的一条航班信息,查找存在于OPPATH的DETAILNAME,页面N2中元素为E3;
判断E3元素是否存在,若存在,则点击元素E3,进入乘机人页面N3,执行脚本输入乘机人信息,查找存在于OPPATH的VANAME,页面N1中元素为E4;
判断E4元素是否存在,若存在,则点击元素E4,进入支付界面,说明所述模型中最优执行路径适合携程网。
若判断E1、E2、Prams、E3、E4中任意一个不存在,则说明所述模型中最优执行路径不适合携程网。要么需要优化该模型的执行路径,要么更换训练网站执行S1-S5生成新的AI模型。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种AI智能软件测试方法,其特征在于,包括:
步骤S1、定义训练网站测试流程中节点类型及确定节点状态判别方法;所述节点类型包括流程起始节点、流程中间节点和流程结束节点;所述节点状态判别方法包括以节点所需参数来定义流程中间节点,以预设的提示信息来定义流程结束节点;
步骤S2、以组件距离最小策略抽取节点不同类型输入元素组件与标签元素组件元素的配对关系;
步骤S3、采用增强学习奖惩机制实现前置节点状态转移至当前节点状态的权重,遍历所述训练网站内容,得到带权重信息的业务流程森林;
步骤S4、基于跳转时间响应条件,在业务流程森林中选择最优执行方案;
步骤S5、按照所述最优执行方案对测试网站进行测试,得到测试结果;
其中,所述跳转时间响应条件包括:若跳转响应时间在0~2秒之间,则进入下一个所述节点;若跳转响应时间在2~5秒之间,对当前所述节点的权重进行第一变更,并进入下一个所述节点;若跳转响应时间在5~8秒之间,对当前所述节点的权重进行第二变更,并进入下一个所述节点;若跳转响应时间超过10秒,则中断本次测试。
2.根据权利要求1所述的AI智能软件测试方法,其特征在于,步骤S3中还包括在遍历过程中,将使节点状态发生转移的元素的文本信息加入对应节点的别名集中;
步骤S5中所述测试网站的测试流程包括:
按照最优执行方案中节点状态的转移顺序,在流程起始节点的测试网站页面上查找与当前节点的别名集中的文本信息匹配的元素;
若存在该元素,则通过该元素转移至下一个节点,并在下一个节点的页面上查找与当前节点的别名集中的文本信息匹配的元素;
若至少有一个节点的页面上不存在与当前节点的别名集中的文本信息匹配的元素,则所述最优执行方案不适用于所述测试网站;
若由流程起始节点至流程结束节点的全部节点的页面上均存在与当前节点的别名集中的文本信息匹配的元素,则所述最优执行方案适用于所述测试网站。
3.根据权利要求2所述的AI智能软件测试方法,其特征在于,采用Xpath、CSS°selector、id、(x,y)绝对坐标、text中的任意一种定位方式对查找到的元素进行定位并操作,使得转移至下一个流程节点。
4.根据权利要求1所述的AI智能软件测试方法,其特征在于,所述流程起始节点、流程中间节点和流程结束节点通过预构的训练网站的树形结构图及对元素人工打标获取。
5.根据权利要求1所述的AI智能软件测试方法,其特征在于,所述流程起始节点、流程中间节点和流程结束节点通过盲探方式获取。
6.根据权利要求1所述的AI智能软件测试方法,其特征在于,步骤S3包括:
将流程起始节点的元素设置为流程遍历树的根元素;
若当前节点为非流程结束节点,则从流程起始节点至流程结束节点的路径上所有两两节点间状态转换权重减1;
若当前节点为流程结束节点,则从流程起始节点至流程结束节点的路径上所有两两节点间状态转换权重加100。
7.根据权利要求6所述的AI智能软件测试方法,其特征在于,步骤S4中按照最短路径加权总和正值最大策略选择最优执行方案,包括:
在业务流程森林中选取深度最小的路径,
若深度最小的路径仅有一条,则判定该路径的加权总和是否为正值,若是,则选择该路径为最优执行方案;
若深度最小的路径有多条,则从中选择加权总和为正值且最大的一条路径作为最优执行方案;
若深度最小的路径的加权总和为非正值,则中断选择最优执行方案,并选取另一个训练网站来执行S1-S5。
8.根据权利要求1所述的AI智能软件测试方法,其特征在于,步骤S2中计算组件间欧式距离、曼哈顿距离、切比雪夫距离或明可夫斯基距离,选择与输入元素组件距离最小的标签元素组件进行配对。
9.根据权利要求4所述的AI智能软件测试方法,其特征在于,所述训练网站的树形结构图的预构步骤包括:
获取待测试用户界面的跳转信息;所述跳转信息包括跳转前界面节点、跳转元素及跳转后界面节点;每一个所述跳转信息的中间项为跳转元素;所述跳转元素包括交互按钮;
根据测试流程建立拓扑流程图;所述拓扑流程图包括一个根界面节点和一个或多个分支路径,每个所述分支路径上至少有一个所述跳转元素及对应的所述跳转后界面节点。
10.根据权利要求9所述的AI智能软件测试方法,其特征在于,根据测试流程建立拓扑流程图包括:
对应于同一所述跳转前界面节点的不同所述跳转元素形成不同的所述分支路径,基于第一跳转元素对应的第一跳转后界面节点为第二跳转元素对应的第二跳转前界面节点的情况,将所述第一跳转元素、所述第二跳转元素设为同一所述分支路径上的相邻跳转元素;或,
基于预先建立的所述拓扑流程图,生成对应的积木子模块;所述积木子模块实质内容为所述拓扑流程图,所述积木子模块为具有命名的单框形式;
选择至少两个所述积木子模块,将所述积木子模块按照执行顺序连接,得到积木图;其中,相连接的两个所述积木子模块中,在执行顺序上前一个所述积木子模块对应的所述拓扑流程图的尾节点与后一个所述积木子模块对应的所述拓扑流程图中与所述尾节点具有相同节点名称的每一个首节点连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848381.9A CN113553268A (zh) | 2021-07-27 | 2021-07-27 | 一种ai智能软件测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110848381.9A CN113553268A (zh) | 2021-07-27 | 2021-07-27 | 一种ai智能软件测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113553268A true CN113553268A (zh) | 2021-10-26 |
Family
ID=78104536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110848381.9A Pending CN113553268A (zh) | 2021-07-27 | 2021-07-27 | 一种ai智能软件测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553268A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116126426A (zh) * | 2023-04-10 | 2023-05-16 | 杭州城市大数据运营有限公司 | 基于Web服务***的自动化组件解耦方法及*** |
WO2023130569A1 (zh) * | 2022-01-05 | 2023-07-13 | 中兴通讯股份有限公司 | 产品测试方法、装置、计算机设备及存储介质 |
-
2021
- 2021-07-27 CN CN202110848381.9A patent/CN113553268A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023130569A1 (zh) * | 2022-01-05 | 2023-07-13 | 中兴通讯股份有限公司 | 产品测试方法、装置、计算机设备及存储介质 |
CN116126426A (zh) * | 2023-04-10 | 2023-05-16 | 杭州城市大数据运营有限公司 | 基于Web服务***的自动化组件解耦方法及*** |
CN116126426B (zh) * | 2023-04-10 | 2023-08-29 | 杭州城市大数据运营有限公司 | 基于Web服务***的自动化组件解耦方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10970097B2 (en) | Adaptive web-based robotic process automation | |
CN113391871B (zh) | 一种rpa元素智能融合拾取的方法与*** | |
US10360504B2 (en) | Generalized faceted browser decision support tool | |
US20190205792A1 (en) | Automated generation of workflows | |
JP2022514155A (ja) | ソフトウェアテスト | |
US20190303269A1 (en) | Methods and systems for testing visual aspects of a web page | |
KR101966518B1 (ko) | 엑셀 기반 건축 설계 파일의 버전 제어 방법 | |
JP7159597B2 (ja) | 対話シナリオの表示制御プログラム、対話シナリオの表示制御方法および情報処理装置 | |
CN113553268A (zh) | 一种ai智能软件测试方法 | |
US9223647B2 (en) | Automatic classification adjustment of recorded actions for automation script | |
CN116127203B (zh) | 结合页面信息的rpa业务组件推荐方法及*** | |
CN112597065B (zh) | 页面测试方法和装置 | |
US11372750B2 (en) | Test script for application under test having abstracted action group instantiations | |
CN110188207A (zh) | 知识图谱构建方法及装置、可读存储介质、电子设备 | |
CN117290236A (zh) | 软件测试方法、装置、计算机设备及计算机可读存储介质 | |
CN116630990A (zh) | Rpa流程元素路径智能修复方法及*** | |
CN115935089A (zh) | 一种基于rpa技术的上车点推荐优化方法和*** | |
CN111881171A (zh) | 一种基于数据分析的图纸识别推荐方法及*** | |
CN112825038A (zh) | 基于通用组件语言规范的可视化页面制作方法和相关产品 | |
US20240037325A1 (en) | Ability to add non-direct ancestor columns in child spreadsheets | |
JP2006277282A (ja) | モデル評価解析システムおよびモデル評価解析プログラム | |
CN109656816A (zh) | 控件识别方法、装置、设备以及存储介质 | |
CN114416533A (zh) | 基于人工智能的车载电子产品的用例生成方法和*** | |
CN113220307B (zh) | 一种代码覆盖分析的优化方法、装置及电子设备 | |
CN111125587B (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220112 Address after: 100000 No. 107, 1st floor, jingyuanju, Cuiwei Nanli, Haidian District, Beijing Applicant after: Shi Jiangfan Address before: Room 807, tower A1, Tengfei Innovation Park, No. 388, Xinping street, Suzhou Industrial Park, Jiangsu 215000 Applicant before: SUZHOU DRAGON TESTING INTELLIGENT TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right |