[发明专利]软件测试方法和系统有效
申请号: | 201410048167.5 | 申请日: | 2014-02-11 |
公开(公告)号: | CN104834590B | 公开(公告)日: | 2018-11-23 |
发明(设计)人: | 鲁四喜 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 何平;邓云鹏 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 测试 方法 系统 | ||
本发明提供了一种软件测试方法,所述方法包括:获取第一配置文件,所述第一配置文件中设有插桩点和对应的用于产生测试场景的插桩代码;根据所述第一配置文件,在被测软件的插桩点处插入对应的所述插桩代码,生成插桩后的被测软件;运行所述插桩后的被测软件,当所述插桩后的被测软件中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码。采用该软件测试方法,能够模拟各种异常场景且能节省测试时间成本。此外,还提供了一种软件测试系统。
技术领域
本发明涉及软件测试技术领域,特别是涉及一种软件测试方法和系统。
背景技术
软件在发布之前为确保软件的稳定性,需要对软件进行测试。在软件测试中,为保证软件质量,需要对各种软件可能面临的场景进行覆盖测试,包括正常的和异常的场景,特别是一些异常的场景,比如:机器内存不足、磁盘空间不足、本地文件读写错误和异常数据等。传统技术中,通常会采用基于功能的黑盒测试方法和基于代码的白盒测试方法这两种方案来实现软件测试。
基于功能的黑盒测试方法,如果要覆盖各种异常场景,比如,对于机器内存不足的异常场景,需要开启大量的程序将系统的内存耗尽;对于磁盘空间不足的异常场景,则需要通过拷贝文件等方式将本地磁盘空间占满。因此基于功能的黑盒测试方法实现起来比较困难,且需要一定的测试时间成本。并且,对于一些程序内部的异常分支,如某个函数异常返回,基于功能的黑盒测试方法更加难以模拟。
基于代码的白盒测试方法,虽然能够在程序运行时设置断点,通过手动修改程序运行时数据或者临时修改代码来模拟这类异常场景,但是这种方式的测试时间成本同样很高,特别是对于一些涉及到较多代码模块修改的特定场景的模拟,比如,所有new函数调用均要返回NULL的特定场景,这种测试方法的时间成本会更加高。
因此,传统的软件测试方法存在异常场景难以模拟且测试时间成本较高的技术问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能模拟出各种异常场景且能降低测试时间成本的软件测试方法和系统。
一种软件测试方法,所述方法包括:
获取第一配置文件,所述第一配置文件中设有插桩点和对应的用于产生测试场景的插桩代码;
根据所述第一配置文件,在被测软件的插桩点处插入对应的所述插桩代码,生成插桩后的被测软件;
运行所述插桩后的被测软件,当所述插桩后的被测软件中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码。
一种软件测试系统,所述系统包括:
获取模块,用于获取第一配置文件,所述第一配置文件中设有插桩点和对应的用于产生测试场景的插桩代码;
代码插入模块,用于根据所述第一配置文件,在被测软件的插桩点处插入对应的所述插桩代码,生成插桩后的被测软件;
代码运行模块,用于运行所述插桩后的被测软件,当所述插桩后的被测软件中的所述插桩点被触发时,执行与触发的所述插桩点对应的所述插桩代码。
相对于传统的基于功能的黑盒测试方法和基于代码的白盒测试方法,本发明所提供的软件测试方法和系统,由于能够在被测软件的插桩点处插入对应的插桩代码,使得插桩后的被测软件在运行过程中,其中的插桩点被触发时能自动执行与插桩点对应的插桩代码,从而模拟出各种测试场景,不需要人工模拟场景或者手动修改数据或临时修改代码,因此既能模拟出各种异常场景又能降低测试时间成本。
附图说明
图1为一个实施例中软件测试方法的流程示意图;
图2A为一个实施例中软件测试方法的应用场景图;
图2B为另一个实施例中软件测试方法的应用场景图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410048167.5/2.html,转载请声明来源钻瓜专利网。