基于智能探索的自动化测试制造技术

技术编号:39660081 阅读:7 留言:0更新日期:2023-12-11 18:22
本公开提出了用于基于智能探索的自动化测试的方法

【技术实现步骤摘要】
基于智能探索的自动化测试

技术介绍

[0001]在软件应用的开发过程中,测试作为保证应用质量极其重要的一环,起着非常关键的作用

在本文中,可以将针对其来执行测试的软件应用称为目标应用

通常,在对目标应用进行测试时,在确定了测试用例之后,可以由测试人员根据测试用例中描述的规程一步步执行测试,并将实际的测试结果与期望的测试结果进行比较,以验证目标应用的各项功能是否正确

在此过程中,为了节省人力

时间或硬件资源,提高测试效率,引入了自动化测试

自动化测试可以是把以人为驱动的测试转化为机器执行的测试的过程

在自动化测试中,可以利用特定的软件或程序来控制测试的执行以及实际的测试结果与期望的测试结果之间的比较

通过自动化测试,可以使测试流程中存在的一些重复但必要的测试任务自动化,或者可以使原本以人工的方式难以执行的一些测试任务得以执行


技术实现思路

[0002]提供本
技术实现思路
以便介绍一组构思,这组构思将在以下的具体实施方式中做进一步描述


技术实现思路
并非旨在标识所保护的主题的关键特征或必要特征,也不旨在用于限制所保护的主题的范围

[0003]本公开的实施例提出了用于基于智能探索的自动化测试的方法

装置和计算机程序产品

可以获得目标应用的用户界面

可以生成所述用户界面的用户界面表示/>。
可以基于所述用户界面表示,确定针对所述用户界面的动作

可以通过对所述用户界面施加所述动作以探索下一用户界面来对所述目标应用执行自动化测试

[0004]应当注意,以上一个或多个方面包括在下文中详细描述并且在权利要求中具体指出的特征

以下说明书及附图详细阐述了所述一个或多个方面的某些说明性特征

这些特征仅仅指示可以采用各个方面的原理的各种方式,并且本公开旨在包括所有这些方面及其等同变换

附图说明
[0005]下文将结合附图描述所公开的多个方面,这些附图被提供用以说明而非限制所公开的多个方面

[0006]图1示出了根据本公开实施例的自动化测试系统的示例性架构

[0007]图2示出了根据本公开实施例的在目标应用的多个用户界面之间进行探索的示例

[0008]图3示出了根据本公开实施例的示例性智能测试执行单元

[0009]图4示出了根据本公开实施例的用于在执行智能测试期间训练动作决策模型的示例性过程

[0010]图5示出了根据本公开实施例的用于基于智能探索的自动化测试的示例性过程

[0011]图6是根据本公开实施例的用于基于智能探索的自动化测试的示例性方法的流程图

[0012]图7示出了根据本公开实施例的用于基于智能探索的自动化测试的示例性装置

[0013]图8示出了根据本公开实施例的用于基于智能探索的自动化测试的示例性装置

具体实施方式
[0014]现在将参考若干示例性实施方式来讨论本公开

应当理解,这些实施方式的讨论仅仅用于使得本领域技术人员能够更好地理解并从而实施本公开的实施例,而并非教导对本公开的范围的任何限制

[0015]现有的自动化测试服务通常要求测试人员提供测试用例

测试用例可以包括要对目标应用执行的一系列测试步骤

测试用例通常是由专门的软件测试人员或软件开发人员针对目标应用而预先编制的

这需要消耗大量的时间

另外,如果目标应用被更新了或者升级了,则需要针对新的目标应用修改或者重新编制测试用例,这也是耗时的

这些方面制约了自动化测试的效率

此外,在用户没有提供测试用例的情况下,现有的自动化测试服务还可以提供
Monkey
测试
。Monkey
测试也可以被称为搞怪测试
。Monkey
测试可以对目标应用执行一系列随机的动作,以验证该目标应用的稳定性

然而,
Monkey
测试可能无法决定哪个动作对目标应用的当前用户界面是有意义的,因为它并不知道当前用户界面是什么

而且,
Monkey
测试所提供的随机动作可能会使得目标应用在若干个用户界面之间循环,而其他的用户界面则未被涉及

另外,许多目标应用都包含登录界面,而
Monkey
测试通常会跳过登录界面而不对其进行测试
。Monkey
测试的上述缺陷可能导致难以对目标应用进行准确

全面的测试

[0016]本公开的实施例提出了基于智能探索的自动化测试

