[发明专利]一种嵌入式系统中的单元测试方法与装置有效
申请号: | 201811101373.2 | 申请日: | 2018-09-20 |
公开(公告)号: | CN110928760B | 公开(公告)日: | 2023-10-20 |
发明(设计)人: | 江国平 | 申请(专利权)人: | 杭州海康汽车技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 谢安昆;宋志强 |
地址: | 310051 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 嵌入式 系统 中的 单元测试 方法 装置 | ||
本发明实施例公开了一种嵌入式系统中的单元测试方法,包括,为嵌入式源代码中的被测函数编写测试用例,得到测试用例可扩展标记文件;通过面向对象的解释型计算机程序,将所述测试用例可扩展标记文件自动化生成基于单文件级源码对应的测试用例源码文件;通过编程工具将所述测试用例码源文件自动生成目标测试用例;通过自动化测试软件工具执行所述目标测试用例,得到测试结果。本发明实施例优化了编程测试用例的过程,提高了测试效率。
技术领域
本发明实施例涉及软件测试技术,具体地,涉及一种嵌入式系统中的单元测试方法。
背景技术
在嵌入式系统软件开发过程中,基于“积木”方式进行,“积木”对应于软件开发中的组件,组件的高质量将极大提高嵌入式系统的开发效率及可靠性,故对组件进行单元测试尤为重要。
嵌入式系统中,单元测试是白盒测试的一种,实现被测函数内部的逻辑测试,旨在检测程序代码中的错误和漏洞,从源头上保证程序的质量,是对程序每一行代码或代码块进行覆盖测试以判断其正确与否。例如,实现被测函数内部的逻辑测试,需要开发人员编写大量的测试用例,同时需要编写相关的桩函数在测试用例中进行打桩,以模拟被测试函数中调用的接口,为被测试函数返回空,或返回固定的值,以使得被测函数能够正常测试其功能。
测试用例大部分基于.C单文件实施,这耗费开发人员大量精力。测试用例执行成功后,需要对测试用例结果进行分析,但目前无法直观地在程序源码中体现已经被测试过的代码及其逻辑。
发明内容
本发明实施例提供了一种嵌入式系统中的单元测试方法,以优化编程测试用例的过程,提高测试效率。
本发明实施例通过如下技术手段实现,
一种嵌入式系统中的单元测试方法,该方法包括,
获得被测对象测试用例的可扩展标记文件;
通过面向对象的解释型计算机程序,将所述测试用例可扩展标记文件自动化生成基于单文件级源码对应的测试用例源码文件;
通过编程工具,将所述测试用例码源文件自动生成目标测试用例。
较佳地,该方法还包括,通过自动化测试软件工具执行所述目标测试用例,得到测试结果。
较佳地,所述通过编程工具将所述测试用例源码文件自动生成目标测试用例包括,
采用Unity工具将所述测试用例源码文件自动生成测试用例,将所述测试用例作为目标测试用例,其中,测试用例源码文件中的桩函数用Ruby工具生成。
较佳地,所述通过编程工具将所述测试用例源码文件自动生成目标测试用例进一步包括,
通过面向对象的解释型计算机程序遍历所述测试用例,并进行归一化处理,得到目标测试用例。
较佳地,所述面向对象的解释型计算机程序为Python脚本程序,所述自动化测试软件工具为Parasoft工具。
较佳地,所述通过自动化测试软件工具执行所述目标测试用例,得到测试结果包括,
基于编译文件,利用Parasoft工具所构建的测试环境执行目标测试用例;
当完成目标测试用例执行后,在所述源代码文件反馈至少包括命令行、修改条件、判定范围之一的覆盖情况。
较佳地,所述获得被测对象测试用例的可扩展标记文件包括,为嵌入式源代码中的被测函数用可扩展标记语言编写测试用例,得到测试用例可扩展标记文件,其中,被测函数中需要构造的桩函数,采用Ruby工具编写。
较佳地,所述将所述测试用例可扩展标记文件自动化生成基于单文件级源码对应的测试用例源码文件包括,
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康汽车技术有限公司,未经杭州海康汽车技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811101373.2/2.html,转载请声明来源钻瓜专利网。