一种基于字节码技术的软件缺陷测试定位方法及系统技术方案

技术编号:27975174 阅读:15 留言:0更新日期:2021-04-06 14:09
本发明专利技术公开了一种基于字节码技术的软件缺陷测试定位方法及系统,通过字节码增强的技术,抓取软件运行过程中的请求信息、方法名以及各个方法的入参、出参与异常信息;将软件运行的参数信息存于数据库中,测试人员能够通过系统前端界面读取数据库数据,以明了每一个测试步骤的运行信息;本发明专利技术旨在将定位缺陷的工作移至测试流程当中,使得开发人员不必进行二次Bug复现,减少了Debug的工作量,摆脱了测试人员“没事找Bug,有事找测试”的工作习惯,从而极大地节省了软件开发过程的沟通成本与时间成本,提高了工作效率。

【技术实现步骤摘要】
一种基于字节码技术的软件缺陷测试定位方法及系统
本专利技术涉及软件缺陷定位
,并且更具体地,涉及一种基于字节码技术的软件缺陷测试定位方法及系统。
技术介绍
目前的系统测试中,测试人员的主要工作在于发现系统缺陷,而对定位缺陷却不甚关心,发现Bug以后提交给开发人员了事。但是,软件开发人员往往任务较多,并且缺陷复现的过程往往需要测试人员的协助,造成了巨大的沟通成本和时间成本。相近专利是通过采集测试用例的代码覆盖率情况,主要包括各行代码的运行情况和根据运行情况对各行代码所进行的标记;根据所述覆盖率信息中的运行情况和标记确定被运行过的代码,以从运行代码中定位缺陷位置。
技术实现思路
本专利技术提出一种基于字节码技术的软件缺陷测试定位方法及系统,以解决如何高效地对软件缺陷进行定位的问题。为了解决上述问题,根据本专利技术的一个方面,提供了一种基于字节码技术的软件缺陷测试定位方法,所述方法包括:对获取的测试请求进行解析,以确定测试请求内容,根据所述测试请求内容确定多个目标业务类;基于javaagent技术向所述多个目标业务类中的方法的入口和出口处注入动态字节码;根据用户的开始控制指令运行待测软件,获取所述多个目标业务类中每个方法的运行信息;接收用户的查看请求,并根据所述查看请求获取需求的运行信息,根据所述需求的运行信息生成请求报告;根据所述请求报告对所述待测软件的缺陷进行定位,确定缺陷产生原因。优选地,其中所述请求报告包括:开始时间、结束时间和运行信息;其中,所述运行信息包括:请求的URL、请求顺序和调用方法的信息;所述调用方法的信息,包括:方法名、方法调用顺序、出参、入参和异常信息。优选地,其中所述方法还包括:设置对于所述目标业务类中的无参数的方法,传入参数记录为Null;对于无返回值的方法,返回值记录为Void;对于异常方法,则记录该异常方法详细的异常信息。优选地,其中所述方法还包括:将获取的所述多个目标业务类中每个方法的运行信息进行暂存到内存中,并在接收到用户的结束控制指令后,将所述运行信息存储到数据库中。优选地,其中所述发方还包括:将所述请求报告以xml的形式展示在系统前端。根据本专利技术的另一个方面,提供了一种基于字节码技术的软件缺陷测试定位系统,所述系统包括:测试请求分析单元,用于对获取的测试请求进行解析,以确定测试请求内容,根据所述测试请求内容确定多个目标业务类;动态字节码注入单元,用于基于javaagent技术向所述多个目标业务类中的方法的入口和出口处注入动态字节码;运行信息获取单元,用于根据用户的开始控制指令运行待测软件,获取所述多个目标业务类中每个方法的运行信息;请求报告生成单元,用于接收用户的查看请求,并根据所述查看请求获取需求的运行信息,根据所述需求的运行信息生成请求报告;缺陷产生原因确定单元,用于根据所述请求报告对所述待测软件的缺陷进行定位,确定缺陷产生原因。优选地,其中所述请求报告包括:开始时间、结束时间和运行信息;其中,所述运行信息包括:请求的URL、请求顺序和调用方法的信息;所述调用方法的信息,包括:方法名、方法调用顺序、出参、入参和异常信息。优选地,其中所述系统还包括:初始化设置单元,用于设置对于所述目标业务类中的无参数的方法,传入参数记录为Null;对于无返回值的方法,返回值记录为Void;对于异常方法,则记录该异常方法详细的异常信息。优选地,其中所述方法还包括:数据存储单元,用于将获取的所述多个目标业务类中每个方法的运行信息进行暂存到内存中,并在接收到用户的结束控制指令后,将所述运行信息存储到数据库中。优选地,其中所述系统还包括:显示单元,用于将所述请求报告以xml的形式展示在系统前端。本专利技术提供了一种基于字节码技术的软件缺陷测试定位方法及系统,通过字节码增强的技术,抓取软件运行过程中的请求信息、方法名以及各个方法的入参、出参与异常信息;将软件运行的参数信息存于数据库中,测试人员能够通过系统前端界面读取数据库数据,以明了每一个测试步骤的运行信息;本专利技术旨在将定位缺陷的工作移至测试流程当中,使得开发人员不必进行二次Bug复现,减少了Debug的工作量,摆脱了测试人员“没事找Bug,有事找测试”的工作习惯,从而极大地节省了软件开发过程的沟通成本与时间成本,提高了工作效率。附图说明通过参考下面的附图,可以更为完整地理解本专利技术的示例性实施方式:图1为根据本专利技术实施方式的基于字节码技术的软件缺陷测试定位方法100的流程图;图2为根据本专利技术实施方式的系统整体架构图;图3为根据本专利技术实施方式的报告数据结构图;图4为根据本专利技术实施方式的系统工作流程图;图5为根据本专利技术实施方式的基于字节码技术的软件缺陷测试定位系统500的结构示意图。具体实施方式现在参考附图介绍本专利技术的示例性实施方式,然而,本专利技术可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本专利技术,并且向所属
的技术人员充分传达本专利技术的范围。对于表示在附图中的示例性实施方式中的术语并不是对本专利技术的限定。在附图中,相同的单元/元件使用相同的附图标记。除非另有说明,此处使用的术语(包括科技术语)对所属
的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。图1为根据本专利技术实施方式的基于字节码技术的软件缺陷测试定位方法100的流程图。如图1所示,本专利技术实施方式提供的基于字节码技术的软件缺陷测试定位方法,通过字节码增强的技术,抓取软件运行过程中的请求信息、方法名以及各个方法的入参、出参与异常信息;将软件运行的参数信息存于数据库中,测试人员能够通过系统前端界面读取数据库数据,以明了每一个测试步骤的运行信息;本专利技术旨在将定位缺陷的工作移至测试流程当中,使得开发人员不必进行二次Bug复现,减少了Debug的工作量,摆脱了测试人员“没事找Bug,有事找测试”的工作习惯,从而极大地节省了软件开发过程的沟通成本与时间成本,提高了工作效率。本专利技术实施方式提供的基于字节码技术的软件缺陷测试定位方法100,从步骤101处开始,在步骤101对获取的测试请求进行解析,以确定测试请求内容,根据所述测试请求内容确定多个目标业务类。优选地,其中所述方法还包括:设置对于所述目标业务类中的无参数的方法,传入参数记录为Null;对于无返回值的方法,返回值记录为Void;对于异常方法,则记录该异常方法详细的异常信息。在步骤102,基于javaagent技术向所述多个目标业务类中的方法的入口和出口处注入动态字节码。结合图2所示,在本专利技术的实施方式中,方法调用数据采集使用javaagent技术,向指定业务类中方法本文档来自技高网
...

