一种自适应的软件测试系统技术方案

技术编号:24852959 阅读:40 留言:0更新日期:2020-07-10 19:06
本发明专利技术涉及一种自适应的软件测试系统,包括应用层、服务层以及存储层;应用层包括平台管理模块、软件测试模块以及测试工具模块;平台管理模块用于调用服务层以及存储层中各功能模块;软件测试模块集成测试框架,并用于自动生成测试脚本、自动构建测试数据;测试工具模块集成多种测试工具;服务层包括测试控制模块、测试执行模块、脚本管理模块以及基础能力模块;测试控制模块用于软件测试过程的控制;测试执行模块用于调用功能脚本执行相应的软件测试过程;脚本管理模块用于存储并管理功能脚本;基础能力模块用于提供基础功能子模块;存储层用于存储测试脚本、测试配置、度量数据。本发明专利技术适用不同领域软件测试,贯穿软件测试全流程。

【技术实现步骤摘要】
一种自适应的软件测试系统
本专利技术涉及软件测试
,特别涉及一种自适应的软件测试系统、测试脚本自动生成方法、回归测试方法以及测试结果智能分析方法。
技术介绍
软件测试是软件开发过程中不可或缺的一环,有效的软件测试能够保障软件质量,提升用户体验。随着软件行业的发展,尤其在日新月异的互联网时代,不断丰富的业务需求和不断加速的版本迭代都给软件测试带来了巨大挑战。传统的软件测试,如冒烟测试、功能测试、回归测试,大多依靠手工,但手工测试效率低,已无法满足当前日益加速的版本迭代要求。因此,在现代软件测试流程中,已逐步采用自动化测试替代手工测试,业内也不断推出各种测试工具和框架,以期节省人力和时间成本、提高测试效率。但是,目前主流的测试框架或工具大多侧重于软件测试的一个领域,如用于接口自动化的requests+unittest框架、用于web自动化的Selenium框架、用于提供自动化测试执行和管理功能的RobotFramework框架以及用于性能测试的Jemter、LoadRunner框架等。当前缺少一款贯穿软件测试全流程的测试平台,且主流的测试工具尤其是自动化测试工具对测试人员的技术要求较高,从而导致测试脚本的编写和维护成本高。因此虽然有各种工具的支撑,人工参与的成分仍然很大,门槛高、效率低的测试工具及流程无法适应不断加速的版本迭代。
技术实现思路
基于此,有必要提供一种适用于不同领域软件测试的自适应的软件测试系统,以解决现有技术中软件测试框架以及工具仅针对一个领域,无法贯穿软件测试全流程的技术问题。本专利技术实施例一方面提供一种自适应的软件测试系统,包括应用层、服务层以及存储层;所述应用层包括平台管理模块、软件测试模块以及测试工具模块;所述平台管理模块用于调用所述服务层以及所述存储层中各功能模块;所述软件测试模块集成测试框架,并用于自动生成测试脚本、自动构建测试数据;所述测试工具模块集成多种测试工具;所述服务层包括测试控制模块、测试执行模块、脚本管理模块以及基础能力模块;所述测试控制模块用于软件测试过程的控制;所述测试执行模块用于调用所述脚本管理模块中功能脚本,执行相应的软件测试过程;所述脚本管理模块用于存储并管理功能脚本;所述基础能力模块用于提供所述应用层以及服务层所需的基础功能子模块;所述存储层用于存储测试脚本、测试配置、度量数据以及用户操作记录。作为上述实施例的进一步改进,所述软件测试模块包括自动化测试模块;所述自动化测试模块集成自动化测试框架,用于自动构建测试数据、自动生成自动化测试脚本,并用于对所述自动化测试脚本进行查看、编辑以及执行;所述测试控制模块包括自动化测试控制子模块,所述自动化测试控制子模块用于选择测试环境、选择执行器以及选择自动化测试集;所述测试执行模块包括自动化测试执行子模块,所述自动化测试执行子模块用于调用相应功能脚本,执行所述自动化测试脚本。作为上述实施例的进一步改进,所述软件测试模块包括性能测试模块;所述性能测试模块集成性能测试框架,用于对性能测试脚本进行查看、编辑以及执行;所述测试控制模块包括性能测试控制子模块,所述性能测试控制子模块用于测试所需硬件资源的调度情况、设置压测参数以及选择性能测试集;所述测试执行模块包括性能测试执行子模块,所述性能测试执行子模块用于调用相应功能脚本,执行所述性能测试脚本。作为上述实施例的进一步改进,所述平台管理模块具体用于设置路由表以及用户权限表,并根据用户指令获取需要调用的目标功能模块,根据用户权限表判断用户是否有权调用目标功能模块,如果有权限,则根据路由表获取所述目标功能模块的路由路径,并根据所述路由路径调用所述目标功能模块,如果没有权限,则拒绝访问。作为上述实施例的进一步改进,所述应用层还包括测试度量模块,所述测试度量模块用于采集度量数据;所述测试执行模块还包括度量执行模块,所述度量执行模块用于根据所述度量数据、调用相应功能脚本,对软件测试质量进行量化分析。本专利技术实施例还提供一种自适应的测试脚本自动生成方法,采用所述自适应的软件测试系统实现,具体包括以下步骤:所述平台管理模块调用所述自动化测试模块,利用所述自动化测试模块生成各接口的自动化脚本;所述平台管理模块调用所述自动化测试模块以及所述基础能力模块,利用所述自动化测试模块以及相关的基础功能子模块定期提取被测软件系统的生产日志,解析所述生产日志,得到各接口的调用信息;所述自动化测试模块根据各接口的调用信息建立接口调用关系网络图,根据所述接口调用关系网络图生成业务测试路径;所述自动化测试模块获取与所述业务测试路径相关的关联接口的自动化脚本,结合所述业务测试路径生成所述自动化测试脚本。作为上述实施例的进一步改进,生成接口的自动化脚本,具体为:通过解析接口文档生成所述自动化脚本,或者解析接口定义类的接口字段生成所述自动化脚本。作为上述实施例的进一步改进,根据各接口的调用信息建立接口调用关系网络图,根据所述接口调用关系网络图生成业务测试路径,具体为:将不同的接口请求作为所述调用关系网络图的接口节点,将程序状态作为所述接口调用关系网络图的状态节点;根据各接口的调用信息,生成各所述接口节点以及状态节点之间的连接关系,根据接口调用的次数对相应接口节点的连接关系设置权重,得到所述接口调用关系网络图;跟踪业务的接口调用路径,根据所述接口调用路径以及所述调用关系网络图生成业务测试路径。本专利技术实施例还提供一种自适应的回归测试方法,采用所述自适应的软件测试系统实现,具体包括以下步骤:所述平台管理模块调用所述自动化测试模块,利用所述自动化测试模块生成单个用例的代码覆盖信息,建立用例与代码覆盖路径之间的映射库;所述平台管理模块调用第三方版本管理工具,利用所述版本管理工具识别本次更新涉及的变更方法;所述自动化测试模块获取与所述变更方法相应的变更代码,根据所述变更代码获取变更相关的代码覆盖路径,在所述映射库中查找与变更相关的代码覆盖路径相对应的用例作为回归用例;所述平台管理模块调用测试控制模块、测试执行模块以及脚本管理模块,利用所述测试控制模块选择执行器,利用所述脚本管理模块读取对应的回归测试脚本,通过执行器执行所述回归用例的回归测试脚本,实现回归用例的触发执行。本专利技术实施例还提供一种测试结果智能分析方法,采用所述自适应的软件测试系统实现,具体包括以下步骤:以缺陷库中曲线数据作为样本对KNN分类模型进行训练,得到错误分类模型;所述软件测试系统还包括环境监控模块,所述平台管理模块调用环境监控模块,利用所述环境监控模块检查被测软件系统对应服务的运行情况,若服务异常,则判定失败原因为环境错误,并在测试结束后重启服务,重新执行失败原因为环境错误的用例;若服务无异常,则判定为程序错误,并从错误日志中提取特征值,将所述特征值输入所述错误分类模型,得到错误类型。本专利技术实施例的自适应的软件测试本文档来自技高网...

