一种软件测试装置和方法制造方法及图纸

技术编号:14158974 阅读:76 留言:0更新日期:2016-12-12 01:44
本发明专利技术提供了一种软件测试装置和方法,该软件测试装置包括:分层模块,用于接收待测试软件,并将待测试软件分为代码层、功能层、交互层中的任意一个或多个;代码测试模块,用于对代码层进行测试,判断代码层是否通过测试,如果是,则触发功能测试模块;否则,提供未通过测试代码段;功能测试模块,用于接收代码测试模块的触发,对功能层进行测试,当功能层正常时,则触发自动化测试模块,当功能层异常时,则提供功能异常区域;自动化测试模块,用于在接收到功能测试模块的触发时,对交互层进行测试,当测试结果异常时,则提供待调整交互区域。本发明专利技术实施例提供的方案能够有效地提高软件测试效率。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及一种软件测试装置和方法
技术介绍
在软件开发过程中,为了能够保证软件的可用性,常常需要对软件进行测试,目前对于软件测试的方式主要是当软件开发结束之后,根据开发软件的各种功能对软件进行测试,如果某一功能运行过程中出现错误,需要测试人员从应用层面到代码层面依次向下排查,而这一排查的过程将消耗比较长的时间,导致软件测试效率较低。
技术实现思路
本专利技术实施例提供了一种软件测试装置和方法,能够有效地提高软件测试效率。一种软件测试装置,分层模块、代码测试模块、功能测试模块及自动化测试模块,其中,所述分层模块,用于接收待测试软件,并将所述待测试软件分为代码层、功能层、交互层中的任意一个或多个;所述代码测试模块,用于对所述分层模块分出的代码层进行测试,判断所述代码层是否通过测试,如果是,则触发所述功能测试模块;否则,提供未通过测试代码段;所述功能测试模块,用于接收所述代码测试模块的触发,对所述分层模块分出的功能层进行测试,当所述功能层正常时,则触发所述自动化测试模 块,当所述功能层异常时,则提供功能异常区域;所述自动化测试模块,用于在接收到所述功能测试模块的触发时,对所述分层模块分出的交互层进行测试,当测试结果异常时,则提供待调整交互区域。优选地,所述代码测试模块,包括:单元测试子模块及代码走读子模块,其中,所述单元测试子模块,用于将所述代码层的代码划分为接口代码区域、数据结构代码区域、执行路径代码区域、出错处理代码区域、边界条件代码区域及驱动代码区域中的任意一个或多个,并对划分出的每一个区域中的代码进行测试,当每一个区域均测试正常,则触发所述代码走读子模块;所述代码走读子模块,用于接收到所述单元测试子模块的触发时,对待测试软件中的代码进行缺陷评审,生成评审意见,并建立代码与所述评审意见的对应关系,并提供所述对应关系,根据所述对应关系,接受对所述代码的修改。优选地,所述功能测试模块,包括:黑盒测试子模块、分功能测试子模块及藕合测试子模块,其中,所述黑盒测试子模块,用于为待测试软件确定至少一个测试用例,顺序将每一个测试用例运行于所述待测试软件,并计算代码覆盖率,当所述代码覆盖率达到预先设置的覆盖率阈值时,触发所述分功能测试子模块;所述分功能测试子模块,用于利用测试用例对每一个功能进行分别测试,当每一个功能运行正常时,则触发所述藕合测试子模块,当任意功能运行异常时,则提供功能异常区域;所述藕合测试子模块,用于接收到所述分功能测试子模块的触发时,利用测试实例对各个分功能间的藕合进行测试。优选地,所述自动化测试模块,包括:界面测试子模块和接口测试子模块,其中,所述界面测试子模块,用于遍历界面,获取所述界面中的操作对象,并 获取所述界面中的处理方法,利用测试用例对所述操作对象和所述处理方法进行测试;所述接口测试子模块,用于对待测软件中组件间接口及所述待测试软件与外部系统间的接口进行数据交换、数据传递及控制管理测试,生成对应的接口运行码。优选地,上述软件测试装置,进一步包括:线上监控模块,用于当所述接口测试子模块进行检测的过程中,对每一个接口进行监控,获取所述接口测试子模块生成的接口运行码,并以日志方式集成所述接口运行码。优选地,所述黑盒测试子模块,用于:确定每一个测试用例对应的测试代码覆盖率;对比各个测试用例间的代码,并确定各个测试用例间重复代码覆盖率;根据下述计算公式(1),计算代码覆盖率; ω = Σ i = 1 n ω i - Σ j = 1 m θ j - - - ( 1 ) ]]>其中,ω表征代码覆盖率;ωi表征测试用例i的测试代码覆盖率;θj表征每两个测试用例间重复代码覆盖率。一种软件测试方法,包括:接收待测试软件,并将所述待测试软件分为代码层、功能层、交互层中的任意一个或多个;对所述代码层进行测试,判断所述代码层是否通过测试,如果是,则对所述分层模块分出的功能层进行测试;否则,提供未通过测试代码段;当所述功能层异常时,则提供功能异常区域;当所述功能层正常时,则对所述交互层进行测试,当所述交互层测试结果异常时,则提供待调整交互区域。优选地,所述对所述代码层进行测试,包括:将所述代码层的代码划分为接口代码区域、数据结构代码区域、执行路径代码区域、出错处理代码区域、边界条件代码区域及驱动代码区域中的任 意一个或多个,并对划分出的每一个区域中的代码进行测试;当每一个区域均测试正常,则对待测试软件中的代码进行缺陷评审,生成评审意见,并建立代码与所述评审意见的对应关系,并提供所述对应关系,根据所述对应关系,接受对所述代码的修改。优选地,所述对功能层进行测试,包括:为待测试软件确定至少一个测试用例,顺序将每一个测试用例运行于所述待测试软件,并计算代码覆盖率;当所述代码覆盖率达到预先设置的覆盖率阈值时,利用测试用例对每一个功能进行分别测试,当每一个功能运行正常时,则利用测试实例对各个分功能间的藕合进行测试,当任意功能运行异常时,则提供功能异常区域。优选地,所述对所述交互层进行测试,包括:遍历界面,获取所述界面中的操作对象,并获取所述界面中的处理方法,利用测试用例对所述操作对象和所述处理方法进行测试;对待测软件中组件间接口及所述待测试软件与外部系统间的接口进行数据交换、数据传递及控制管理测试,生成对应的接口运行码;对每一个接口进行监控,获取所述接口测试子模块生成的接口运行码,并以日志方式集成所述接口运行码。优选地,所述计算代码覆盖率,包括:确定每一个测试用例对应的测试代码覆盖率;对比各个测试用例间的代码,并确定各个测试用例间重复代码覆盖率;根据下述计算公式(1),计算代码覆盖率; ω = Σ i = 1 n ω i - Σ j = 1 m θ j - - - ( 1 ) ]]>其中,ω表征代码覆盖率;ωi表征测试用例i的测试代码覆盖率;θj表征每两个测试用例间重复代码覆盖率。本专利技术实施例提供了一种软件测试装置和方法,该软件测试装置通过接收待测试软件,并将所述待测试软件分为代码层、功能层、交互层中的任意一个或多个;通过代码测试模块对所述分层模块分出的代码层进行测试,判 断所述代码层是否通过测试,如果是,则触发所述功能测试模块;否则,提供未通过测试代码段;通过功能本文档来自技高网...
一种软件测试装置和方法

