[发明专利]软件的测试方法及装置有效
申请号: | 201310367642.0 | 申请日: | 2013-08-21 |
公开(公告)号: | CN104424088B | 公开(公告)日: | 2019-09-13 |
发明(设计)人: | 陈祎;罗俊;李超 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 蒋雅洁;张颖玲 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 测试 方法 装置 | ||
本发明公开一种软件的测试方法,包括:侦测到软件测试指令时,对当前版本软件的源代码进行静态分析,获得静态分析结果,同时获取当前版本软件与上一版本软件的差异文件信息;根据所述当前版本软件与前一版本软件的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果;根据差异文件对应的静态分析结果,产生bug单。对应地,本发明还公开了一种软件的测试装置。本实施例中通过对源代码进行静态分析获得静态分析结果,同时获取当前版本与上一版本之间的差异文件信息,以过滤获得差异文件对应的静态分析结果,然后再根据静态分析结果自动产生bug单,实现了静态分析的自动化,提高了软件测试效率。
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件的测试方法及装置。
背景技术
软件的代码量往往会非常庞大,则在软件测试时对整个工程的源代码全部做一次静态扫描将会非常耗时。同时,一次全量扫描得到的缺陷数也会非常多。因此,如果是在项目即将发布时才统一来做静态分析,并将所有的缺陷一次性提交给开发人员,这样势必降低软件的研发效率和质量。因此亟需一种能提高软件测试效率的静态分析方法。
发明内容
本发明实施例提供一种软件的测试方法及装置,旨在提高软件测试的效率。
本发明实施例提供了一种软件的测试方法,包括:
当侦测到软件测试指令时,对当前版本软件的源代码进行静态分析,其中,所述静态分析包括在不执行所述软件的源代码的情况下,采用词法分析、语法分析、控制流分析至少之一的方式对所述源代码进行扫描,验证所述源代码是否满足规范性、安全性、可靠性和可维护性至少之一的指标,以获得所述软件潜在的缺陷而形成静态分析结果;
获取当前版本软件与上一版本软件的差异文件信息;
根据所述当前版本软件与前一版本软件的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果;
当所述差异文件信息对应的静态分析结果中的缺陷是新增缺陷时,则根据该缺陷的信息,产生相应的漏洞单。
本发明实施例技术方案还提供了一种软件的测试装置,与持续集成平台关联;包括:
指令触发模块,用于当持续集成平台自动编译源代码后产生软件安装包时,则触发产生软件测试指令;
信息获取模块,用于侦测到软件测试指令时,对当前版本软件的源代码进行静态分析,其中,所述静态分析包括在不执行所述软件的源代码的情况下,采用词法分析、语法分析、控制流分析至少之一的方式对所述源代码进行扫描,验证所述源代码是否满足规范性、安全性、可靠性和可维护性至少之一的指标,以获得所述软件潜在的缺陷而形成静态分析结果;
信息获取模块,用于获取当前版本软件与上一版本软件的差异文件信息;
信息匹配模块,用于根据所述当前版本软件与前一版本软件的差异文件信息,对所述静态分析结果进行过滤,获得差异文件对应的静态分析结果;
信息处理模块,用于当所述差异文件信息对应的静态分析结果中的缺陷是新增缺陷时,则根据该缺陷的信息,产生相应的漏洞单。
本实施例中通过对源代码进行静态分析获得静态分析结果,同时获取当前版本与上一版本之间的差异文件信息,以过滤获得差异文件对应的静态分析结果,然后再根据静态分析结果自动产生漏洞单,实现了静态分析的自动化,提高了软件测试效率。
附图说明
图1是本发明软件的测试方法第一实施例的流程示意图;
图2是本发明软件的测试方法中对差异文件的静态分析结果进行处理的流程示意图;
图3是本发明软件的测试方法第二实施例的流程示意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310367642.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:发送内容的方法及其电子设备
- 下一篇:一种处理器工作频率的控制方法及装置