一种软件测试方法及装置与流程
- 国知局
- 2024-07-31 23:02:15
本发明涉及软件测试,具体而言,涉及一种软件测试方法及装置。
背景技术:
1、软件测试的本质是使用人工或者自动化的方式操作软件系统,并验证软件系统产生的结果是否符合用户需求或者程序设计的定义。
2、当前软件测试主要由人工测试和自动化测试两种测试方式组成,其中,人工测试成本高、效率低,随着软件功能越来越多,自动化测试因其测试效率高、测试执行时间短的优点逐渐替代了人工测试。
3、但是,自动化测试需要由测试人员提前编写好测试用例和测试执行脚本,要求测试人员掌握软件开发语言,前期工作量大,后期自动化测试执行脚本的维护难度大。
技术实现思路
1、本发明的目的在于,针对上述现有技术中的不足,提供一种软件测试方法及装置,以便实现软件自动测试,无需任何测试人员参与,降低测试难度及人力成本。
2、为实现上述目的,本技术实施例采用的技术方案如下:
3、第一方面,本技术实施例提供了一种软件测试方法,所述方法包括:
4、对待被测应用软件进行界面识别,得到当前界面包括的多个目标交互对象的属性信息;
5、根据多个所述目标交互对象的属性信息,获取多个所述目标交互对象的操作行为方法;
6、将所述目标交互对象的属性信息和操作行为方法封装为测试控件对象;
7、对多个所述目标交互对象进行多次排列,生成多条测试路径,每条测试路径指示多个所述目标交互对象对应的测试控件对象的执行顺序;
8、根据每条测试路径上各所述目标交互对象的输入值,生成所述每条测试路径的测试用例;
9、执行所述多条测试路径及所述多条测试路径对应的测试用例,以对所述当前界面进行功能测试。
10、可选地,所述对待被测应用软件进行界面识别,得到当前界面包括的多个目标交互对象的属性信息,包括:
11、根据预先定义的控件类型,从所述当前界面的控件中筛选目标交互控件,并获取所述目标交互控件的属性信息;
12、根据预先定义的元素类型,从所述当前界面的元素中筛选目标交互元素,并获取所述目标交互元素的属性信息,所述目标交互对象为所述目标交互控件或所述目标交互元素。
13、可选地,所述根据预先定义的元素类型,从所述当前界面的元素中筛选所述目标交互元素,包括:
14、判断所述当前界面中元素的类型是否在元素类型黑名单中;
15、若所述当前界面中元素的类型不在元素类型黑名单,确定所述当前界面中元素的属性值是否在元素属性库中;
16、若所述当前界面中元素的属性值在元素属性库中,确定所述当前界面的元素为目标元素。
17、可选地,所述对多个所述目标交互对象进行多次排列,生成多条测试路径,包括:
18、对多个所述目标交互对象进行循环分组,得到多组目标交互对象;
19、对每组目标交互对象中各个目标交互对象进行组内排列,生成所述每组目标交互对象的组内测试路径;
20、对所述多组目标交互对象进行组间排列,生成所述多组目标交互对象的组间测试路径;
21、根据所述组内测试路径和所述组间测试路径,得到所述多条测试路径。
22、可选地,所述执行所述多条测试路径及所述多条测试路径对应的测试用例,以对所述当前界面进行功能测试,包括:
23、根据每条测试路径中的每个测试用例,对一个目标交互对象执行测试后,对所述待被测应用软件进行界面变动检测;
24、若检测到所述待被测应用软件的界面发生了变动,执行变动后的界面对应的测试路径及测试用例,以对所述变动后的界面进行功能测试;
25、返回所述当前界面,继续执行未完成的测试路径及测试用例,以对所述当前界面进行功能测试。
26、可选地,所述根据每条测试路径中的每个测试用例,对一个目标交互对象执行测试后,对所述待被测应用软件进行界面变动检测,包括:
27、对所述一个目标交互对象执行测试后,判断所述当前界面是否切换为新界面;
28、所述若检测到所述待被测应用软件的界面发生了变动,执行变动后的界面对应的测试路径及测试用例,以对所述变动后的界面进行功能测试,包括:
29、若所述当前界面切换为所述新界面,获取所述新界面对应测试路径及测试用例;
30、执行所述新界面对应测试路径及测试用例,以对所述新界面进行功能测试。
31、可选地,所述根据每条测试路径中的每个测试用例,对一个目标交互对象执行测试后,对所述待被测应用软件进行界面变动检测,包括:
32、对所述一个目标交互对象执行测试后,判断所述当前界面是否出现新交互对象;
33、所述若检测到所述待被测应用软件的界面发生了变动,执行变动后的界面对应的测试路径及测试用例,以对所述变动后的界面进行功能测试,包括:
34、若所述当前界面出现新交互对象,生成所述新交互对象的测试用例;
35、在所述每个测试用例的所述一个目标交互对象之后插入所述新交互对象的测试用例;
36、执行所述新交互对象的测试用例,以对所述新交互对象进行功能测试。
37、可选地,所述根据每条测试路径中的每个测试用例,对一个目标交互对象执行测试后,对所述待被测应用软件进行界面变动检测,包括:
38、对所述一个目标交互对象执行测试后,判断所述当前界面是否出现消息提示框;
39、所述若检测到所述待被测应用软件的界面发生了变动,执行变动后的界面对应的测试路径及测试用例,以对所述变动后的界面进行功能测试,包括:
40、若所述当前界面出现所述消息提示框,提取所述消息提示框中的多个基础控件;
41、对所述多个基础控件执行测试操作,直至所述消息提示框关闭。
42、可选地,所述根据每条测试路径中的每个测试用例,对一个目标交互对象执行测试后,对所述待被测应用软件进行界面变动检测,包括:
43、对所述一个目标交互对象执行测试后,判断所述当前界面出现模态框界面;
44、所述若检测到所述待被测应用软件的界面发生了变动,执行变动后的界面对应的测试路径及测试用例,以对所述变动后的界面进行功能测试,包括:
45、若所述当前界面出现所述模态框界面,获取所述模态框界面的测试路径及测试用例;
46、执行所述模态框界面的测试路径及测试用例,以对所述模态框界面进行功能测试。
47、第二方面,本技术实施例还提供一种软件测试装置,所述装置包括:
48、界面识别模块,用于对待被测应用软件进行界面识别,得到当前界面包括的多个目标交互对象的属性信息;
49、操作行为获取模块,用于根据多个所述目标交互对象的属性信息,获取多个所述目标交互对象的操作行为方法;
50、对象封装模块,用于将所述目标交互对象的属性信息和操作行为方法封装为测试控件对象;
51、对象排列模块,用于对多个所述目标交互对象进行多次排列,生成多条测试路径,每条测试路径指示多个所述目标交互对象对应的测试控件对象的执行顺序;
52、用例生成模块,用于根据每条测试路径上各所述目标交互对象的输入值,生成所述每条测试路径的测试用例;
53、测试执行模块,用于执行所述多条测试路径及所述多条测试路径对应的测试用例,以对所述当前界面进行功能测试。
54、可选地,所述界面识别模块,包括:
55、控件筛选单元,用于根据预先定义的控件类型,从所述当前界面的控件中筛选目标交互控件,并获取所述目标交互控件的属性信息;
56、元素筛选单元,用于根据预先定义的元素类型,从所述当前界面的元素中筛选目标交互元素,并获取所述目标交互元素的属性信息,所述目标交互对象为所述目标交互控件或所述目标交互元素。
57、可选地,所述元素筛选单元,具体用于判断所述当前界面中元素的类型是否在元素类型黑名单中;若所述当前界面中元素的类型不在元素类型黑名单,确定所述当前界面中元素的属性值是否在元素属性库中;若所述当前界面中元素的属性值在元素属性库中,确定所述当前界面的元素为目标元素。
58、可选地,所述对象排列模块,具体用于对多个所述目标交互对象进行循环分组,得到多组目标交互对象;对每组目标交互对象中各个目标交互对象进行组内排列,生成所述每组目标交互对象的组内测试路径;对所述多组目标交互对象进行组间排列,生成所述多组目标交互对象的组间测试路径;根据所述组内测试路径和所述组间测试路径,得到所述多条测试路径。
59、可选地,所述测试执行模块,具体用于根据每条测试路径中的每个测试用例,对一个目标交互对象执行测试后,对所述待被测应用软件进行界面变动检测;若检测到所述待被测应用软件的界面发生了变动,执行变动后的界面对应的测试路径及测试用例,以对所述变动后的界面进行功能测试;返回所述当前界面,继续执行未完成的测试路径及测试用例,以对所述当前界面进行功能测试。
60、可选地,所述测试执行模块,具体用于对所述一个目标交互对象执行测试后,判断所述当前界面是否切换为新界面;若所述当前界面切换为所述新界面,获取所述新界面对应测试路径及测试用例;执行所述新界面对应测试路径及测试用例,以对所述新界面进行功能测试。
61、可选地,所述测试执行模块,还用于对所述一个目标交互对象执行测试后,判断所述当前界面是否出现新交互对象;若所述当前界面出现新交互对象,生成所述新交互对象的测试用例;在所述每个测试用例的所述一个目标交互对象之后插入所述新交互对象的测试用例;执行所述新交互对象的测试用例,以对所述新交互对象进行功能测试。
62、可选地,所述测试执行模块,还用于对所述一个目标交互对象执行测试后,判断所述当前界面是否出现消息提示框;若所述当前界面出现所述消息提示框,提取所述消息提示框中的多个基础控件;对所述多个基础控件执行测试操作,直至所述消息提示框关闭。
63、可选地,所述测试执行模块,还用于对所述一个目标交互对象执行测试后,判断所述当前界面出现模态框界面;若所述当前界面出现所述模态框界面,获取所述模态框界面的测试路径及测试用例;执行所述模态框界面的测试路径及测试用例,以对所述模态框界面进行功能测试。
64、第三方面,本技术实施例还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的程序指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一项所述的软件测试方法的步骤。
65、第四方面,本技术实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一项所述的软件测试方法的步骤。
66、本技术的有益效果是:
67、本技术提供的一种软件测试方法及装置,通过自动识别待被测应用软件界面中的多个目标交互对象,根据目标交互对象的属性信息和操作行为方法,生成测试控件对象,通过对多个目标交互对象进行排列,并对多个目标交互对象的输入值进行组合,生成界面的测试路径及测试用例,通过执行各条测试路径的测试用例,以对待被测应用的界面进行业务功能测试,整个测试过程无需测试人员参与编写测试用例和测试执行脚本,可以无缝识别任何应用软件并进行业务功能测试,无需进行脚本维护,降低测试人力成本,提高测试效率,可以覆盖待被测应用的所有功能,且所有的测试均具有重现性,以便对测试异常进行重现。
本文地址:https://www.jishuxx.com/zhuanli/20240730/195723.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表