【技术保护点】
一种软件测试装置,其特征在于,包括:分层模块、代码测试模块、功能测试模块及自动化测试模块,其中,所述分层模块,用于接收待测试软件,并将所述待测试软件分为代码层、功能层、交互层中的任意一个或多个;所述代码测试模块,用于对所述分层模块分出的代码层进行测试,判断所述代码层是否通过测试,如果是,则触发所述功能测试模块;否则,提供未通过测试代码段;所述功能测试模块,用于接收所述代码测试模块的触发,对所述分层模块分出的功能层进行测试,当所述功能层正常时,则触发所述自动化测试模块,当所述功能层异常时,则提供功能异常区域;所述自动化测试模块,用于在接收到所述功能测试模块的触发时,对所述分层模块分出的交互层进行测试,当测试结果异常时,则提供待调整交互区域。

【技术特征摘要】
1.一种软件测试装置,其特征在于,包括:分层模块、代码测试模块、功能测试模块及自动化测试模块,其中,所述分层模块,用于接收待测试软件,并将所述待测试软件分为代码层、功能层、交互层中的任意一个或多个;所述代码测试模块,用于对所述分层模块分出的代码层进行测试,判断所述代码层是否通过测试,如果是,则触发所述功能测试模块;否则,提供未通过测试代码段;所述功能测试模块,用于接收所述代码测试模块的触发,对所述分层模块分出的功能层进行测试,当所述功能层正常时,则触发所述自动化测试模块,当所述功能层异常时,则提供功能异常区域;所述自动化测试模块,用于在接收到所述功能测试模块的触发时,对所述分层模块分出的交互层进行测试,当测试结果异常时,则提供待调整交互区域。2.根据权利要求1所述的软件测试装置,其特征在于,所述代码测试模块,包括:单元测试子模块及代码走读子模块,其中,所述单元测试子模块,用于将所述代码层的代码划分为接口代码区域、数据结构代码区域、执行路径代码区域、出错处理代码区域、边界条件代码区域及驱动代码区域中的任意一个或多个,并对划分出的每一个区域中的代码进行测试,当每一个区域均测试正常,则触发所述代码走读子模块;所述代码走读子模块,用于接收到所述单元测试子模块的触发时,对待测试软件中的代码进行缺陷评审,生成评审意见,并建立代码与所述评审意见的对应关系,并提供所述对应关系,根据所述对应关系,接受对所述代码的修改。3.根据权利要求1所述的软件测试装置,其特征在于,所述功能测试模块,包括:黑盒测试子模块、分功能测试子模块及藕合测试子模块,其中,所述黑盒测试子模块,用于为待测试软件确定至少一个测试用例,顺序将每一个测试用例运行于所述待测试软件,并计算代码覆盖率,当所述代码覆盖率达到预先设置的覆盖率阈值时,触发所述分功能测试子模块;所述分功能测试子模块,用于利用测试用例对每一个功能进行分别测试,当每一个功能运行正常时,则触发所述藕合测试子模块,当任意功能运行异常时,则提供功能异常区域;所述藕合测试子模块,用于接收到所述分功能测试子模块的触发时,利用测试实例对各个分功能间的藕合进行测试。4.根据权利要求1所述的软件测试装置,其特征在于,所述自动化测试模块,包括:界面测试子模块和接口测试子模块,其中,所述界面测试子模块,用于遍历界面,获取所述界面中的操作对象,并获取所述界面中的处理方法,利用测试用例对所述操作对象和所述处理方法进行测试;所述接口测试子模块,用于对待测软件中组件间接口及所述待测试软件与外部系统间的接口进行数据交换、数据传递及控制管理测试,生成对应的接口运行码。5.根据权利要求4所述的软件测试装置,其特征在于,进一步包括:线上监控模块,用于当所述接口测试子模块进行检测的过程中,对每一个接口进行监控,获取所述接口测试子模块生成的接口运行码,并以日志方式集成所述接口运行码。6.根据权利要求3所述的软件测试装置,其特征在于,所述黑盒测试子模块,用于:确定每一个测试用例对应的测试代码覆盖率;对比各个测试用例间的代码,并确定各个测试用例间重复代码覆盖率;根据下述计算公式,计算代码覆盖率; ω = Σ ...

【专利技术属性】
技术研发人员:苏冉
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:山东;37

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

1