软件的测试方法及装置制造方法及图纸

技术编号:11167391 阅读:96 留言:0更新日期:2015-03-19 01:03
本发明专利技术公开一种软件的测试方法,包括:侦测到软件测试指令时,对当前版本软件的源代码进行静态分析,获得静态分析结果,同时获取当前版本软件与上一版本软件的差异文件信息;根据所述当前版本软件与前一版本软件的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果;根据差异文件对应的静态分析结果,产生bug单。对应地,本发明专利技术还公开了一种软件的测试装置。本实施例中通过对源代码进行静态分析获得静态分析结果,同时获取当前版本与上一版本之间的差异文件信息,以过滤获得差异文件对应的静态分析结果,然后再根据静态分析结果自动产生bug单,实现了静态分析的自动化,提高了软件测试效率。

【技术实现步骤摘要】
软件的测试方法及装置
本专利技术涉及计算机
,尤其涉及一种软件的测试方法及装置。
技术介绍
软件的代码量往往会非常庞大,则在软件测试时对整个工程的源代码全部做一次静态扫描将会非常耗时。同时,一次全量扫描得到的缺陷数也会非常多。因此,如果是在项目即将发布时才统一来做静态分析,并将所有的缺陷一次性提交给开发人员,这样势必降低软件的研发效率和质量。因此亟需一种能提高软件测试效率的静态分析方法。
技术实现思路
本专利技术实施例提供一种软件的测试方法及装置,旨在提高软件测试的效率。 本专利技术实施例提供了一种软件的测试方法,包括: 侦测到软件测试指令时,对当前版本软件的源代码进行静态分析,获得静态分析结果,同时获取当前版本软件与上一版本软件的差异文件信息; 根据所述当前版本软件与前一版本软件的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果; 根据差异文件对应的静态分析结果,产生漏洞单。 本专利技术实施例技术方案还提供了一种软件的测试装置,包括: 信息获取模块,用于侦测到软件测试指令时,对当前版本软件的源代码进行静态分析,获得静态分析结果,同时获取当前版本软件与上一版本软件的差异文件信息; 信息匹配模块,用于根据所述当前版本软件与前一版本软件的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果; 信息处理模块,用于根据差异文件对应的静态分析结果,产生漏洞单。 本实施例中通过对源代码进行静态分析获得静态分析结果,同时获取当前版本与上一版本之间的差异文件信息,以过滤获得差异文件对应的静态分析结果,然后再根据静态分析结果自动产生漏洞单,实现了静态分析的自动化,提高了软件测试效率。 【附图说明】 图1是本专利技术软件的测试方法第一实施例的流程示意图; 图2是本专利技术软件的测试方法中对差异文件的静态分析结果进行处理的流程示意图; 图3是本专利技术软件的测试方法第二实施例的流程示意图; 图4是本专利技术软件的测试装置第一实施例的功能模块示意图; 图5是本专利技术软件的测试装置中信息处理模块的功能模块示意图; 图6是本专利技术软件的测试装置第二实施例的功能模块示意图。 本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。 【具体实施方式】 以下结合说明书附图及具体实施例进一步说明本专利技术的技术方案。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。 本专利技术的主要思想是在对源代码差异进行静态分析时,可以先获得当前版本的源代码的静态分析结果,并根据当前版本与上一版本的差异文件信息过滤获得差异文件对应的静态分析结果。然后判断静态分析结果是属于历史缺陷还是新增缺陷,并根据判断结果产生相应的漏洞(bug)单,供代码开发人员查看并解决。因此,本专利技术实现了静态分析的自动化,提高了软件测试的效率。 为便于理解,以下先介绍与本专利技术相关的技术名词: 静态分析:是指在不运行代码的方式下,通过词法分析、语法分析、控制流分析等技术对代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标,从而检查出代码所潜在的缺陷的一种软件测试方法。该静态分析可以调用现有技术常用的静态分析工具进行。 bug单:用于跟踪软件缺陷的发现时间、负责人、详细描述、是否解决的记录。 参照图1,提出本专利技术软件的测试方法第一实施例的流程。该实施例的软件的测试分析方法包括以下步骤: 步骤S110、侦测到软件测试指令时,对当前版本软件的源代码进行静态分析,获得静态分析结果; 步骤S120、获取当前版本软件与上一版本软件的差异文件信息; 本专利技术的软件测试方法用于对持续集成(continuous integrat1n,Cl)平台提交的软件安装包自动进行软件测试,分析该软件安装包存在的缺陷,并根据缺陷,生成相应的bug单。该软件测试指令可以由用户触发。例如用户将Cl平台编译生成的软件安装包调取至该软件测试系统,并启动软件测试功能。当然,该软件测试指令也可以由软件测试系统自动触发。例如,一旦Cl平台编译生成软件安装包时,就触发产生软件测试指令。通过与Cl平台进行关联,在Cl平台生成软件安装包时即触发软件测试,从而实现了软件编译及测试的自动化。 由于Cl平台在对源代码编译成功后将生成软件安装包,每个软件安装包对应一个版本号。版本号一般格式为主版本号.子版本号[.编译版本号[.修正版本号]]。当每个软件安装包的源代码经过修改,并进行编译后,将为软件安装包生成一新的版本号。而根据版本号可以区分不同版本的软件安装包。因此,侦测到软件测试指令时,则调用相应的静态分析工具,对当前版本的软件安装包的所有代码进行静态分析,获得静态分析结果。同时调用相应的差异分析工具,获取当前版本的软件安装包与上一版本的软件安装包之间的差异文件信息。上述静态分析步骤与差异分析步骤可以同时进行,也可以先后顺序进行,且两者的顺序并不限定。 步骤S130、根据所述当前版本与上一版本的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果; 本实施例中,静态分析结果为一缺陷列表,其包括文件名、行号、缺陷类型、缺陷信息等。在获得静态分析结果及差异文件之后,将差异文件信息中的差异文件名与静态分析结果中的文件名进行匹配,获得差异文件对应的静态分析结果。然后将过滤后获得的差异文件对应的静态分析结果按照文件名、缺陷行号、缺陷类型及缺陷信息进行格式化,以生成缺陷列表。 步骤S140、根据差异文件对应的静态分析结果,产生相应的bug单。 过滤出差异文件对应的静态分析结果,则可以判断静态分析结果中的缺陷是历史缺陷还是新增缺陷,然后再根据判断结果,产生相应的bug单。 本实施例中通过对源代码进行静态分析获得静态分析结果,同时获取当前版本与上一版本之间的差异文件信息,以过滤获得差异文件对应的静态分析结果,然后再根据静态分析结果自动产生bug单,实现了静态分析的自动化,提高了软件测试效率。 参照图2,上述步骤S140进一步包括: 步骤S141、判断该静态分析结果中的缺陷是新增缺陷还是历史缺陷;当该静态分析结果中的缺陷是新增缺陷时则转入步骤S142,当该静态分析结果中的缺陷是历史缺陷时则转入步骤S143 ; 新增缺陷是指新增加的源代码所产生的缺陷,历史缺陷是指上一版本的源代码存在的缺陷,仍然存在于当前版本的源代码中。当该软件安装包是最初的版本,且第一次经过静态分析,则其通过静态分析后产生的缺陷均是新增缺陷。当该软件安装包是经过修改的版本,则判断静态分析结果中的缺陷是否针对源代码的新增、修改行所产生的缺陷。当静态分析结果中的缺陷是对源代码的新增、修改行所产生的缺陷时,则该缺陷是新增缺陷;否则该缺陷是历史缺陷。 步骤S142、根据该缺陷的信息,产生相应的bug单; 当判断缺陷是新增缺陷时,则根据该新增缺陷,生成相应的bug单。该产生的bug单将涵盖缺陷的信息,例如差异文件名、行号、缺陷类型及缺陷描述。生成bug单后,可以通过邮件、短信等方式发送至相应的开发人员,以提醒其及时解决。当然,该bug单也可以上传至其bug系统中,一旦开发人员登录该bug系统时,即可本文档来自技高网...