【技术保护点】
1.一种自适应的软件测试系统,其特征在于,包括应用层、服务层以及存储层;/n所述应用层包括平台管理模块、软件测试模块以及测试工具模块;所述平台管理模块用于调用所述服务层以及所述存储层中各功能模块;所述软件测试模块集成测试框架,并用于自动生成测试脚本、自动构建测试数据;所述测试工具模块集成多种测试工具;/n所述服务层包括测试控制模块、测试执行模块、脚本管理模块以及基础能力模块;所述测试控制模块用于软件测试过程的控制;所述测试执行模块用于调用所述脚本管理模块中功能脚本,执行相应的软件测试过程;所述脚本管理模块用于存储并管理功能脚本;所述基础能力模块用于提供所述应用层以及服务层所需的基础功能子模块;/n所述存储层用于存储测试脚本、测试配置、度量数据以及用户操作记录;/n所述软件测试模块包括自动化测试模块;所述自动化测试模块集成自动化测试框架,用于自动构建测试数据、自动生成自动化测试脚本,并用于对所述自动化测试脚本进行查看、编辑以及执行;/n所述测试控制模块包括自动化测试控制子模块,所述自动化测试控制子模块用于选择测试环境、选择执行器以及选择自动化测试集;/n所述测试执行模块包括自动化测试执行子模块,所述自动化测试执行子模块用于调用相应功能脚本,执行所述自动化测试脚本;/n所述软件测试模块包括性能测试模块;所述性能测试模块集成性能测试框架,用于对性能测试脚本进行查看、编辑以及执行;/n所述测试控制模块包括性能测试控制子模块,所述性能测试控制子模块用于测试所需硬件资源的调度情况、设置压测参数以及选择性能测试集;/n所述测试执行模块包括性能测试执行子模块,所述性能测试执行子模块用于调用相应功能脚本,执行所述性能测试脚本。/n...

