[发明专利]一种多核测试的方法和装置有效
申请号: | 201210459920.0 | 申请日: | 2012-11-15 |
公开(公告)号: | CN102999423A | 公开(公告)日: | 2013-03-27 |
发明(设计)人: | 王玉水 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 测试 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种多核测试的方法和装置。
背景技术
随着CPU硬件技术的不断发展,多核CPU已经逐渐代替了单核CPU,并且由于多核CPU的普及,操作系统与CPU部署方式的变化,现有的应用程序的部署方式主要可以分为AMP(Asymmetric Multiprocessing,非对称多处理)、SMP(Symmetric Multiprocessing,对称多处理)和BMP(Bound Multiprocessing,混合多处理)三种模式。其中,AMP中每个CPU内核运行一个独立操作系统或统一操作系统的独立实例,SMP中一个操作系统的实例可以同时管理所有CPU内核,且应用并不绑定内某一个内核,而BMP中结合了SMP的高级资源管理和AMP的应用控制的混合功能,一个操作系统的实例可以同时管理所有CPU内核,但每个应用被锁定于某个指定的核心。
我们的测试对象是部署在操作系统上的应用进程,这些应用进程可以部署在不同的操作系统上,甚至是不同的VCPU(Virtual CPU,虚拟处理器),而在进行软件测试过程中,涉及到多个应用进程的测试信息交互,目前,进行测试信息的方式包括:一、利用Socket链路来进行测试控制信息及测试结果的传递;二、利用管道方式来进行进程内的测试控制信息及测试结果的传递。
但是Socket链路方式只能在有网卡的设备上才能使用,而且需要在测试的主控端和业务端的操作系统中进行内核状态的转化,会消耗部分系统性能;管道通信只能在Linux系统下采用对称多处理的部署方式,不能满足多类型操作系统测试的需求。
发明内容
本发明的实施例提供一种多核测试的方法和装置,能够实现在多核CPU的不同核心上的不同类型的操作系统进行多种程序部署方式的软件测试的工作,解决了测试工作对网络功能的依赖,减小了系统性能损耗,提高了工作效率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种多核测试的方法,所述方法包括:
处理器中的主控端在执行测试用例的过程中,发送消息命令到命令存放区;其中,所述消息指令包括:业务端标识,待执行函数名和参数变量;
所述处理器中的各个业务端根据所述命令存放区中的消息命令中的业务端标识判断所述消息命令是否属于本业务端,若所述消息命令属于本业务端,则所述消息命令所属的业务端根据所述待执行函数名和所述参数变量对所述测试用例进行测试;
所述消息命令所属的业务端在执行完所述消息命令后,将执行结果发送到结果存放区进行存储,以便所述主控端对执行结果进行统计;其中,所述命令存放区和所述结果存放区位于共享内存中。
在第一种可能的实现方式中,结合第一方面,所述处理器中的各个业务端根据所述命令存放区中的消息命令中的业务端标识判断所述消息命令是否属于本业务端包括:
所述处理器的各个业务端判断所述命令存放区中的所述消息命令中的业务端标识与本业务端标识是否对应;
若所述消息命令中的业务端标识与本业务端标识对应,则确定所述消息命令是属于本业务端的消息命令,并且所述消息命令所属的业务端根据所述待执行函数名和所述参数变量对所述测试用例进行测试。
在第二种可能的实现方式中,结合第一方面的第一种可能的实现方式,在所有的测试用例都被执行后,所述方法还包括:
所述处理器中的主控端通过查询接口查询所述结果存放区中存储的执行结果。
在第三种可能的实现方式中,结合第一方面或第一方面的第一种可能的实现方式或第一方面的第二种可能的实现方式,所述执行结果包括失败信息和统计信息;
其中,所述失败信息包括:业务端标识,失败原因,文件名,程序行号;
所述统计信息包括:测试用例数目,测试用例成功数目及测试用例失败数目;测试套数目,测试套成功数目,测试套失败数目;断言数目,断言成功数目,断言失败数目。
第二方面,提供一种多核测试测试装置,所述装置包括:
处理器和共享内存,其中所述处理器包括主控端和至少一个业务端;所述共享内存包括命令存放区和结果存放区;
所述主控端用于在执行测试用例的过程中,发送消息命令到命令存放区;其中,所述消息指令包括:业务端标识,待执行函数名和参数变量;
所述业务端用于根据所述命令存放区中的消息命令中的业务端标识判断所述消息命令是否属于本业务端,若所述消息命令属于本业务端,则所述消息命令所属的业务端根据所述待执行函数名和所述参数变量对所述测试用例进行测试;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210459920.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于组合的短语规则抽取方法
- 下一篇:一种告警通知功能的优化方法及设备