【技术保护点】
一种软件的测试方法,其特征在于,包括:侦测到软件测试指令时,对当前版本软件的源代码进行静态分析,获得静态分析结果,同时获取当前版本软件与上一版本软件的差异文件信息;根据所述当前版本软件与前一版本软件的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果;根据差异文件对应的静态分析结果,产生漏洞单。

【技术特征摘要】
1.一种软件的测试方法,其特征在于,包括: 侦测到软件测试指令时,对当前版本软件的源代码进行静态分析,获得静态分析结果,同时获取当前版本软件与上一版本软件的差异文件信息; 根据所述当前版本软件与前一版本软件的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果; 根据差异文件对应的静态分析结果,产生漏洞单。2.根据权利要求1所述的软件的测试方法,其特征在于,所述根据差异文件对应的静态分析结果,产生漏洞单包括: 判断差异文件对应的静态分析结果中的缺陷是历史缺陷还是新增缺陷; 当差异文件对应的静态分析结果中的缺陷是历史缺陷,则对该缺陷对应漏洞单进行更新; 当差异文件对应的静态分析结果中的缺陷是新增缺陷,则根据该缺陷的信息,产生相应的漏洞单。3.根据权利要求1或2所述的软件的测试方法,其特征在于,还包括: 若差异文件对应的静态分析结果不存在,则获取差异文件对应的漏洞单,并将其状态设置为关闭。4.根据权利要求1所述的软件的测试方法,其特征在于,还包括: 当持续集成平台自动编译源代码后产生软件安装包时,触发产生软件测试指令。5.根据权利要求1所述的软件的测试方法,其特征在于,所述根据当前版本软件与前一版本软件的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果包括: 将差异文件信息中的差异文件名与静态分析结果中的文件名进行匹配,获得差异文件对应的静态分析结果。6.根据权利要求1所述的软件的测试方法,其特征在于,所述将差异文件信息中的差异文件名与静态分析结果中的文件名进行匹配,获得差异文件对应的静态分析结果之后还包括: 对所述差异文件对应的静态分析结果按照文件名、缺陷行号、缺陷类型及缺陷信息进行格式化,生成缺陷列表。7.一...

【专利技术属性】
技术研发人员:陈祎罗俊李超
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1