[发明专利]一种适用于指针的单元测试用例生成方法及装置在审

专利信息
申请号: 202110043899.5 申请日: 2021-01-13
公开(公告)号: CN112783765A 公开(公告)日: 2021-05-11
发明(设计)人: 陈睿;杨帆;江云松;于婷婷;刘亚威;王浩;高栋栋;李超;贾春鹏;吴瑾 申请(专利权)人: 北京轩宇信息技术有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 中国航天科技专利中心 11009 代理人: 李明泽
地址: 100190 北京市海淀区科学院*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 适用于 指针 单元测试 生成 方法 装置
【权利要求书】:

1.一种适用于指针的单元测试用例生成方法,其特征在于,包括:

对预设被测程序进行静态分析确定输入元素中的成员类型,根据所述成员类型判断所述输入元素是否为void*或含void*成员的结构体;

若所述输入元素是void*或含void*成员的结构体,则确定所述void*或所述void*成员指向的实际类型以及根据所述实际类型生成输入驱动文件;

判断所述实际类型是否为结构体类型且所述结构体类型中的结构体是否包含指向动态堆数据结构的成员;

若所述实际类型是结构体类型且所述结构体类型中的结构体包含指向动态堆数据结构的成员,则设置指针或结构体展开层次,并根据所述展开层次生成配置文件,根据所述驱动文件以及所述配置文件自动生成测试用例。

2.如权利要求1所述的方法,其特征在于,还包括:若所述输入元素不是void*或含void*成员的结构体,则根据所述成员类型判断是否包含指针型成员;

若包含指针型成员,则确定指针类型成员的结构体或结构体指针;

判断所述指针类型成员的结构体或结构体指针是否指向所述动态堆数据结构;

若指向所述动态堆数据结构,则根据预设基本类型生成所述驱动文件,并根据所述驱动文件以及所述配置文件自动生成所述测试用例。

3.如权利要求2所述的方法,其特征在于,还包括:若所述实际类型不是结构体类型或所述结构体类型中的结构体不包含指向动态堆数据结构的成员,则根据预设展开层次生成所述配置文件,并根据所述驱动文件以及所述配置文件自动生成所述测试用例。

4.如权利要求3所述的方法,其特征在于,确定所述void*或所述void*成员指向的实际类型,包括:

对所述预设被测程序进行静态分析确定出函数控制流程图,根据预设深度优先遍历算法以及所述函数控制流程图确定出所述void*或所述void*成员对应的强转表达式,根据所述强转表达式确定被强转的目标类型,将所述目标类型作为所述实际类型。

5.如权利要求4所述的方法,其特征在于,根据所述强转表达式确定被强转的目标类型之后,还包括:

判断是否存在任一void*或void*成员未确定目标类型;

若存在,则根据用户输入的类型为所述任一void*或void*成员设置目标类型。

6.如权利要求1~5任一项所述的方法,其特征在于,根据所述驱动文件以及所述配置文件自动生成测试用例,包括:

根据所述驱动文件设置输入表达式,根据所述设置指针或结构体展开层次或所述预设展开层次对所述输入表达式进行展开,直到展开层次大于所述设置指针或结构体展开层次或所述预设展开层次为止;

将展开后的每个表达式编码为符号值,根据所述符号值自动生成所述测试用例。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京轩宇信息技术有限公司,未经北京轩宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110043899.5/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top