【技术保护点】
1.一种基于字节码技术的软件缺陷测试定位方法,其特征在于,所述方法包括:/n对获取的测试请求进行解析,以确定测试请求内容,根据所述测试请求内容确定多个目标业务类;/n基于java agent技术向所述多个目标业务类中的方法的入口和出口处注入动态字节码;/n根据用户的开始控制指令运行待测软件,获取所述多个目标业务类中每个方法的运行信息;/n接收用户的查看请求,并根据所述查看请求获取需求的运行信息,根据所述需求的运行信息生成请求报告;/n根据所述请求报告对所述待测软件的缺陷进行定位,确定缺陷产生原因。/n

【技术特征摘要】
1.一种基于字节码技术的软件缺陷测试定位方法,其特征在于,所述方法包括:
对获取的测试请求进行解析,以确定测试请求内容,根据所述测试请求内容确定多个目标业务类;
基于javaagent技术向所述多个目标业务类中的方法的入口和出口处注入动态字节码;
根据用户的开始控制指令运行待测软件,获取所述多个目标业务类中每个方法的运行信息;
接收用户的查看请求,并根据所述查看请求获取需求的运行信息,根据所述需求的运行信息生成请求报告;
根据所述请求报告对所述待测软件的缺陷进行定位,确定缺陷产生原因。


2.根据权利要求1所述的方法,其特征在于,所述请求报告包括:开始时间、结束时间和运行信息;其中,所述运行信息包括:请求的URL、请求顺序和调用方法的信息;所述调用方法的信息,包括:方法名、方法调用顺序、出参、入参和异常信息。


3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
设置对于所述目标业务类中的无参数的方法,传入参数记录为Null;对于无返回值的方法,返回值记录为Void;对于异常方法,则记录该异常方法详细的异常信息。


4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将获取的所述多个目标业务类中每个方法的运行信息进行暂存到内存中,并在接收到用户的结束控制指令后,将所述运行信息存储到数据库中。


5.根据权利要求1所述的方法,其特征在于,所述发方还包括:
将所述请求报告以xml的形式展示在系统前端。


6.一种基于字节码技术的软件缺陷测试定位系统,其特征在于,所述系统包括:...

【专利技术属性】
技术研发人员:韩青松吴旭于之曦
申请(专利权)人:航天信息股份有限公司
类型:发明
国别省市:北京;11

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

1