[发明专利]针对嵌入式软件IO端口的单元测试用例生成方法及装置有效
申请号: | 201911349540.X | 申请日: | 2019-12-24 |
公开(公告)号: | CN111176994B | 公开(公告)日: | 2023-03-31 |
发明(设计)人: | 陈睿;杨帆;江云松;王浩;韩亮;刘亚威;贾春鹏;车小鹏;施兰兰;高猛;高栋栋;王政;吴瑾 | 申请(专利权)人: | 北京轩宇信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 李明泽 |
地址: | 100190 北京市海淀区科学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 嵌入式 软件 io 端口 单元测试 生成 方法 装置 | ||
1.一种针对嵌入式软件IO端口的单元测试用例生成方法,其特征在于,包括:
获取待测试程序中的关键数据;
启动基于解释器的符号执行引擎,在所述解释器中建立一个IO区域查询表和分配一段IO专用内存区域;
采用所述符号执行引擎,查询和更新IO区域查询表、维护IO专用区域、自动映射IO端口为输入,确定所述待测试程序对应的测试用例;
所述查询和更新IO区域查询表、维护IO专用区域、自动映射IO端口为输入,确定所述待测试程序对应的测试用例的步骤,包括:
查询、更新IO区域查询表;
IO端口的输入自动映射到IO专用内存区域,移动所述IO专用内存指针,指向下一个IO专用区域可用位置;
利用路径搜索算法和约束求解,通过反复迭代生成测试用例集合。
2.根据权利要求1所述的方法,其特征在于,所述获取所述待测试程序中的关键数据的步骤,包括:
对所述待测试程序进行静态分析,获取所述待测试程序中的关键数据。
3.根据权利要求2所述的方法,其特征在于,所述启动基于解释器的符号执行引擎,在所述解释器中建立一个IO区域查询表和分配一段IO专用内存区域的步骤,包括:
在所述解释器中建立所述IO区域查询表;
在所述解释器中分配IO专用内存区域,并创建一个指针,指向该区域可用的地址。
4.一种针对嵌入式软件IO端口的单元测试用例生成装置,其特征在于,包括:
关键数据获取模块,用于获取待测试程序中的关键数据;
基于解释器的符号执行引擎模块,用于驱动符号执行,建立一个IO区域查询表和分配一段IO专用内存区域;
IO端口处理和用例生成模块,用于采用所述符号执行引擎,查询和更新IO区域查询表、维护IO专用区域、自动映射IO端口为输入,确定所述待测试程序对应的测试用例;
所述查询和更新IO区域查询表、维护IO专用区域、自动映射IO端口为输入,确定所述待测试程序对应的测试用例的步骤,包括:
查询、更新IO区域查询表;
IO端口的输入自动映射到IO专用内存区域,移动所述IO专用内存指针,指向下一个IO专用区域可用位置;
利用路径搜索算法和约束求解,通过反复迭代生成测试用例集合。
5.根据权利要求4所述的装置,其特征在于,所述关键数据获取模块包括:
关键数据获取子模块,用于对所述待测试程序进行静态分析,获取所述待测试程序中的关键数据。
6.根据权利要求5所述的装置,其特征在于,所述基于解释器的符号执行引擎模块包括:
IO区域查询表建立子模块,用于在所述解释器中建立所述IO区域查询表;
IO专用内存分配子模块,用于在所述解释器中分配IO专用内存区域,并创建一个指针,指向该区域可用的地址。
7.根据权利要求6所述的装置,其特征在于,所述IO端口处理和用例生成模块包括:
IO区域查询表更新子模块,用于查询、更新IO区域查询表;
IO端口自动映射子模块,用于IO端口的输入自动映射到IO专用内存区域,移动所述IO专用内存指针,指向下一个IO专用区域可用位置;
路径搜索算法和约束求解模块,用于利用路径搜索算法和约束求解,通过反复迭代生成测试用例集合。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京轩宇信息技术有限公司,未经北京轩宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911349540.X/1.html,转载请声明来源钻瓜专利网。