【技术特征摘要】
1.一种自适应的软件测试系统,其特征在于,包括应用层、服务层以及存储层;
所述应用层包括平台管理模块、软件测试模块以及测试工具模块;所述平台管理模块用于调用所述服务层以及所述存储层中各功能模块;所述软件测试模块集成测试框架,并用于自动生成测试脚本、自动构建测试数据;所述测试工具模块集成多种测试工具;
所述服务层包括测试控制模块、测试执行模块、脚本管理模块以及基础能力模块;所述测试控制模块用于软件测试过程的控制;所述测试执行模块用于调用所述脚本管理模块中功能脚本,执行相应的软件测试过程;所述脚本管理模块用于存储并管理功能脚本;所述基础能力模块用于提供所述应用层以及服务层所需的基础功能子模块;
所述存储层用于存储测试脚本、测试配置、度量数据以及用户操作记录;
所述软件测试模块包括自动化测试模块;所述自动化测试模块集成自动化测试框架,用于自动构建测试数据、自动生成自动化测试脚本,并用于对所述自动化测试脚本进行查看、编辑以及执行;
所述测试控制模块包括自动化测试控制子模块,所述自动化测试控制子模块用于选择测试环境、选择执行器以及选择自动化测试集;
所述测试执行模块包括自动化测试执行子模块,所述自动化测试执行子模块用于调用相应功能脚本,执行所述自动化测试脚本;
所述软件测试模块包括性能测试模块;所述性能测试模块集成性能测试框架,用于对性能测试脚本进行查看、编辑以及执行;
所述测试控制模块包括性能测试控制子模块,所述性能测试控制子模块用于测试所需硬件资源的调度情况、设置压测参数以及选择性能测试集;
所述测试执行模块包括性能测试执行子模块,所述性能测试执行子模块用于调用相应功能脚本,执行所述性能测试脚本。


2.根据权利要求1所述的自适应的软件测试系统,其特征在于,所述平台管理模块具体用于设置路由表以及用户权限表,并根据用户指令获取需要调用的目标功能模块,根据用户权限表判断用户是否有权调用目标功能模块,如果有权限,则根据路由表获取所述目标功能模块的路由路径,并根据所述路由路径调用所述目标功能模块,如果没有权限,则拒绝访问。


3.根据权利要求1所述的自适应的软件测试系统,其特征在于,所述应用层还包括测试度量模块,所述测试度量模块用于采集度量数据;
所述测试执行模块还包括度量执行模块,所述度量执行模块用于根据所述度量数据、调用相应功能脚本,对软件测试质量进行量化分析。


4.一种自适应的测试脚本自动生成方法,其特征在于,采用如权利要求1-4任一所述的自适应的软件测试系统实现,具体包括以下步骤:
所述平台管理模块调用所述自动化测试模块,利用所述自动化测试模块生成各接口的自动化脚本;
所述平台管理模块调用所述自动化测试模块以及所述基础能力模块,利用所述...

【专利技术属性】
技术研发人员:沈焕锐李远鑫董佩于妮妮余腾
申请(专利权)人:中邮消费金融有限公司
类型:发明
国别省市:广东;44

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

1