[发明专利]一种C接口函数的测试方法及系统有效
| 申请号: | 201710352233.1 | 申请日: | 2017-05-18 |
| 公开(公告)号: | CN107247665B | 公开(公告)日: | 2020-06-26 |
| 发明(设计)人: | 张红娇;张庆勇;李伟 | 申请(专利权)人: | 北京信安世纪科技股份有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 黄志华 |
| 地址: | 100093 北京市*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 接口 函数 测试 方法 系统 | ||
1.一种C接口函数的测试方法,其特征在于,包括:
测试系统确定满足预设的测试条件的情况下,基于预先配置的测试数据信息库,生成执行队列和数据队列,其中,所述执行队列包含所述测试数据信息库中记录的所有C接口函数的函数名称,所述数据队列包含所述测试数据信息库中记录的所有C接口函数的数据信息;
所述测试系统根据所述执行队列中的各个C接口函数的函数名称,确定出待测试的所有C接口函数,并循环执行以下操作,直至所有C接口函数测试完毕为止:
从所述执行队列中获取一个C接口函数作为当前C接口函数;
从所述数据队列中获取所述当前C接口函数的数据信息,从所述当前C接口函数的数据信息中获取所述当前C接口函数的各个参数,并将获得的各个参数提供给所述当前C接口函数,获取所述当前C接口函数的返回值;
将所述返回值与所述当前C接口函数的预期值进行匹配,基于匹配结果确定所述当前C接口函数是否测试通过;
确定所述当前C接口函数测试完毕。
2.如权利要求1所述的方法,其特征在于,测试系统从所述执行队列中获取一个C接口函数作为当前C接口函数之后,从所述数据队列中获取所述当前C接口函数的数据信息之前,进一步包括:
测试系统判断预先建立的注册函数数据库中是否存在所述当前C接口函数的函数说明,并在确定所述注册函数数据库中存在所述当前C接口函数的函数说明的情况下,认定所述当前C接口函数已注册。
3.如权利要求1所述的方法,其特征在于,测试系统将获得的各个参数提供给所述当前C接口函数,包括:
测试系统分别为获得的各个参数分配存储空间;
测试系统将各个参数存储至各自对应的存储空间中,并将存储在各自对应的存储空间中的各个参数提供给所述当前C接口函数。
4.如权利要求3所述的方法,其特征在于,测试系统分别为获得的各个参数分配存储空间,包括:
测试系统获取各个参数的参数类型,其中,各个参数的参数类型是按照预先配置的参数类型定义规则定义的;
测试系统按照与参数类型相关联的存储空间分配方式,分别为各个参数分配相应的存储空间。
5.如权利要求4所述的方法,其特征在于,测试系统按照与参数类型相关联的存储空间分配方式,分别为各个参数分配相应的存储空间,包括:
测试系统针对各个参数,若所述参数的参数类型为输入类型、引用类型和全局类型中的任意一种,则基于预先建立的参数类型与存储空间大小之间的关联关系,确定所述参数的存储空间大小,并按照确定出的存储空间大小,为所述参数分配存储空间;若所述参数的参数类型为输出类型,则获取所述当前C接口函数的输出空间预测值,并按照获得的所述输出空间预测值,为所述参数分配存储空间。
6.如权利要求3-5任一项所述的方法,其特征在于,还包括:测试系统若确定满足预设的空间释放条件,则释放为各个参数分配的存储空间。
7.如权利要求1所述的方法,其特征在于,测试系统将获得的各个参数提供给所述当前C接口函数,包括:
测试系统从预先加载的包含所有C接口函数的函数入口地址的动态数据库中,获取所述当前C接口函数的函数入口地址,并基于获得的所述当前C接口函数的函数入口地址,将各个参数提供给所述当前C接口函数。
8.如权利要求1-5或7任一项所述的方法,其特征在于,进一步包括:
测试系统确定所有C接口函数的测试完毕的情况下,统计测试通过的C接口函数的数目和函数名称,以及测试不通过的C接口函数的数目和函数名称,并基于测试通过的C接口函数的数目和函数名称以及测试不通过的C接口函数的数目和函数名称,生成测试结果文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信安世纪科技股份有限公司,未经北京信安世纪科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710352233.1/1.html,转载请声明来源钻瓜专利网。





