[发明专利]测试方法及设备有效
申请号: | 201210564597.3 | 申请日: | 2012-12-21 |
公开(公告)号: | CN103885876B | 公开(公告)日: | 2018-01-05 |
发明(设计)人: | 刘阳 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京鸿德海业知识产权代理事务所(普通合伙)11412 | 代理人: | 袁媛 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 测试 方法 设备 | ||
【技术领域】
本发明涉及测试技术,尤其涉及一种测试方法及设备。
【背景技术】
在软件测试过程中,诸多中间环节都需要操作人员进行手动控制。例如,在测试用例的设计阶段,操作人员可以根据具体的测试需求,设计测试用例;或者再例如,在测试结果的预期阶段,操作人员可以利用设计的测试用例,运行待测程序,计算出预期的测试结果。
然而,现有的测试操作的操作复杂,且容易出错,从而导致了测试操作的效率和可靠性的降低。
【发明内容】
本发明的多个方面提供一种测试方法及设备,用以提高测试操作的效率和可靠性。
本发明的一方面,提供一种测试方法,包括:
利用自适应随机测试算法,生成至少两个测试用例;
利用贪婪算法,对所述至少两个测试用例进行搜索,以选择所述至少两个测试用例中可用的测试用例;
根据预先设置的蜕变关系,生成与所述可用的测试用例对应的蜕变的测试用例,所述蜕变关系用于指示测试用例的变化与利用所述变化之前和所述变化之后的测试用例对待测程序进行测试所生成的测试结果的变化的对应关系;
利用所述可用的测试用例运行所述待测程序,以生成第一测试结果;
利用所述蜕变的测试用例运行所述待测程序,以生成第二测试结果;
根据所述第一测试结果、所述第二测试结果和所述蜕变关系,对所述待测程序进行验证。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述利用自适应随机测试算法,生成至少两个测试用例,包括:
利用自适应随机测试算法,以及根据预先设置的覆盖阈值,生成至少两个测试用例,所述至少两个测试用例对所述待测程序的覆盖情况大于或等于所述覆盖阈值。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述利用贪婪算法,对所述至少两个测试用例进行搜索,包括:
依次从所述至少两个测试用例中除了之前选择的N-1个可用的测试用例之外其它的测试用例中,选择第N个可用的测试用例,直到所述N个可用的测试用例的覆盖情况大于或等于预先设置的覆盖阈值,所述N为大于或等于1的整数;其中,
所述待测程序包含之前选择的N-1个可用的测试用例已经覆盖的第一程序和之前选择的N-1个可用的测试用例没有覆盖的第二程序;
所述第N个可用的测试用例对第二程序的覆盖情况大于所述至少两个测试用例中除了之前选择的N-1个可用的测试用例之外的其它测试用例对第二程序的覆盖情况。
本发明的另一方面,提供一种测试设备,包括:
生成单元,用于利用自适应随机测试算法,生成至少两个测试用例;
搜索单元,用于利用贪婪算法,对所述至少两个测试用例进行搜索,以选择所述至少两个测试用例中可用的测试用例;
所述生成单元,还用于根据预先设置的蜕变关系,生成与所述可用的测试用例对应的蜕变的测试用例,所述蜕变关系用于指示测试用例的变化与利用所述变化之前和所述变化之后的测试用例对待测程序进行测试所生成的测试结果的变化的对应关系;
测试单元,用于利用所述可用的测试用例运行所述待测程序,以生成第一测试结果;以及利用所述蜕变的测试用例运行所述待测程序,以生成第二测试结果;
验证单元,用于根据所述第一测试结果、所述第二测试结果和所述蜕变关系,对所述待测程序进行验证。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述生成单元,具体用于
利用自适应随机测试算法,以及根据预先设置的覆盖阈值,生成至少两个测试用例,所述至少两个测试用例对所述待测程序的覆盖情况大于或等于所述覆盖阈值。
如上所述的方面和任一可能的实现方式,进一步提供一种实现方式,所述搜索单元,具体用于
依次从所述至少两个测试用例中除了之前选择的N-1个可用的测试用例之外其它的测试用例中,选择第N个可用的测试用例,直到所述N个可用的测试用例的覆盖情况大于或等于预先设置的覆盖阈值,所述N为大于或等于1的整数;其中,
所述待测程序包含之前选择的N-1个可用的测试用例已经覆盖的第一程序和之前选择的N-1个可用的测试用例没有覆盖的第二程序;
所述第N个可用的测试用例对第二程序的覆盖情况大于所述至少两个测试用例中除了之前选择的N-1个可用的测试用例之外的其它测试用例对第二程序的覆盖情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210564597.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种改进的金属防锈剂
- 下一篇:防盗多功能电子计算器