应用软件的测试方法、装置、电子设备及计算机存储介质与流程
- 国知局
- 2024-08-30 14:23:49
本技术涉及计算机,特别涉及一种应用软件的测试方法、装置、电子设备及计算机存储介质。
背景技术:
1、在移动端应用软件(application,app)领域,稳定性可以理解为app运行时遭遇环境异常或者输入异常时客户端能够继续正常运行的能力。
2、目前,app稳定性测试很多是基于app界面使用monkey等工具对app的用户界面(user interface,ui)进行长时间的随机点击操作,或者手工在app上面输入异常数据进行测试,或者是对接口数据进行随机变异或模糊测试。以上方法要么存在系统限制或者随机模糊变异的用例数量巨大,执行效率低等问题。
技术实现思路
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、由以上方案可知,本技术提供一种应用软件的测试方法、装置、电子设备及计算机存储介质,该方法在移动端上操作待测试软件时,通过中间人代理服务器对网络通信流量进行拦截,并生成第一目标格式文件后,对第一目标格式文件的请求体和响应体进行数据变异,得到第二目标格式文件;之后,根据变异数据的异常测试用例以及正常数据的常规测试用例,编写自动化测试脚本;其中,变异数据的异常测试用例为通过第二目标格式文件生成;部署真机测试环境并执行自动化测试脚本,实时对待测试软件的运行日志进行监控;在测试结束后,根据待测试软件在测试过程中的运行日志生成待测试软件的测试报告。从而显著提升测试的覆盖面和缺陷发现率。
本文地址:https://www.jishuxx.com/zhuanli/20240830/281787.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。