[发明专利]一种解除函数外部耦合及测试方法在审
申请号: | 201611208145.6 | 申请日: | 2016-12-23 |
公开(公告)号: | CN108241572A | 公开(公告)日: | 2018-07-03 |
发明(设计)人: | 方加强;方泽文 | 申请(专利权)人: | 惠州市德赛西威汽车电子股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 陈卫;谭映华 |
地址: | 516006 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 函数分类 外部耦合 耦合 测试 初始化 测试单元 单元测试 工具生成 公共数据 函数测试 函数耦合 外部变量 耦合函数 函数解 和函数 源文件 分类 分析 | ||
本发明为一种解除函数外部耦合及测试方法,包括以下步骤:函数分类:分析被测源文件,并对待测函数进行分类;函数耦合:根据函数分类进行耦合,如果待测函数本身是非耦合函数,则进行下一步骤;如果函数存在耦合,则设立外部耦合函数,然后再进行下一步骤;函数测试:利用测试单元工具生成测试用例,并根据函数分类和函数耦合情况进行测试;本方法在函数解耦后间接初始化了外部变量或公共数据,不需要人工添加初始化,单元测试效率得到大幅度提高。
技术领域
本发明涉及嵌入式软件领域,尤其是一种解除函数外部耦合及测试方法。
技术背景
在嵌入式软件领域,单元测试技术已经被广泛应用,在现有软件产品中,存在着大量高外部耦合的函数,即这些函数在函数内部直接调用访问外部变量或者公共数据。
目前,大多数的单元测试工具,在为这些外部耦合函数自动生成单元测试用例时,测试工具只能对函数的形参列表进行初始化并测试,并不能自动初始化函数内部访问到的外部数据,而现有的解决方案是,在工具生成测试用例后,人工在测试用例中添加被测函数使用到的外部变量的初始化,当测试用例有成千上万条时,这个方案效率低下,维护困难。
发明内容
为了解决上述问题,本发明的目的是提供一种解除函数外部耦合及测试方法,本方法在函数解耦后,并对外部数据分析,达到函数低耦合高内聚的效果,提高函数的复用性,降低软件后期维护成本,而且,解耦后的函数通过工具生成单元测试用例,包含了函数形参的各种初始化组合,间接初始化了外部变量或公共数据,不需要人工添加初始化,单元测试效率得到大幅度提高。
本发明的技术方案如下:一种解除函数外部耦合及测试方法,包括以下步骤:
首先,函数分类:分析被测源文件,并对待测函数进行分类;
然后,函数耦合:根据函数分类进行耦合,如果待测函数本身是非耦合函数,则进行下一步骤;如果函数存在耦合,则设立外部耦合函数,然后再进行下一步骤;
最后,函数测试:利用测试单元工具生成测试用例,并根据函数分类和函数耦合情况进行测试。
进一步的,所述函数耦合的待测函数存在外部数据变量,通过外部数据变量对待测函数进行解耦封装,并把外部数据以形式参数的方式引入设立的外部耦合函数。
进一步的,所述外部耦合函数的形参列表通过测试单元直接自动生成。
采用以上技术方案的有益效果是:本方法在函数解耦后,并对外部数据分析,达到函数低耦合高内聚的效果,提高函数的复用性,降低软件后期维护成本,而且,解耦后的函数通过工具生成单元测试用例,包含了函数形参的各种初始化组合,间接初始化了外部变量或公共数据,不需要人工添加初始化,单元测试效率得到大幅度提高。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成本申请的不当限定。在附图中:
图1为本发明的整体流程图;
图2为本发明的一个举例的流程图。
图中的数字或字母代表的相应部件的名称:S100. 函数分类,S200. 函数耦合,S300. 函数测试。
具体实施例
如附图1所示,一种解除函数外部耦合及测试方法,为了省略在测试函数时,需要人工在测试用例中初始化外部数据变量的步骤,提供以下解除函数外部耦合的步骤:
首先,函数分类S100:分析被测源文件,并对待测函数进行分类;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠州市德赛西威汽车电子股份有限公司,未经惠州市德赛西威汽车电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611208145.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种程序测试方法及装置
- 下一篇:一种集成测试代码生成方法及装置