基于智能探索的自动化测试旨在基于对目标应用的用户界面的理解来自动确定针对该用户界面的动作

当对该用户界面施加了该动作时,可以触发目标应用的下一界面

通过持续地确定动作并施加动作,可以对目标应用的用户界面进行探索,从而识别出目标应用所存在的漏洞或故障

基于智能探索的自动化测试在本文中也可以被简称为智能测试

基于智能探索的自动化测试可以在不需要预先编制测试用例的情况下对目标应用执行自动化测试

另外,当目标应用被更新或者升级了时,即使用户界面发生了很大的变化,也无需修改测试用例或测试程序

这可以大幅提高自动化测试的效率

此外,与利用
Monkey
测试来执行自动化测试相比,基于智能探索的自动化测试可以基于对用户界面的理解来向该用户界面施加适于该用户界面的动作,这有助于实现高质量的自动化测试

[0017]在一个方面,本公开的实施例提出了通过机器学习技术来智能地理解目标应用的用户界面

例如,可以先提取目标应用的用户界面的屏幕图像和布局信息

用户界面的布局信息可以包括例如该用户界面所包括的一组界面元素

该组界面元素上的每个界面元素的属性等等

然后,可以将所提取的屏幕图像和布局信息提供给用户界面编码模型

用户界面编码模型可以例如是基于转换器
(Transformer)
结构的机器学习模型

用户界面编码模型可以对用户界面的屏幕图像和布局信息进行编码,从而生成用户界面的用户界面表示

在获得了用户界面的用户界面表示之后,可以进一步地通过场景分类模型来识别与本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.
一种用于基于智能探索的自动化测试的方法,包括:获得目标应用的用户界面;生成所述用户界面的用户界面表示;基于所述用户界面表示,确定针对所述用户界面的动作;以及通过对所述用户界面施加所述动作以探索下一用户界面来对所述目标应用执行自动化测试
。2.
根据权利要求1所述的方法,其中,所述生成用户界面表示包括:提取所述用户界面的屏幕图像和
/
或布局信息;以及基于所述屏幕图像和
/
或所述布局信息,生成所述用户界面表示
。3.
根据权利要求1所述的方法,其中,所述确定动作包括:基于所述用户界面表示,识别与所述用户界面相对应的场景类别;确定是否存在针对所述场景类别的规则;响应于确定存在针对所述场景类别的规则,获得与所述规则相对应的动作;以及将所获得的动作确定为针对所述用户界面的所述动作
。4.
根据权利要求3所述的方法,还包括:响应于确定不存在针对所述场景类别的规则,基于所述用户界面表示和
/
或所述场景类别,预测所述动作
。5.
根据权利要求4所述的方法,其中,所述用户界面包括一组界面元素,每个界面元素具有相应的操作模式,并且所述预测所述动作包括:基于所述用户界面表示和
/
或所述场景类别,识别所述一组界面元素中的要被操作的界面元素;以及利用所述界面元素和与所述界面元素相对应的操作模式来定义所述动作
。6.
根据权利要求5所述的方法,其中,所述识别界面元素包括:基于所述用户界面表示和
/
或所述场景类别,生成与所述一组界面元素相对应的一组操作概率;以及基于所述一组操作概率,从所述一组界面元素中选择所述要被操作的界面元素
。7.
根据权利要求4所述的方法,所述预测所述动作包括:通过动作决策模型,基于所述用户界面表示和
/
或所述场景类别,预测所述动作
。8.
根据权利要求7所述的方法,其中,所述动作决策模型是强化学习模型
。9.
根据权利要求7所述的方法,其中,所述动作决策模型是从通用的动作决策模型和特定于所述目标应用的动作决策模型中选择的
。10.
根据权利要求7所述的方法,其中,所述动作决策模型是从公开的动作决策模型和私有的动作决策模型中选择的
。11.
根据权利要求7所述的方法,其中,所述动作决策模型是通过以下操作来预先训练的:设置一组教学动作,每个教学动作具有高于预定奖励阈值的奖励;以及利用所述一组教学动作以及与所述一组教学动作相对应的一组奖励来预先训练所述动作决策模型
。12.
根据权利要求7所述的方法,其中,所述动作决策模型是通过以下操作来训练的:
获得触发所述用户界面的先前动作,所述先前动作是由所述动作决策模型先前预测的;基于奖励函数以及所述用户界面表示和
/
或所述场景类别,计算与所述先前动作相对应的奖励;以及基于所述先前动作和...

【专利技术属性】
技术研发人员:步绍鹏李英杰丁宏陶冉周乐张晓艺王玉旺
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1