CN109977029A - 一种页面跳转模型的训练方法及装置 - Google Patents
一种页面跳转模型的训练方法及装置 Download PDFInfo
- Publication number
- CN109977029A CN109977029A CN201910281458.1A CN201910281458A CN109977029A CN 109977029 A CN109977029 A CN 109977029A CN 201910281458 A CN201910281458 A CN 201910281458A CN 109977029 A CN109977029 A CN 109977029A
- Authority
- CN
- China
- Prior art keywords
- page
- training
- sample
- model
- jump
- 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
- 238000012549 training Methods 0.000 title claims abstract description 257
- 238000000034 method Methods 0.000 title claims abstract description 121
- 238000012360 testing method Methods 0.000 claims abstract description 33
- 230000009471 action Effects 0.000 claims description 160
- 230000009191 jumping Effects 0.000 claims description 57
- 238000010276 construction Methods 0.000 claims description 55
- 238000010998 test method Methods 0.000 claims description 15
- 238000012546 transfer Methods 0.000 claims description 8
- 238000004088 simulation Methods 0.000 claims description 4
- 239000012141 concentrate Substances 0.000 abstract description 8
- 238000013112 stability test Methods 0.000 abstract description 5
- 239000013598 vector Substances 0.000 description 32
- 230000008569 process Effects 0.000 description 22
- 230000006399 behavior Effects 0.000 description 11
- 238000004422 calculation algorithm Methods 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000009434 installation Methods 0.000 description 6
- 241001269238 Data Species 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 241000282693 Cercopithecidae Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005194 fractionation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000284 resting effect Effects 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004215 lattice model Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种页面跳转模型的训练方法及装置,通过利用构建的训练样本集,训练得到页面跳转模型。由于训练样本集中包括了能够覆盖目标APP中所有页面的样本数据,因而,根据该训练样本集训练得到的页面跳转模型,能够给出覆盖该目标APP中所有页面或大部分页面对应的跳转动作。如此,当使用该页面跳转模型进行目标APP的稳定性测试时,能够在目标APP的所有页面或大部分页面之间进行跳转,并对目标APP的所有页面进行测试,从而提高了页面跳转的覆盖度以及APP页面的测试覆盖度。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种页面跳转模型的训练方法及装置。
背景技术
在应用程序(Application,App)的开发过程中,App的稳定性是其质量控制环节中必不可少的测试项目之一,App在稳定性测试中可能发生各种意想不到的crash情况,而稳定性测试的目标就是对App进行广泛的模拟运行,继而在广泛的范围内最大程度的挖掘App的潜在风险。
关于App稳定性测试效果的好坏,其中一方面体现在App页面的测试覆盖度上,但现有的测试工具,只能对APP的浅表的几层页面进行随机操作,很容易在这些浅表页面之间进行反复跳转,导致页面的覆盖度极低,不能贴近用户对APP页面的真实操作,进而导致APP测试的页面覆盖度较低。
发明内容
本申请实施例的主要目的在于提供一种页面跳转模型的训练方法,利用该页面跳转模型给出的页面跳转动作,能够提高页面跳转的覆盖度。
本申请实施例提供了一种页面跳转模型的训练方法,包括:
构建训练样本集;所述训练样本集包括覆盖了所述目标APP的所有页面的各个样本数据,所述样本数据包括在目标APP上执行的样本动作、执行所述样本动作之前的初始页面标识、执行所述样本动作之后的目标页面标识;
根据所述训练样本集,训练得到页面跳转模型,所述页面跳转模型用于给出覆盖所述目标APP的全部或大部分页面的一系列跳转动作。
可选的,所述构建训练样本集包括:
生成目标APP的跳转关系数据,所述跳转关系数据包括所述目标APP的各个页面之间的可跳转关系;
利用初始构建的页面跳转模型,依据所述跳转关系数据给出各个样本动作,并通过执行各个样本动作以遍历所述目标APP的所有页面;
根据对所述目标APP的页面遍历路径,构建所述训练样本集。
可选的,所述生成目标APP的跳转关系数据,包括:
通过触发所述目标APP的主页面的每一有效控件来实现页面跳转,以进入所述主页面下的各个第一从页面;
通过触发所述第一从页面的每一有效控件来实现页面跳转,以进入所述第一从页面下的各个第二从页面,直至遍历跳转了所述目标APP的所有页面;
按照每一跳转前后对应的页面,生成所述目标APP的跳转关系数据。
可选的,所述根据所述训练样本集,训练得到页面跳转模型包括:
根据所述训练样本集,对初始构建的页面跳转模型进行训练,得到最终的页面跳转模型;
或者,根据所述训练样本集中的每一样本子集,对初始构建的页面跳转模型进行训练,得到每一页面跳转子模型,构成最终的页面跳转模型。
可选的,所述对初始构建的页面跳转模型进行训练,包括:
对初始构建的页面跳转模型进行T次的批训练,所述批训练用于使用K个样本数据对当前的页面跳转模型进行参数更新,T大于或等于1;
在T次的批训练结束后,继续对页面跳转模型进行T次的批训练,直至页面跳转模型满足训练结束条件为止。
可选的,所述样本数据还包括:执行所述样本动作之后是否发生页面的遍历更新。
可选的,所述样本数据还包括:所述样本动作对应的收益值;其中,
若执行所述样本动作之后发生页面的遍历更新,则所述样本动作对应的收益值为第一收益值;
若执行所述样本动作之后没有发生页面的遍历更新、且执行所述样本动作前后的页面不同,则所述样本动作对应的收益值为第二收益值;
若执行所述样本动作之后没有发生页面的遍历更新、且执行所述样本动作前后的页面相同,则所述样本动作对应的收益值为第三收益值;
所述第一收益值、所述第二收益值、所述第三收益值的大小依次递减。
可选的,所述使用K个样本数据对当前的页面跳转模型进行参数更新,包括:
利用当前的基准网络模型生成K个样本数据各自对应的基准值,并利用当前的页面跳转模型生成K个样本数据各自对应的预测值;
根据K个基准值和预测值,对当前的页面跳转模型进行参数更新,完成一次所述批训练;
其中,T次所述批训练后得到的页面跳转模型的模型参数被复制给当前的基准网络模型;所述基准值为当执行对应样本数据中的样本动作由初始页面进入目标页面之后执行各个不同系列动作产生的各个总收益中的最大值;所述预测值为从所述初始页面开始之后的预测系列动作产生的总收益。
本申请实施例还提供了一种页面跳转测试方法,包括:
利用预先训练的页面跳转模型,按照所述页面跳转模型给出的页面操作动作,对目标APP进行页面跳转测试;
其中,所述页面跳转模型为采用上述页面跳转模型的训练方法的任一种实施方式训练得到的页面跳转模型。
可选的,所述方法还包括:
在利用所述页面跳转模型从当前页面跳转到下一页面之前,利用预置的页面操作工具,在所述当前页面模拟真实用户的带有随机性的页面操作行为,并对所述页面操作工具的操作时间进行计时;
当计时达到第一预设时长后,跳转到所述下一页面。
本申请实施例还提供了一种页面跳转模型的训练装置,包括:
构建单元,用于构建训练样本集;所述训练样本集包括覆盖了所述目标APP的所有页面的各个样本数据,所述样本数据包括在目标APP上执行的样本动作、执行所述样本动作之前的初始页面标识、执行所述样本动作之后的目标页面标识;
训练单元,用于根据所述训练样本集,训练得到页面跳转模型,所述页面跳转模型用于给出覆盖所述目标APP的全部或大部分页面的一系列跳转动作。
可选的,所述构建单元包括:
生成子单元,用于生成目标APP的跳转关系数据,所述跳转关系数据包括所述目标APP的各个页面之间的可跳转关系;
遍历子单元,用于利用初始构建的页面跳转模型,依据所述跳转关系数据给出各个样本动作,并通过执行各个样本动作以遍历所述目标APP的所有页面;
构建子单元,用于根据对所述目标APP的页面遍历路径,构建所述训练样本集。
可选的,所述生成子单元,包括:
第一触发模块,用于通过触发所述目标APP的主页面的每一有效控件来实现页面跳转,以进入所述主页面下的各个第一从页面;
第二触发模块,用于通过触发所述第一从页面的每一有效控件来实现页面跳转,以进入所述第一从页面下的各个第二从页面,直至遍历跳转了所述目标APP的所有页面;
生成子模块,用于按照每一跳转前后对应的页面,生成所述目标APP的跳转关系数据。
可选的,所述训练单元具体用于:
根据所述训练样本集,对初始构建的页面跳转模型进行训练,得到最终的页面跳转模型;
或者,根据所述训练样本集中的每一样本子集,对初始构建的页面跳转模型进行训练,得到每一页面跳转子模型,构成最终的页面跳转模型。
可选的,所述训练单元,包括:
批训练子单元,用于对初始构建的页面跳转模型进行T次的批训练,所述批训练用于使用K个样本数据对当前的页面跳转模型进行参数更新,T大于或等于1;
循环子单元,用于在T次的批训练结束后,继续对页面跳转模型进行T次的批训练,直至页面跳转模型满足训练结束条件为止。
可选的,所述样本数据还包括:执行所述样本动作之后是否发生页面的遍历更新。
可选的,所述样本数据还包括:所述样本动作对应的收益值;其中,
若执行所述样本动作之后发生页面的遍历更新,则所述样本动作对应的收益值为第一收益值;
若执行所述样本动作之后没有发生页面的遍历更新、且执行所述样本动作前后的页面不同,则所述样本动作对应的收益值为第二收益值;
若执行所述样本动作之后没有发生页面的遍历更新、且执行所述样本动作前后的页面相同,则所述样本动作对应的收益值为第三收益值;
所述第一收益值、所述第二收益值、所述第三收益值的大小依次递减。
可选的,所述批训练子单元,包括:
生成模块,用于利用当前的基准网络模型生成K个样本数据各自对应的基准值,并利用当前的页面跳转模型生成K个样本数据各自对应的预测值;
更新模块,用于根据K个基准值和预测值,对当前的页面跳转模型进行参数更新,完成一次所述批训练;
其中,T次所述批训练后得到的页面跳转模型的模型参数被复制给当前的基准网络模型;所述基准值为当执行对应样本数据中的样本动作由初始页面进入目标页面之后执行各个不同系列动作产生的各个总收益中的最大值;所述预测值为从所述初始页面开始之后的预测系列动作产生的总收益。
本申请实施例还提供了一种页面跳转测试装置,包括:
测试单元,用于利用预先训练的页面跳转模型,按照所述页面跳转模型给出的页面操作动作,对目标APP进行页面跳转测试;
其中,所述页面跳转模型为采用上述页面跳转模型的训练装置的任一种实施方式训练得到的页面跳转模型。
可选的,所述装置还包括:
模拟单元,用于在利用所述页面跳转模型从当前页面跳转到下一页面之前,利用预置的页面操作工具,在所述当前页面模拟真实用户的带有随机性的页面操作行为,并对所述页面操作工具的操作时间进行计时;
跳转单元,用于当计时达到第一预设时长后,跳转到所述下一页面。
基于上述技术方案,本申请具有以下有益效果:
本申请实施例提供的页面跳转模型的训练方法中,通过利用构建的训练样本集,训练得到页面跳转模型。由于训练样本集中包括了能够覆盖目标APP中所有页面的样本数据,因而,根据该训练样本集训练得到的页面跳转模型,能够给出覆盖该目标APP中所有页面或大部分页面对应的跳转动作。如此,当使用该页面跳转模型进行目标APP的稳定性测试时,能够在目标APP的所有页面或大部分页面之间进行跳转,并对目标APP的所有页面进行测试,从而提高了页面跳转的覆盖度以及APP页面的测试覆盖度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请方法实施例一提供的页面跳转模型的训练方法的流程图;
图2为本申请实施例提供的一种训练样本集的示意图;
图3为本申请实施例提供的一种跳转关系数据的结构示意图;
图4为本申请实施例提供的另一种跳转关系数据的结构示意图;
图5为本申请方法实施例二提供的页面跳转模型的训练方法的流程图;
图6为本申请实施例提供的一种跳转关系子数据的结构示意图;
图7为本申请方法实施例三提供的页面跳转测试方法的流程图;
图8为本申请装置实施例一提供的页面跳转模型的训练装置的结构示意图;
图9为本申请装置实施例二提供的页面跳转测试装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例一
参见图1,该图为本申请方法实施例一提供的页面跳转模型的训练方法的流程图。
本申请实施例提供的页面跳转模型的训练方法,包括:
S101:构建训练样本集。
S102:根据训练样本集,训练得到页面跳转模型,页面跳转模型用于给出覆盖目标APP的全部或大部分页面的一系列跳转动作。
以上为本申请方法实施例一提供的页面跳转模型的训练方法的具体执行步骤,为了便于理解和解释本申请方法实施例一提供的页面跳转模型的训练方法,下面将依次介绍S101和S102的具体实施方式。
首先介绍S101的具体实施方式。
在S101中,训练样本集包括:覆盖了目标APP的所有页面的各个样本数据,而且,每个样本数据能够表示目标APP中不同页面之间的跳转信息。
样本数据可以包括:在目标APP上执行的样本动作、执行样本动作之前的初始页面标识、执行样本动作之后的目标页面标识。
另外,样本数据可以采用文字、符号、图或向量等任意形式进行描述,例如,当样本数据采用向量进行描述时,样本数据的结构可以是[sF,a,sL],其中,sF表示执行样本动作之前的初始页面标识;sL表示执行样本动作之后的目标页面标识;a表示在目标APP上执行的样本动作。
为了便于解释和说明训练样本集,下面将以利用向量进行表示的样本数据为例进行说明。
作为示例,假设目标APP包括4个跳转页面:第一页面、第二页面、第三页面和第四页面,而且第一页面可以跳转至第二页面,第二页面可以跳转至第三页面,第一页面可以跳转至第四页面,则训练样本集可以包括:[1,1-2,2]、[2,2-3,3]和[1,1-4,4]。其中,1是第一页面的页面标识;2是第二页面的页面标识;3是第三页面的页面标识;4是第四页面的页面标识;1-2表示从第一页面跳转至第二页面的动作;2-3表示从第二页面跳转至第三页面的动作;1-4表示从第一页面跳转至第四页面的动作。
需要说明的是,以上提供了页面标识采用数字进行表示,以及样本动作采用数字和符号“-”进行表示的具体实施方式,然而,在本申请中,不限定页面标识的表示方式,也不限定动作的表示方式。例如,在本申请实施例中,页面标识可以采用数字、符号、文字等任意一种形式进行表示或采用组合形式进行表示,类似地,动作也可以采用数字、符号、文字等任意一种形式进行表示或采用组合形式进行表示。
另外,为了提高训练样本集的完整性以及准确性,进而提高训练获得的页面跳转模型的准确性,本申请还提供了一种实施方式,在该实施方式中,训练样本集中的样本数据除了可以包括上述提供的内容以外,样本数据还可以包括:执行样本动作之后是否发生页面的遍历更新。
其中,“遍历更新”可以表示样本动作的发生能够增加对目标APP的页面遍历覆盖度。例如,当执行某样本动作时,如果执行该样本动作之后的目标页面A已出现过(即该样本动作之前已执行的各个样本动作所覆盖到的所有页面中包括该页面A),则表示对目标APP的页面遍历覆盖度没有增加,从而确定该样本动作没有导致页面的遍历更新;反之,如果执行该样本动作之后的目标页面A未出现过(即该样本动作之前已执行的各个样本动作所覆盖到的所有页面中不包括该页面A),则表示对目标APP的页面遍历覆盖度增加了,从而确定该样本动作导致了页面的遍历更新。
在上述实施方式中,由于样本数据不仅包括在目标APP上执行的样本动作、执行样本动作之前的初始页面标识、执行样本动作之后的目标页面标识,还包括执行样本动作之后是否发生页面的遍历更新,因而,包括多个样本数据的训练样本集不仅能够记录目标APP的所有页面之间的跳转关系,还能够基于样本动作的跳转顺序,准确的记录对目标APP的页面遍历覆盖度。
此外,为了进一步提高训练样本集的完整性以及准确性,进而使得训练获得的页面跳转模型能够给出覆盖目标APP更多页面的一系列跳转动作,本申请还提供了一种实施方式,在该实施方式中,训练样本集中的样本数据除了可以包括上述提供的内容以外,样本数据还可以包括:样本动作对应的收益值。
其中,若执行该样本动作之后发生页面的遍历更新,则该样本动作对应的收益值为第一收益值;若执行该样本动作之后没有发生页面的遍历更新、且执行该样本动作前后的页面不同,则该样本动作对应的收益值为第二收益值;若执行该样本动作之后没有发生页面的遍历更新、且执行该样本动作前后的页面相同,则该样本动作对应的收益值为第三收益值;而且,第一收益值、第二收益值、第三收益值的大小依次递减。
在本实现方式中,“收益值”用于衡量每个样本动作对应的样本数据对训练样本集的贡献价值,其具体可以为:若执行样本动作之后发生了页面的遍历更新,则表示该样本动作对应的样本数据能够提高训练样本集对目标APP的页面遍历覆盖度,此时确定该样本动作对应的样本数据的贡献价值较高,则可以设定该样本动作对应的收益值为第一收益值;若执行样本动作之后没有发生页面的遍历更新、且执行样本动作前后的页面不同,则表示该样本动作对应的样本数据能够提高训练样本集中跳转动作的数量,此时确定该样本动作对应的样本数据的贡献价值中等,则可以设定该样本动作对应的收益值为第二收益值;若执行样本动作之后没有发生页面的遍历更新、且执行样本动作前后的页面相同,则表示该样本动作是无效动作,此时确定该样本动作对应的样本数据的贡献价值较低,则可以设定该样本动作对应的收益值为第三收益值。
第一收益值、第二收益值和第三收益值均可以预先设定,例如,可以预先设定第一收益值为1、第二收益值为0和第三收益值为-1。
在上述实施方式中,由于训练样本集中的每个样本数据还包括样本动作对应的收益值,而且,该收益值用于衡量每个样本动作对应的样本数据对训练样本集的贡献价值,因而,包括多个样本数据的训练样本集还能够准确地记录每个样本数据的收益值,以便后续能够利用包括收益价值的样本数据对页面跳转模型进行更精确地训练。
另外,本申请还提供了一种实施方式,在该实施方式中,样本数据除了可以包括上述提供的内容以外,样本数据还可以包括:执行样本动作之前的状态向量,以及执行样本动作之后的状态向量。
其中,“执行样本动作之前的状态向量”用于表示在遍历目标APP的过程中,执行样本动作之前所具有的页面遍历状态信息。
“执行样本动作之后的状态向量”用于表示在遍历目标APP的过程中,执行样本动作之后所具有的页面遍历状态信息。
“状态向量”可以根据目标APP的页面总数量和目标APP的遍历过程确定,而且,“状态向量”可以采用多种方式进行表示。
例如,“状态向量”可以采用N维向量进行表示,其中,N为目标APP的页面总数量;而且,“状态向量”的第1维至第N维分别对应第1个页面到第N个页面,当状态向量的第i维的值为1时,则表示当前正在停留在目标App的第i个页面上;当状态向量的第i维的值为0时,则表示目标App的第i个页面已被遍历过;当状态向量的第i维的值为-1时,则表示目标App的第i个页面未被遍历过。
为了便于解释和理解状态向量,下面将以图2所示的包括状态向量的训练样本集为例进行说明。
假设目标APP包括6个页面:主页面、第一页面至第五页面,且主页面的标识为“0”,第一页面至第五页面的标识分别为“1”至“5”。
图2所示的训练样本集包括5个样本数据,每行数据表示一个样本数据,而且,每个样本数据包括:目标APP上执行的样本动作、执行样本动作之前的初始页面标识、执行样本动作之后的目标页面标识、样本动作对应的收益值、执行样本动作之前的状态向量,以及执行样本动作之后的状态向量。
为了便于解释和理解图2所示的样本数据,下面将以图2中的样本数据201为例进行具体介绍。
作为示例,如图2所示,样本数据201包括:“[1 -1 -1 -1 -1 -1]”、“0-3”、“1”和“[0 -1 -1 1 -1 -1]”的四部分;而且,
第一部分:“[1 -1 -1 -1 -1 -1]”表示执行样本动作之前停留在主页面上;
第二部分:“0-3”表示执行的样本动作为从主页面跳转至第三页面,其中,“0”为执行样本动作之前的初始页面标识,以及“3”为执行样本动作之后的目标页面标识;
第三部分:“1”表示执行的样本动作的收益值为1;
第四部分:“[0 -1 -1 1 -1 -1]”表示执行样本动作之后的停留在第三页面上,且主页面已被遍历过。
在上述实施方式中,由于每个样本数据还包括执行样本动作之前的状态向量,以及执行样本动作之后的状态向量,因而,包括多个样本数据的训练样本集能够准确完整的反映对目标APP的遍历过程,有利于后续能够根据训练样本集中提供的遍历过程对页面跳转模型进行优化,从而有利于提高页面跳转模型的页面遍历能力。
以上提供了训练样本集的相关内容,本申请提供的训练样本集包括多个样本数据,而且,该多个样本数据能够表示目标APP中各个页面之间的跳转信息,从而使得训练样本集能够记录有目标APP的所有页面之间的跳转信息,进而提高了训练样本集对目标APP的所有页面的覆盖率。
接下来,本申请提供了构建训练样本集的一种具体实施方式,在该实施方式中,S101具体可以包括S1011-S1013:
S1011:生成目标APP的跳转关系数据,该跳转关系数据包括目标APP的各个页面之间的可跳转关系。
跳转关系数据用于记录目标APP中不同页面之间的可跳转关系,而且,跳转关系数据可以采用不同的表达方式进行描述。例如,跳转关系数据可以采用文本形式进行描述,也可以采用树状结构图进行描述。
为了便于理解和解释跳转关系数据,下面将依次以利用文本形式描述的跳转关系数据和利用树状结构图描述的跳转关系数据为例进行介绍。
首先介绍利用文本形式描述的跳转关系数据的相关内容。
作为一示例,当利用文本形式对跳转关系数据进行描述时,目标APP对应的跳转关系数据可以采用如图3所示的文本数据进行表示,而且,图3中的每行数据均可以表示两个不同界面之间的可跳转关系。
例如,在图3中,文本数据301用于表示主页面和第一页面之间的可跳转关系的相关信息,其中,“0”为主页面的页面标识;“1”为第一页面的页面标识;“0-1”可以表示主页面跳转至第一页面的动作;“[652,73]”和“[700,121]”可以表示触发“0-1”动作对应的第一控件的位置信息,其具体含义为,第一控件位于主页面上由点[652,73]与点[700,121]围成的矩形区域内。
需要说明的是,上述是以图3所示的文本形式为例对跳转关系数据进行描述的,然而,在本申请中目标APP不仅可以采用图3所示的文本形式对跳转关系数据进行描述,还可以采用其他的文本形式对跳转关系数据进行描述,本申请实施例对此不做具体限定。
以上为利用文本形式描述的跳转关系数据的相关内容。
下面介绍利用树状结构图描述的跳转关系数据的相关内容。
作为另一示例,当利用树状结构图对跳转关系数据进行描述时,目标APP对应的跳转关系数据可以采用如图4所示的树状结构图进行表示;而且,图4中的每个圆圈用于表示目标APP的每个页面,图4中的“→”用于描述目标APP中不同页面之间的跳转关系。
例如,在图4中,“0”为主页面的页面标识;“1”至“15”分别为第一页面的页面标识至第十五页面的页面标识;第一箭头401用于表示为主页面跳转至第一页面的动作。
需要说明的是,上述是以图4所示的树状结构图为例对跳转关系数据进行描述的,然而,在本申请中目标APP不仅可以采用图4所示的树状结构图对跳转关系数据进行描述,还可以采用其他的树状结构图对跳转关系数据进行描述,本申请实施例对此不做具体限定。
以上为利用树状结构图描述的跳转关系数据的相关内容。
基于上述跳转关系数据的相关内容,本申请实施例提供了生成跳转关系数据的一种实施方式,在该实施方式中,S1011具体可以包括S1011a-S1011c:
S1011a:通过触发目标APP的主页面的每一有效控件来实现页面跳转,以进入主页面下的各个第一从页面。
有效控件是指触发时能够进行页面跳转的控件,也就是说,如果第一控件被触发,能够使得当前页面跳转至除了当前页面以外的其他页面,则第一控件为有效控件;如果第一控件被触发,使得当前页面无法跳转至除了当前页面以外的其他页面,则第一控件不是有效控件。
目标APP的主页面上包括多个有效控件,而且,每个有效控件均对应一个跳转动作,使得当每个有效控件被触发时,均可以进行一次由主页面跳转至其他页面的动作,从而实现了主页面与其他页面之间的跳转。
第一从页面是指能够通过一个动作从主页面跳转至的页面,例如,当主页面能够通过“0-1”动作跳转至第一页面时,则表示第一页面是主页面下的一个第一从页面。
作为示例,假设目标APP的主页面上包括5个控件:第一控件、第二控件、第三控件、第四控件和第五控件,而且,第一控件对应的动作为“0-1”,第二控件对应的动作为“0-2”,第三控件对应的动作为“0-3”,第四控件对应的动作为“0-4”,第五控件对应的动作为“0-5”,则S1011a具体可以为:当触发目标APP中主页面上的第一控件时,则可以进入第一页面;当触发目标APP中主页面上的第二控件时,则可以进入第二页面;当触发目标APP中主页面上的第三控件时,则可以进入第三页面;当触发目标APP中主页面上的第四控件时,则可以进入第四页面;当触发目标APP中主页面上的第五控件时,则可以进入第五页面。
S1011b:通过触发第一从页面的每一有效控件来实现页面跳转,以进入第一从页面下的各个第二从页面,直至遍历跳转了目标APP的所有页面。
由于目标APP的每个页面上均包括多个有效控件,而且,每个有效控件均对应一个跳转动作,使得当每个有效控件被触发时,均可以进行一次由当前页面跳转至其他页面的动作,从而实现了当前页面与其他页面之间的跳转,而且,不同页面之间跳转方式均相似,因而,由第一从页面跳转至第二从页面的实施方式与S1011a提供的由主页面跳转至第一从页面的实施方式相同,为了简要起见,在此不再赘述。
S1011c:按照每一跳转前后对应的页面,生成目标APP的跳转关系数据。
作为一种实施方式,S1011c具体可以为:当每一跳转发生时,则记录每一跳转前后对应的页面;而且当遍历跳转了目标APP的所有页面时,则根据记录的每一跳转前后对应的页面,生成目标APP的跳转关系数据。
作为示例,当目标APP包括15个页面时,S1011c具体可以为:当目标页面跳转至第一页面时,记录“0-1”的动作;当目标页面跳转至第二页面时,记录“0-2”的动作;当目标页面跳转至第三页面时,记录“0-3”的动作;当目标页面跳转至第四页面时,记录“0-4”的动作;当目标页面跳转至第五页面时,记录“0-5”的动作;当第一页面跳转至第六页面时,记录“1-6”的动作;当第一页面跳转至第七页面时,记录“1-7”的动作;当第一页面跳转至第八页面时,记录“1-8”的动作;当第六页面跳转至第九页面时,记录“6-9”的动作;当第八页面跳转至第十页面时,记录“8-10”的动作;当第八页面跳转至第十一页面时,记录“8-11”的动作;当第二页面跳转至第十二页面时,记录“2-12”的动作;当第三页面跳转至第十三页面时,记录“3-13”的动作;当第四页面跳转至第十四页面时,记录“4-14”的动作;当第五页面跳转至第十五页面时,记录“5-15”的动作;然后,根据已记录的动作,生成图4所示的目标APP的跳转关系数据。
需要说明的是,在本申请可以通过对每个跳转动作发生的前后分别进行截屏、保存和分析,以便于获得每个跳转前后对应的页面和该跳转动作对应的控件。
以上为S1011的具体实施方式,在该实施方式中,首先,从目标APP的主页面开始进行页面跳转动作,且页面跳转动作具体为:通过触发当前页面上的各个有效控件,以便实现从当前页面跳转至除了当前页面以外的其他页面;然后,重复地触发当前的页面上的有效控件进行页面跳转,直至遍历跳转了目标APP的所有页面则停止进行页面跳转;最后,根据每一跳转前后对应的页面,生成目标APP的跳转关系数据。如此,由于多次页面跳转动作能够遍历目标APP的所有页面,因而,根据各个页面跳转动作前后对应的页面所生成的跳转关系数据,能够完整的记录有目标APP的所有页面之间的跳转信息,从而提高了目标APP的跳转关系数据的完整性以及准确性。
S1012:利用初始构建的页面跳转模型,依据跳转关系数据给出各个样本动作,并通过执行各个样本动作以遍历目标APP的所有页面。
页面跳转模型可以根据输入的页面信息,利用跳转关系数据,获得各个样本动作对应的可执行概率;其中,可执行概率用于描述每个样本动作被执行的可能性大小,若可执行概率越大则表示该样本动作被执行的可能性越大,若可执行概率越小,则表示该样本动作被执行的可能性越小。
例如,假设目标APP的跳转关系数据为图4所示的树状结构图,而且向页面跳转模型输入主页面的信息时,则可以获得第一页面至第十五页面的可执行概率,以便能够根据第一页面至第十五页面的可执行概率,确定主页面上将要执行的样本动作。
需要说明的是,可执行概率可以根据样本动作对应的收益值确定,比如从主页面分别跳转到第一页面至第十五页面的收益值,收益值的确定方式请参见上述相关介绍;当然,也可以根据其他的影响跳转速度的因素进行确定,本申请实施例对此不作具体限定。
另外,初始构建的页面跳转模型可以是基于初始模型参数构建的页面跳转模型,其中,初始模型参数可以预先设定,例如,初始模型参数可以根据应用场景设定;而且,初始构建的页面跳转模型也可以是基于其他方式构建的页面跳转模型。
基于上述介绍的页面跳转模型的相关知识,本申请实施例还提供了S1012的一种具体实施方式,在该实施方式中,S1012具体可以为:
S1012a:将当前页面的相关信息输入至初始构建的页面跳转模型中,获取各个样本动作对应的可执行概率。
S1012b:比较各个样本动作对应的可执行概率,获得最大可执行概率,并执行最大可执行概率对应的样本动作进行页面跳转。
S1012c:判断是否已遍历目标APP的所有页面,若是,则执行S1012e;若否,则执行S1012d。
S1012d:将执行最大可执行概率对应的样本动作之后的页面作为当前页面,返回执行S1012a。
S1012e:停止遍历目标APP。
在上述提供的S1012的具体实施方式中,可以经过多次页面跳转动作实现对目标APP中所有页面的遍历,而且,每个页面跳转的过程具体为:根据初始构建的页面跳转模型输出的各个样本动作对应的可执行概率,确定在当前页面上的执行动作,并执行该确定的执行动作进行页面跳转。如此,由于每次页面跳转均选用可执行概率最大的样本动作进行跳转,因而,能够提高遍历目标APP的所有页面的跳转速度,从而提高训练样本集的构建效率。
S1013:根据对目标APP的页面遍历路径,构建训练样本集。
作为示例,假设目标APP包括:主页面、第一页面至第五页面,而且,对目标APP的页面遍历路径为:主页面→第三页面→第四页面→第五页面→第一页面→第二页面时,则S1013具体为:根据对目标APP的页面遍历路径,构建训练样本集(例如,训练样本集可以包括图2所示的5条样本数据)。
由于对目标APP的页面遍历路径能够准确地记录对目标APP中不同页面之间的访问顺序,使得根据该页面遍历路径构建的训练样本集不仅包括了不同页面之间的跳转关系,还包括了对目标APP中不同页面之间的访问顺序,因而,在对目标APP进行测试的过程中,根据该训练样本集得到的页面跳转模型能够按照训练样本集中的访问顺序进行访问,从而避免了重复多次进行从同一个页面到另一个页面的跳转动作,进而提高了页面跳转模型对目标APP的所有页面的遍历效率。另外,由于根据该页面遍历路径构建的训练样本集还包括了对目标APP中所有页面的访问方式,因而,在对目标APP进行测试的过程中,根据该训练样本集得到的页面跳转模型能够遍历目标APP中的所有页面,从而提高了页面跳转模型对目标APP的页面遍历覆盖度。
以上为本申请实施例提供的S101的具体实施方式,在该实施方式中,可以先利用初始构建的页面跳转模型,依据生成的跳转关系数据给出各个样本动作,以便通过执行各个样本动作以遍历目标APP的所有页面;再根据对目标APP的页面遍历路径,构建训练样本集。如此,保证了训练样本集的完整性和准确性,从而提高了训练样本集对目标APP的所有页面的代表性,进而有利于提高后续根据该训练样本集获得的页面跳转模型对目标APP的页面遍历覆盖度。
下面介绍S102的具体实施方式。
在S102中的一种实施方式中,S102具体可以为:根据训练样本集,对初始构建的页面跳转模型进行训练,得到最终的页面跳转模型。
在上述实施方式中,可以采用多种预设算法对初始构建的页面跳转模型进行训练。其中,预设算法可以预先设定,例如,预设算法可以是深度强化学习(DeepReinforcement Learning,DRL)算法。
DRL算法可以通过先对训练样本集进行随机采样,并利用采样的样本数据对页面跳转模型进行迭代训练,使得页面跳转模型达到最优状态。其中,最优状态是指页面跳转模型能够以最少的步数遍历完目标APP的所有页面。
DRL算法可以将深度学习的感知能力和强化学习的决策能力进行结合,因而,DRL算法涉及了强化学习过程和深度学习过程,为了便于解释和理解DRL算法,下面将依次介绍强化学习过程和深度学习过程。
首先介绍强化学习过程的相关内容。
在强化学习过程中,为了便于对目标APP的不同页面之间的跳转过程进行描述,可以将遍历目标APP的所有页面的过程抽象为一个马尔可夫决策过程;而且,马尔可夫决策过程可以包括:状态空间S、动作空间A、延迟奖励参数值γ和跳转动作执行后的即时奖励R。
其中,“状态空间S”用于描述在遍历目标APP的所有页面的过程中的不同时刻所具有的页面遍历状态信息,而且状态信息可以采用如图2所示的状态向量形式(例如,[1 -1 -1 -1 -1 -1]为S中的一个状态)进行表示。
“动作空间A”包括:在遍历目标APP的所有页面的过程中涉及到的所有跳转动作,而且,跳转动作可以采用不同的方式进行描述。例如,跳转动作可以采用如图2所示的“0-3”的表示方式进行描述。
“延迟奖励参数值γ”用于衡量后续跳转动作对当前跳转动作产生的影响,而且延迟奖励参数值γ可以预先设定,例如,延迟奖励参数值γ可以预先设定为0.9。
“跳转动作执行后的即时奖励R”用于描述在遍历目标APP的所有页面的过程中,每个跳转动作执行后将获得的奖励,而且,跳转动作执行后的即时奖励R可以预先设定。作为示例,可以预先将上述提供的收益值作为跳转动作执行后的即时奖励R。
另外,在强化学习过程中,还需要根据每个跳转动作的相关信息,找到一条最优遍历路径,使得遍历目标APP中所有页面的效率最高。
为了便于解释和理解最优遍历路径的查找过程,下面将以包括N个页面的目标APP为例进行说明。
作为示例,假设目标APP包括N个页面和M个跳转动作,则“状态空间”S包括第1个状态s0至第N个状态sN,“动作空间A”包括第1个动作a0至第M个动作aM,则该查找过程中的目标函数如下:
maxQ(s0)=maxE[R(s0,a0)+γ·R(s1,a1)+γ2·R(s2,a2)+...] (1)
式中,maxQ(s0)表示状态s0的最大收益,而且,该状态s0的最大收益对应于以状态s0对应的页面作为遍历起点的最优遍历路径,该最优遍历路径具体为:从状态s0对应的页面(例如,主页面)开始,依次跳转到状态s1对应的页面、s2对应的页面、s3对应的页面,……,sN-1对应的页面;maxE[]表示获取最优遍历路径的函数;R(s0,a0)表示在状态s0对应的页面上执行动作a0时获得的即时奖励;R(si,ai)表示在状态si对应的页面上执行动作ai时获得的即时奖励;γ为延迟奖励参数值;a0表示状态s0对应的页面跳转至状态s1对应的页面时对应的跳转动作;ai表示状态si对应的页面跳转至状态si+1对应的页面时对应的跳转动作;N表示目标APP中页面的总数量;M表示目标APP中跳转动作的总数量。
需要说明的是,γ能够保证maxQ(s0)的值为有限数,以便于后续能够根据maxQ(s0)的值确定出最优遍历路径。
另外,还可以将公式(1)进行一次变换,得到贝尔曼(bellman)方程如下:
Q(s0,a0)=R(s0,a0)+γ·maxQ(s1) (2)
其中,Q(s0,a0)表示在状态s0对应的页面上执行动作a0时获得的总收益;R(s0,a0)表示在状态s0对应的页面上执行动作a0时获得的即时奖励;γ为延迟奖励参数值;maxQ(s1)表示当状态s0对应的页面跳转至状态s1对应的页面时,以状态s1对应的页面作为起点的未来最大收益。
基于上述内容可知,在最优遍历路径的确定过程中,需要找到s0状态下最优的动作a0,但是由于当前最优的动作a0并不一定是全局最优的动作a0,因而a0的选取又不能仅仅只考虑当前最优,还需要考虑后续的跳转动作对当前跳转动作的影响。如此,在本申请中,需要重复利用公式(2)对遍历过程中的每个状态进行迭代,以便重复更新每个动作对应的总收益值,当每个动作对应的总收益值收敛时,则可以确定每个状态下的最优动作,从而根据该最优动作,得到以状态s0对应的页面作为遍历起点的最优遍历路径。
需要说明的是,每个动作对应的总收益值收敛具体可以指:神经网络参数不变,或,当输入相同内容时,神经网络的输出内容不变。
以上为强化学习过程的相关内容,在强化学习过程中,需要根据目标APP的遍历,生成该目标APP的遍历过程对应的总收益值,以便后续能够根据该总收益值,确定出目标APP的最优遍历路径。
下面介绍深度学习过程的相关内容。
由于“状态空间S”的大小将随着目标APP的页面总数呈指数级增长,使得“状态空间S”对应的总收益值表也呈指数级增长,例如,当目标APP包括N个跳转页面和M个跳转动作,则“状态空间S”对应的总收益值表包括2N·M个总收益,因而,无法通过穷举出每个可能出现的状态以及该状态下的每个动作的方式,计算出每个可能出现的状态对应的总收益值。
为了解决这个问题,本申请将采用深度神经网络,对S101得到的训练样本集中的样本数据进行拟合,得到页面跳转模型,使得页面跳转模型能够对输入状态的动作总收益值进行预测,获得在输入状态下执行每个跳转动作所获得的总收益。因而,当目标APP包括N个页面和M个跳转动作时,该页面跳转模型能够根据输入的N维状态向量进行预测,得到该N维状态向量对应的M维总收益向量,其中,总收益向量中的每一维表示在当前状态下执行每个跳转动作所获得的总收益。如此,由于页面跳转模型能够对所有状态下的动作总收益值进行预测,因而,本申请无需通过穷举出每个可能出现的状态以及该状态下的每个动作的方式,计算每个可能出现的状态对应的总收益值,仅需向页面跳转模型输入N维状态向量,便可以得到该N维状态向量对应的M维总收益向量,从而提高了动作总收益值的计算效率,并节约了存储空间。
另外,在深度学习过程中,将结合基准网络模型对页面跳转模型进行训练;其中,基准网络模型和页面跳转模型的结构相同,比如,均是若干层全连接的深度神经网络;而且,基准网络模型和页面跳转模型对应的隐藏层与各隐藏层节点数可同步自适应调整,例如,页面跳转模型的网络参数经过若干次更新后,可将页面跳转模型的网络参数复制给基准网络模型。需要说明的是,如何结合基准网络模型对页面跳转模型进行训练,将在后续内容中进行详细介绍。
以上为深度学习过程的相关内容,在深度学习过程中,可以利用深度神经网络对页面跳转模型进行训练,使得页面跳转模型能够根据输入的N维状态向量进行预测,得到该N维状态向量对应的M维总收益向量,从而提高了动作总收益值的计算效率,并节约了存储空间。
基于上述介绍的DRL算法的相关内容,本申请实施例还提供了页面跳转模型的训练方法的一种实施方式,在该实施方式中,S102具体可以为:先对初始构建的页面跳转模型进行T次的批训练,该批训练用于使用K个样本数据(S101中训练样本集中的样本数据)对当前的页面跳转模型进行参数更新;当在T次的批训练结束后,继续对页面跳转模型进行T次的批训练,直至页面跳转模型满足训练结束条件为止。
其中,T可以预先设定,而且T≥1。例如,T可以预先设定为100。
为了便于解释和理解上述提供的S102实施方式,下面将以T大于1为例进行说明。
作为一种实施方式,当T大于1时,则S102具体可以包括S1021-S1022:
S1021:使用第1批的K个样本数据,对初始构建的页面跳转模型进行参数更新,完成第1次批训练,得到经第1次批训练后的页面跳转模型。
K可以预先设定,例如,K可以预先根据应用场景设定;而且,由于K个样本数据是从训练样本集中获取的,因而,K≤训练样本集中样本数据的总个数,且K为正整数。
K个样本数据可以按照预设规则从训练样本集中选取出来;其中,预设规则可以预先设定,例如,依据训练样本集中各个样本数据的数据标识依次选取K个样本数据,或者,从训练样本集中随机选择K个样本数据。
作为一种实施方式,S1021具体可以包括S1021a-S1021c:
S1021a:利用当前的基准网络模型生成K个样本数据各自对应的基准值。
该基准值为当执行对应样本数据中的样本动作由初始页面进入目标页面之后执行各个不同系列动作产生的各个总收益中的最大值,其中,这里的初始页面是对应样本数据中的初始页面标识所指的页面,这里的目标页面是对应样本数据中的目标页面标识所指的页面。另外,第1次批训练中的基准网络模型的模型参数可以参数初始化得到的。
S1021b:利用当前的页面跳转模型生成K个样本数据各自对应的预测值。
该预测值为从初始页面开始之后的预测系列动作产生的总收益,其中,这里的初始页面与S1021a中提及的初始页面相同。
S1021c:根据K个基准值和预测值,对当前的页面跳转模型进行参数更新,完成第1次批训练,并得到第1次批训练生成的页面跳转模型。
作为一种实施方式,S1021c具体可以为:根据K个基准值和预测值,利用公式(3),得到当前的页面跳转模型对应的损失值loss;根据该损失值loss,对当前的页面跳转模型进行参数更新,完成第1次批训练,并得到经第1次批训练生成的页面跳转模型。
其中,loss表示当前的页面跳转模型对应的损失值;K表示样本数据的个数;Qq_net(s(l))表示执行第l个样本数据中的样本动作对应得到的预测值;q_net表示当前的页面跳转模型;r_net表示当前的基准网络模型;γ表示延迟奖励参数值;(R(s(l),a(l))+γ·maxQT_net(s_(l),a')表示执行第l个样本数据中的样本动作对应得到的基准值;R(s(l),a(l))表示在状态s(l)对应的页面上执行动作a(l)时获得的即时奖励;max QT_net(s_(l),a')表示状态s_(l)的最大收益(计算详情请见公式(1));a(l)表示状态s(l)对应的页面跳转至状态s_(l)对应的页面时对应的跳转动作;a'表示状态s_(l)对应的页面跳转至下一个页面时对应的跳转动作。
如果当前的页面跳转模型对应的损失值loss越小,则表示当前的页面跳转模型的遍历目标APP中页面的能力越高,反之,如果当前的页面跳转模型对应的损失值loss越大,则表示当前的页面跳转模型的遍历目标APP中页面的能力越弱,故而,可以基于loss值的大小,对当前的页面跳转模型进行参数更新,以提升页面跳转模型的遍历能力,此时,完成第1次批训练。
需要说明的是,S1021a和S1021b之间没有固定的执行顺序,可以依次执行S1021a和S1021b,也可以依次执行S1021b和S1021a,还可以同时执行S1021a和S1021b。
S1022:使用第2批的K个样本数据,对经第1次批训练后得到的页面跳转模型进行参数更新,完成第2次批训练,得到经第2次批训练后的页面跳转模型。
需要说明的是,S1022的具体实施方式与S1021的具体实施方式相同,为了简要起见,在此不再赘述。
按照上述方式,再使用第3批的K个样本数据,对经第2次批训练后得到的页面跳转模型进行参数更新,完成第3次批训练,得到经第3次批训练后的页面跳转模型,……,这样,不断的对页面跳转模型进行批训练,直至完成T次批训练。
需要说明的是,在上述实施方式中,每次批训练过程中使用的K个样本数据可以是相同的,也可以是不同的,本申请对此不作具体限定。
接下来,将经T次批训练后得到的页面跳转模型作为初始构建的页面跳转模型,并将T次批训练后得到的页面跳转模型的模型参数复制给当前的基准网络模型,返回执行S1021。
在该实施方式中,由于每进行T次批训练之后,需将T次批训练后得到的页面跳转模型的模型参数复制给当前的基准网络模型,使得基准网络模型能够保存经该T次批训练后的性能较优的页面跳转模型,从而使得基准网络模型达到局部最优,在后续对页面跳转模型进行训练时,有利于进一步提高页面跳转模型的训练效率,并提升页面跳转模型的页面遍历能力。
这样,每完成T次批训练,便实现了对页面跳转模型的一轮训练,可以通过多轮训练,直到页面跳转模型满足训练结束条件为止,比如,对页面跳转模型的训练轮数超过预设次数、或者loss值小于预设阈值为止,此时,得到最终的页面跳转模型。
以上为S102的具体实施方式,在该实施方式中,可以根据训练样本集,对初始构建的页面跳转模型进行训练,得到最终的页面跳转模型。
以上为本申请方法实施例一提供的页面跳转模型的训练方法的具体实施方式,在该实施方式中,通过利用构建的训练样本集,训练得到页面跳转模型。由于训练样本集中包括了能够覆盖目标APP中所有页面的样本数据,因而,根据该训练样本集训练得到的页面跳转模型,能够给出覆盖该目标APP中所有页面或大部分页面对应的跳转动作。如此,当使用该页面跳转模型进行目标APP的稳定性测试时,能够在目标APP的所有页面或大部分页面之间进行跳转,并对目标APP的所有页面进行测试,从而提高了页面跳转的覆盖度以及APP页面的测试覆盖度。
在上述方法实施例一提供的页面跳转模型的训练方法中,可以根据训练样本数据集中提供的样本数据,训练得到页面跳转模型,使得该页面跳转模型能够覆盖目标APP的所有页面或大部分页面之间的跳转动作。
另外,为了进一步提高页面跳转模型的训练效率,尤其是当目标APP的页面总数量较大时,可以将训练样本集拆分成多个样本子集,以便于根据每个样本子集分别进行训练,因而,本申请还提供了另一种页面跳转模型的训练方法,下面将结合附图进行具体解释和说明。
方法实施例二
方法实施例二是在方法实施例一的基础上进行的改进,为了简要起见,方法实施例二中与方法实施例一中相同的内容,在此不再赘述。
参见图5,该图为本申请方法实施例二提供的页面跳转模型的训练方法的流程图。
本申请实施例提供的页面跳转模型的训练方法,包括:
S501:构建训练样本集。
S502:根据训练样本集中的每一样本子集,对初始构建的页面跳转模型进行训练,得到每一页面跳转子模型,构成最终的页面跳转模型。
以上为本申请方法实施例二提供的页面跳转模型的训练方法的具体执行步骤,为了便于理解和解释本申请方法实施例二提供的页面跳转模型的训练方法,下面将依次介绍S501和S502的具体实施方式。
首先介绍S501的具体实施方式。
在S501中,可以先采用S101提供的具体实施方式生成训练样本集,再按照预设划分规则将训练样本集划分为多个样本子集,以便使得训练样本集能够包括多个样本子集。其中,预设划分规则可以预先设定。
具体地,S501可以包括S5011-S5015:
S5011:生成目标APP的跳转关系数据,跳转关系数据包括目标APP的各个页面之间的可跳转关系。
S5011的具体实施方式与S1011的具体实施方式相同,在此不再赘述。
S5012:按照预设拆分规则,将跳转关系数据拆分成多个跳转关系子数据,该跳转关系子数包括目标APP的部分页面之间的可跳转关系。
预设拆分规则可以预先设定,例如,预设拆分规则可以预先根据应用场景设定。
作为示例,如图4和图6所示,S5012具体可以为:按照预设拆分规则,可以将图4所示的跳转关系数据拆分成图6所示的六个跳转关系子数据:第一跳转关系子数据601至第六跳转关系子数据606。
需要说明的是,上述是以跳转关系数据采用树状结构图的表达方式为例进行说明的,然而,上述提供的跳转关系数据的拆分方法不仅适用于采用树状结构图的表达方式的跳转关系数据,还适用于其他任一表达方式下的跳转关系数据。
S5013:利用初始构建的页面跳转模型,分别依据每个跳转关系子数据给出各个样本动作,并通过执行各个样本动作以遍历该跳转关系子数据对应的目标APP的部分页面。
作为示例,当跳转关系子数据如图6所示时,则S5013具体可以为:
S5013a:利用初始构建的页面跳转模型,依据第一跳转关系子数据601给出各个样本动作,并通过执行各个样本动作以遍历第一跳转关系子数据601对应的目标APP中的主页面、第一页面至第五页面。
S5013b:利用初始构建的页面跳转模型,依据第二跳转关系子数据602给出各个样本动作,并通过执行各个样本动作以遍历第二跳转关系子数据602对应的目标APP中的第一页面、第六页面至第十一页面。
S5013c:利用初始构建的页面跳转模型,依据第三跳转关系子数据603给出各个样本动作,并通过执行各个样本动作以遍历第三跳转关系子数据603对应的目标APP中的第二页面和第十二页面。
S5013d:利用初始构建的页面跳转模型,依据第四跳转关系子数据604给出各个样本动作,并通过执行各个样本动作以遍历第四跳转关系子数据604对应的目标APP中的第三页面和第十三页面。
S5013e:利用初始构建的页面跳转模型,依据第五跳转关系子数据605给出各个样本动作,并通过执行各个样本动作以遍历第五跳转关系子数据605对应的目标APP中的第四页面和第十四页面。
S5013f:利用初始构建的页面跳转模型,依据第六跳转关系子数据606给出各个样本动作,并通过执行各个样本动作以遍历第六跳转关系子数据606对应的目标APP中的第五页面和第十五页面。
需要说明的是,S5013a至S5013f之间没有固定的执行顺序,可以按照第一预设顺序依次执行,也可以同时执行所有步骤,本申请对此不作具体限定。
S5014:根据每个跳转关系子数据对应的页面遍历路径,构建每个样本子集。
作为示例,当跳转关系子数据如图6所示时,则S5014具体可以为:根据第一跳转关系子数据601至第六跳转关系子数据606对应的页面遍历路径,分别构建第一样本子集至第六样本子集。
需要说明的是,第一样本子集至第六样本子集的构建没有固定顺序,可以按照第二预设顺序依次进行第一样本子集至第六样本子集的构建,也可以同时进行第一样本子集至第六样本子集的构建,本申请对此不作具体限定。
S5015:根据多个样本子集,构建训练样本集。
以上为S501的具体实施方式,在该实施方式中,可以将采用S101提供的实施方式构建的训练样本集划分为多个样本子集,使得训练样本集能够包括多个样本子集;也可以将页面跳转关系数据拆分为多个页面跳转关系子数据,以便后续能够根据每个页面跳转关系子数据分别生成每个样本子集,并根据多个样本子集构建训练样本集。
下面介绍S502的具体实施方式。
为了便于解释和理解S502,下面将以一种实施方式为例进行说明。
作为一种实施方式,当训练样本集包括六个样本子集:第一样本子集至第六样本子集时,则S502具体可以为:
S5021:根据第一样本子集,对初始构建的页面跳转模型进行训练,得到第一页面跳转子模型。
S5022:根据第二样本子集,对初始构建的页面跳转模型进行训练,得到第二页面跳转子模型。
S5023:根据第三样本子集,对初始构建的页面跳转模型进行训练,得到第三页面跳转子模型。
S5024:根据第四样本子集,对初始构建的页面跳转模型进行训练,得到第四页面跳转子模型。
S5025:根据第五样本子集,对初始构建的页面跳转模型进行训练,得到第五页面跳转子模型。
S5026:根据第六样本子集,对初始构建的页面跳转模型进行训练,得到第六页面跳转子模型。
S5027:根据第一页面跳转子模型至第六页面跳转子模型,构成最终的页面跳转模型。
需要说明的是,S5021至S5026之间没有固定的执行顺序,可以按照第三预设顺序依次执行S5021至S5026,也可以同时执行S5021至S5026,本申请对此不作具体限定。
以上为S502的具体实施方式,在该实施方式中,根据训练样本集中的每一样本子集,对初始构建的页面跳转模型进行训练,得到每一页面跳转子模型,构成最终的页面跳转模型。需要说明的是,在S502的具体实施方式中,每个页面跳转子模型的训练方式均可以采用在方法实施例一的S102中提供的任一种训练方式,为了简要起见,在此不再赘述。
以上为本申请方法实施例二提供的页面跳转模型的训练方法的具体实施方式,在该实施方式中,可以根据训练样本集中的每一样本子集,对初始构建的页面跳转模型进行训练,得到每一页面跳转子模型,构成最终的页面跳转模型。如此使得方法实施例二提供的页面跳转模型的训练方法,不仅具有方法实施例一提供页面跳转模型的训练方法所具有的优点,还能够将根据目标APP的所有页面训练得到页面跳转模型的任务拆分为多个子任务,以便能够提高页面跳转模型的训练效率,尤其当目标APP的页面总数量较大时,能够有效提高页面跳转模型的训练效率。
在上述提供的方法实施例一和方法实施例二提供的页面跳转模型的训练方法中,可以根据构建的训练样本集,训练得到页面跳转模型,使得页面跳转模型用于给出覆盖目标APP的全部或大部分页面的一系列跳转动作。
另外,基于上述提供的任一种页面跳转模型的训练方法,本申请实施例还提供了一种页面跳转测试方法,下面将结合附图进行解释和说明。
方法实施例三
参见图7,该图为本申请方法实施例三提供的页面跳转测试方法的流程图。
本申请实施例提供的页面跳转测试方法,包括:
S701:利用预先训练的页面跳转模型,按照页面跳转模型给出的页面操作动作,对目标APP进行页面跳转测试。
其中,页面跳转模型为采用方法实施例一或方法实施例二提供的任一种页面跳转模型的训练方法训练得到的页面跳转模型。
以上为本申请方法实施例三提供的页面跳转测试方法的一种实施方式,在该实施方式中,可以利用页面跳转模型对目标APP进行页面跳转测试。由于页面跳转模型为采用方法实施例一或方法实施例二提供的任一种页面跳转模型的训练方法训练得到的页面跳转模型,因而,页面跳转测试方法能够在目标APP的所有页面或大部分页面之间进行跳转,并对目标APP的所有页面或大部分页面进行遍历,从而提高了对目标APP的页面覆盖度。
此外,由于预先训练的页面跳转模型是基于上述实施例一介绍的深度学习方法训练得到的,故而,页面跳转模型给出的页面操作动作(即,一系列跳转动作),不但能够保证较大的页面覆盖度,还能够保证较短的遍历路径,使得对目标APP进行页面跳转测试时,能够按照该较短的遍历路径进行页面跳转,减少了无效的页面跳转动作以及重复的页面跳转动作的发生,从而提高了对目标APP的遍历速度。
另外,为了提高每个页面上的控件遍历覆盖度,本申请还提供了页面跳转测试方法的另一种实施方式,在该实施方式中,该方法还包括:
S702:在利用页面跳转模型从当前页面跳转到下一页面之前,利用预置的页面操作工具,在当前页面模拟真实用户的带有随机性的页面操作行为,并对页面操作工具的操作时间进行计时;当计时达到第一预设时长后,跳转到下一页面。
页面操作工具可以是任一种能够对目标APP进行测试的工具。
作为示例,页面操作工具可以是monkey工具,其中,monkey工具能够模拟随机性较高的人为操作,实现在当前页面上进行随机点击动作;而且,该随机点击动作可能会触发当前页面上的控件,也可能不触发当前页面上的控件。如此,不仅提高了目标APP的控件触发的随机性,还使得页面跳转测试方法能够更准确地模拟随机性较高的人为操作。
需要说明的是,上述示例中,“点击”用于表示monkey工具对页面采用的动作触发行为,但是,在本申请中,monkey工具不仅可以采用“点击”的触发行为、也可以采用“滑动”的触发行为,还可以采用其他的触发行为,本申请对此不作具体限定。
第一预设时长可以预先设定,例如,第一预设时长可以根据应用场景设定。
需要说明的是,S701和S702之间没有固定的执行顺序,可以依次执行S701和S702,也可以依次执行S702和S701,还可以同时执行S701和S702。
以上为本申请实施例提供的页面跳转测试方法的另一种实施方式,在该实施方式中,可以利用页面跳转模型对目标APP进行页面跳转测试,并利用预置的页面操作工具在当前页面上模拟真实用户的带有随机性的页面操作行为。如此,页面跳转测试方法不仅能够在目标APP的所有页面之间进行跳转,以便对目标APP的所有页面进行遍历,从而提高了对目标APP的遍历速度和页面覆盖度;而且,由于预置的页面操作工具能够模拟真实用户的带有随机性的页面操作行为,使得页面操作工具能够随机地触发一些页面跳转模型中没有涉及的控件,因而,该页面跳转测试方法不仅能够对页面跳转模型中涉及到的控件进行测试,还能够对页面跳转模型中没有涉及的控件进行测试,以便提高每个页面上的控件遍历覆盖度,从而提高了目标APP的控件遍历覆盖度。
基于上述方法实施例一和方法实施例二提供的任一种页面跳转模型的训练方法的实施方式,本申请实施例还提供了一种页面跳转模型的训练装置,下面将结合附图进行解释和说明。
装置实施例一
本实施例将对一种页面跳转模型的训练装置进行介绍,相关内容请参见上述方法实施例一和方法实施例二。
参见图8,该图为本申请装置实施例一提供的页面跳转模型的训练装置的结构示意图。
本申请实施例提供的页面跳转模型的训练装置800,包括:
构建单元801,用于构建训练样本集;所述训练样本集包括覆盖了所述目标APP的所有页面的各个样本数据,所述样本数据包括在目标APP上执行的样本动作、执行所述样本动作之前的初始页面标识、执行所述样本动作之后的目标页面标识;
训练单元802,用于根据所述训练样本集,训练得到页面跳转模型,所述页面跳转模型用于给出覆盖所述目标APP的全部或大部分页面的一系列跳转动作。
在本实施例的一种实现方式中,所述构建单元801包括:
生成子单元,用于生成目标APP的跳转关系数据,所述跳转关系数据包括所述目标APP的各个页面之间的可跳转关系;
遍历子单元,用于利用初始构建的页面跳转模型,依据所述跳转关系数据给出各个样本动作,并通过执行各个样本动作以遍历所述目标APP的所有页面;
构建子单元,用于根据对所述目标APP的页面遍历路径,构建所述训练样本集。
在本实施例的一种实现方式中,所述生成子单元,包括:
第一触发模块,用于通过触发所述目标APP的主页面的每一有效控件来实现页面跳转,以进入所述主页面下的各个第一从页面;
第二触发模块,用于通过触发所述第一从页面的每一有效控件来实现页面跳转,以进入所述第一从页面下的各个第二从页面,直至遍历跳转了所述目标APP的所有页面;
生成子模块,用于按照每一跳转前后对应的页面,生成所述目标APP的跳转关系数据。
在本实施例的一种实现方式中,所述训练单元802具体用于:
根据所述训练样本集,对初始构建的页面跳转模型进行训练,得到最终的页面跳转模型;
或者,根据所述训练样本集中的每一样本子集,对初始构建的页面跳转模型进行训练,得到每一页面跳转子模型,构成最终的页面跳转模型。
在本实施例的一种实现方式中,所述训练单元802,包括:
批训练子单元,用于对初始构建的页面跳转模型进行T次的批训练,所述批训练用于使用K个样本数据对当前的页面跳转模型进行参数更新,T大于或等于1;
循环子单元,用于在T次的批训练结束后,继续对页面跳转模型进行T次的批训练,直至页面跳转模型满足训练结束条件为止。
在本实施例的一种实现方式中,所述样本数据还包括:执行所述样本动作之后是否发生页面的遍历更新。
在本实施例的一种实现方式中,所述样本数据还包括:所述样本动作对应的收益值;其中,
若执行所述样本动作之后发生页面的遍历更新,则所述样本动作对应的收益值为第一收益值;
若执行所述样本动作之后没有发生页面的遍历更新、且执行所述样本动作前后的页面不同,则所述样本动作对应的收益值为第二收益值;
若执行所述样本动作之后没有发生页面的遍历更新、且执行所述样本动作前后的页面相同,则所述样本动作对应的收益值为第三收益值;
所述第一收益值、所述第二收益值、所述第三收益值的大小依次递减。
在本实施例的一种实现方式中,所述批训练子单元,包括:
生成模块,用于利用当前的基准网络模型生成K个样本数据各自对应的基准值,并利用当前的页面跳转模型生成K个样本数据各自对应的预测值;
更新模块,用于根据K个基准值和预测值,对当前的页面跳转模型进行参数更新,完成一次所述批训练;
其中,T次所述批训练后得到的页面跳转模型的模型参数被复制给当前的基准网络模型;所述基准值为当执行对应样本数据中的样本动作由初始页面进入目标页面之后执行各个不同系列动作产生的各个总收益中的最大值;所述预测值为从所述初始页面开始之后的预测系列动作产生的总收益。
进一步地,本申请实施例还提供了一种页面跳转模型的训练设备,包括:处理器、存储器、***总线;
所述处理器以及所述存储器通过所述***总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述页面跳转模型的训练方法的任一种实施方式。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述页面跳转模型的训练方法的任一种实施方式。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述页面跳转模型的训练方法的任一种实施方式。
基于上述方法实施例三提供的页面跳转测试方法的任一种实施方式,本申请实施例还提供了一种页面跳转测试装置,下面将结合附图进行解释和说明。
装置实施例二
本实施例将对一种页面跳转测试装置进行介绍,相关内容请参见上述方法实施例三。
参见图9,该图为本申请装置实施例二提供的页面跳转测试装置的结构示意图。
本申请实施例提供的页面跳转测试装置900,包括:
测试单元901,用于利用预先训练的页面跳转模型,按照所述页面跳转模型给出的页面操作动作,对目标APP进行页面跳转测试;
其中,所述页面跳转模型为采用上述装置实施例一提供的装置训练得到的页面跳转模型的任一种实施方式。
在本实施例的一种实现方式中,所述装置还包括:
模拟单元,用于在利用所述页面跳转模型从当前页面跳转到下一页面之前,利用预置的页面操作工具,在所述当前页面模拟真实用户的带有随机性的页面操作行为,并对所述页面操作工具的操作时间进行计时;
跳转单元,用于当计时达到第一预设时长后,跳转到所述下一页面。
进一步地,本申请实施例还提供了一种页面跳转测试设备,包括:处理器、存储器、***总线;
所述处理器以及所述存储器通过所述***总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述页面跳转测试方法的任一种实施方式。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述页面跳转测试方法的任一种实施方式。
进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述页面跳转测试方法的任一种实施方式。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (17)
1.一种页面跳转模型的训练方法,其特征在于,包括:
构建训练样本集;所述训练样本集包括覆盖了所述目标APP的所有页面的各个样本数据,所述样本数据包括在目标APP上执行的样本动作、执行所述样本动作之前的初始页面标识、执行所述样本动作之后的目标页面标识;
根据所述训练样本集,训练得到页面跳转模型,所述页面跳转模型用于给出覆盖所述目标APP的全部或大部分页面的一系列跳转动作。
2.根据权利要求1所述的方法,其特征在于,所述构建训练样本集包括:
生成目标APP的跳转关系数据,所述跳转关系数据包括所述目标APP的各个页面之间的可跳转关系;
利用初始构建的页面跳转模型,依据所述跳转关系数据给出各个样本动作,并通过执行各个样本动作以遍历所述目标APP的所有页面;
根据对所述目标APP的页面遍历路径,构建所述训练样本集。
3.根据权利要求2所述的方法,其特征在于,所述生成目标APP的跳转关系数据,包括:
通过触发所述目标APP的主页面的每一有效控件来实现页面跳转,以进入所述主页面下的各个第一从页面;
通过触发所述第一从页面的每一有效控件来实现页面跳转,以进入所述第一从页面下的各个第二从页面,直至遍历跳转了所述目标APP的所有页面;
按照每一跳转前后对应的页面,生成所述目标APP的跳转关系数据。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述根据所述训练样本集,训练得到页面跳转模型包括:
根据所述训练样本集,对初始构建的页面跳转模型进行训练,得到最终的页面跳转模型;
或者,根据所述训练样本集中的每一样本子集,对初始构建的页面跳转模型进行训练,得到每一页面跳转子模型,构成最终的页面跳转模型。
5.根据权利要求4所述的方法,其特征在于,所述对初始构建的页面跳转模型进行训练,包括:
对初始构建的页面跳转模型进行T次的批训练,所述批训练用于使用K个样本数据对当前的页面跳转模型进行参数更新,T大于或等于1;
在T次的批训练结束后,继续对页面跳转模型进行T次的批训练,直至页面跳转模型满足训练结束条件为止。
6.根据权利要求5所述的方法,其特征在于,所述样本数据还包括:执行所述样本动作之后是否发生页面的遍历更新。
7.根据权利要求6所述的方法,其特征在于,所述样本数据还包括:所述样本动作对应的收益值;其中,
若执行所述样本动作之后发生页面的遍历更新,则所述样本动作对应的收益值为第一收益值;
若执行所述样本动作之后没有发生页面的遍历更新、且执行所述样本动作前后的页面不同,则所述样本动作对应的收益值为第二收益值;
若执行所述样本动作之后没有发生页面的遍历更新、且执行所述样本动作前后的页面相同,则所述样本动作对应的收益值为第三收益值;
所述第一收益值、所述第二收益值、所述第三收益值的大小依次递减。
8.根据权利要求7所述的方法,其特征在于,所述使用K个样本数据对当前的页面跳转模型进行参数更新,包括:
利用当前的基准网络模型生成K个样本数据各自对应的基准值,并利用当前的页面跳转模型生成K个样本数据各自对应的预测值;
根据K个基准值和预测值,对当前的页面跳转模型进行参数更新,完成一次所述批训练;
其中,T次所述批训练后得到的页面跳转模型的模型参数被复制给当前的基准网络模型;所述基准值为当执行对应样本数据中的样本动作由初始页面进入目标页面之后执行各个不同系列动作产生的各个总收益中的最大值;所述预测值为从所述初始页面开始之后的预测系列动作产生的总收益。
9.一种页面跳转测试方法,其特征在于,包括:
利用预先训练的页面跳转模型,按照所述页面跳转模型给出的页面操作动作,对目标APP进行页面跳转测试;
其中,所述页面跳转模型为采用权利要求1至8任一项所述的方法训练得到的页面跳转模型。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在利用所述页面跳转模型从当前页面跳转到下一页面之前,利用预置的页面操作工具,在所述当前页面模拟真实用户的带有随机性的页面操作行为,并对所述页面操作工具的操作时间进行计时;
当计时达到第一预设时长后,跳转到所述下一页面。
11.一种页面跳转模型的训练装置,其特征在于,包括:
构建单元,用于构建训练样本集;所述训练样本集包括覆盖了所述目标APP的所有页面的各个样本数据,所述样本数据包括在目标APP上执行的样本动作、执行所述样本动作之前的初始页面标识、执行所述样本动作之后的目标页面标识;
训练单元,用于根据所述训练样本集,训练得到页面跳转模型,所述页面跳转模型用于给出覆盖所述目标APP的全部或大部分页面的一系列跳转动作。
12.根据权利要求11所述的装置,其特征在于,所述构建单元包括:
生成子单元,用于生成目标APP的跳转关系数据,所述跳转关系数据包括所述目标APP的各个页面之间的可跳转关系;
遍历子单元,用于利用初始构建的页面跳转模型,依据所述跳转关系数据给出各个样本动作,并通过执行各个样本动作以遍历所述目标APP的所有页面;
构建子单元,用于根据对所述目标APP的页面遍历路径,构建所述训练样本集。
13.根据权利要求11或12所述的装置,其特征在于,所述训练单元具体用于:
根据所述训练样本集,对初始构建的页面跳转模型进行训练,得到最终的页面跳转模型;
或者,根据所述训练样本集中的每一样本子集,对初始构建的页面跳转模型进行训练,得到每一页面跳转子模型,构成最终的页面跳转模型。
14.根据权利要求13所述的装置,其特征在于,所述训练单元,包括:
批训练子单元,用于对初始构建的页面跳转模型进行T次的批训练,所述批训练用于使用K个样本数据对当前的页面跳转模型进行参数更新,T大于或等于1;
循环子单元,用于在T次的批训练结束后,继续对页面跳转模型进行T次的批训练,直至页面跳转模型满足训练结束条件为止。
15.根据权利要求14所述的装置,其特征在于,所述样本数据还包括:执行所述样本动作之后是否发生页面的遍历更新。
16.一种页面跳转测试装置,其特征在于,包括:
测试单元,用于利用预先训练的页面跳转模型,按照所述页面跳转模型给出的页面操作动作,对目标APP进行页面跳转测试;
其中,所述页面跳转模型为采用权利要求11至15任一项所述的装置训练得到的页面跳转模型。
17.根据权利要求16所述的装置,其特征在于,所述装置还包括:
模拟单元,用于在利用所述页面跳转模型从当前页面跳转到下一页面之前,利用预置的页面操作工具,在所述当前页面模拟真实用户的带有随机性的页面操作行为,并对所述页面操作工具的操作时间进行计时;
跳转单元,用于当计时达到第一预设时长后,跳转到所述下一页面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910281458.1A CN109977029A (zh) | 2019-04-09 | 2019-04-09 | 一种页面跳转模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910281458.1A CN109977029A (zh) | 2019-04-09 | 2019-04-09 | 一种页面跳转模型的训练方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109977029A true CN109977029A (zh) | 2019-07-05 |
Family
ID=67083701
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910281458.1A Pending CN109977029A (zh) | 2019-04-09 | 2019-04-09 | 一种页面跳转模型的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977029A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110781092A (zh) * | 2019-11-07 | 2020-02-11 | 北京博睿宏远数据科技股份有限公司 | 一种脚本测试方法、装置、终端及存储介质 |
CN110990258A (zh) * | 2019-10-29 | 2020-04-10 | 贝壳技术有限公司 | 基于Android***的APP测试方法、装置、可读存储介质及处理器 |
CN111694753A (zh) * | 2020-07-30 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法、装置及计算机存储介质 |
CN111694756A (zh) * | 2020-07-31 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法及装置 |
CN111694755A (zh) * | 2020-07-31 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 应用程序测试方法、装置、电子设备及介质 |
CN111857719A (zh) * | 2020-07-31 | 2020-10-30 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及介质 |
CN112699046A (zh) * | 2021-01-12 | 2021-04-23 | 北京字节跳动网络技术有限公司 | 应用程序测试方法及装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154663A1 (en) * | 2006-12-20 | 2008-06-26 | Sun Microsystems, Inc. | Execution of a BPEL process by simulating partners |
CN106649122A (zh) * | 2016-12-28 | 2017-05-10 | Tcl集团股份有限公司 | 一种终端应用的模型构建方法及装置 |
CN107329893A (zh) * | 2017-06-21 | 2017-11-07 | 广州酷狗计算机科技有限公司 | 应用界面的遍历方法、装置及存储介质 |
CN108304324A (zh) * | 2018-01-22 | 2018-07-20 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法、装置、设备及存储介质 |
CN108334439A (zh) * | 2018-03-14 | 2018-07-27 | 百度在线网络技术(北京)有限公司 | 一种压力测试方法、装置、设备和存储介质 |
-
2019
- 2019-04-09 CN CN201910281458.1A patent/CN109977029A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080154663A1 (en) * | 2006-12-20 | 2008-06-26 | Sun Microsystems, Inc. | Execution of a BPEL process by simulating partners |
CN106649122A (zh) * | 2016-12-28 | 2017-05-10 | Tcl集团股份有限公司 | 一种终端应用的模型构建方法及装置 |
CN107329893A (zh) * | 2017-06-21 | 2017-11-07 | 广州酷狗计算机科技有限公司 | 应用界面的遍历方法、装置及存储介质 |
CN108304324A (zh) * | 2018-01-22 | 2018-07-20 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法、装置、设备及存储介质 |
CN108334439A (zh) * | 2018-03-14 | 2018-07-27 | 百度在线网络技术(北京)有限公司 | 一种压力测试方法、装置、设备和存储介质 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990258A (zh) * | 2019-10-29 | 2020-04-10 | 贝壳技术有限公司 | 基于Android***的APP测试方法、装置、可读存储介质及处理器 |
CN110781092A (zh) * | 2019-11-07 | 2020-02-11 | 北京博睿宏远数据科技股份有限公司 | 一种脚本测试方法、装置、终端及存储介质 |
CN111694753A (zh) * | 2020-07-30 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法、装置及计算机存储介质 |
CN111694753B (zh) * | 2020-07-30 | 2023-04-11 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法、装置及计算机存储介质 |
CN111694756A (zh) * | 2020-07-31 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 一种应用程序测试方法及装置 |
CN111694755A (zh) * | 2020-07-31 | 2020-09-22 | 北京字节跳动网络技术有限公司 | 应用程序测试方法、装置、电子设备及介质 |
CN111857719A (zh) * | 2020-07-31 | 2020-10-30 | 北京字节跳动网络技术有限公司 | 数据处理方法、装置、电子设备及介质 |
CN112699046A (zh) * | 2021-01-12 | 2021-04-23 | 北京字节跳动网络技术有限公司 | 应用程序测试方法及装置、电子设备和存储介质 |
CN112699046B (zh) * | 2021-01-12 | 2024-03-29 | 抖音视界有限公司 | 应用程序测试方法及装置、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109977029A (zh) | 一种页面跳转模型的训练方法及装置 | |
CN112116092B (zh) | 可解释性知识水平追踪方法、***和存储介质 | |
CN107544960B (zh) | 一种基于变量绑定和关系激活的自动问答方法 | |
CN111008693B (zh) | 一种基于数据压缩的网络模型构建方法、***和介质 | |
CN105550746A (zh) | 机器学习模型的训练方法和训练装置 | |
CN106326346A (zh) | 文本分类方法及终端设备 | |
CN115659281A (zh) | 一种自适应加速算子融合的方法及装置 | |
CN109214004A (zh) | 基于机器学习的大数据处理方法 | |
CN110263328A (zh) | 一种学科能力类型标注方法、装置、存储介质及终端设备 | |
El Gourari et al. | The Implementation of Deep Reinforcement Learning in E‐Learning and Distance Learning: Remote Practical Work | |
CN117893575B (zh) | 图神经网络融入自注意力机制的船舶运动预报方法及*** | |
CN116136870A (zh) | 基于增强实体表示的智能社交对话方法、对话*** | |
Li et al. | A genetic causal explainer for deep knowledge tracing | |
CN113177393B (zh) | 改进针对网页结构理解的预训练语言模型的方法和装置 | |
CN110502613A (zh) | 一种模型训练方法、智能检索方法、装置和存储介质 | |
Li et al. | Modified group theory-based optimization algorithms for numerical optimization | |
CN110008880A (zh) | 一种模型压缩方法及装置 | |
CN111695688B (zh) | 一种模型训练方法、装置、设备及存储介质 | |
CN113723566A (zh) | 一种模型训练方法及装置 | |
Li | Personalized Dialogue Generation Method of Chat Robot Based on Topic Perception | |
Haj-Ali | Machine Learning in Compiler Optimization | |
Chen et al. | XGBoost-based student performance prediction in tiered instruction | |
CN110059310A (zh) | 上位词网络的扩充方法及装置、电子设备、存储介质 | |
Zhang et al. | Imitating with Sequential Masks: Alleviating Causal Confusion in Autonomous Driving | |
Marquardt et al. | Estimation of Parameters in the SIR Model Using a Particle Swarm Optimization Algorithm |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190705 |