[發明專利]一種解除函數外部耦合及測試方法在審
| 申請號: | 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.szxzyx.cn/pat/books/201611208145.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種程序測試方法及裝置
- 下一篇:一種集成測試代碼生成方法及裝置





