[發明專利]用于包括多個函數測試模塊的單元測試方法及裝置有效
| 申請號: | 201310581759.9 | 申請日: | 2013-11-18 |
| 公開(公告)號: | CN103593291A | 公開(公告)日: | 2014-02-19 |
| 發明(設計)人: | 黃俊飛;宮云戰;金大海;王雅文;李峰 | 申請(專利權)人: | 北京郵電大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京派特恩知識產權代理事務所(普通合伙) 11270 | 代理人: | 任媛;蔣雅潔 |
| 地址: | 100876 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 用于 包括 函數 測試 模塊 單元測試 方法 裝置 | ||
1.一種用于包括多個函數測試模塊的單元測試方法,其特征在于,所述方法包括:
構建測試模塊,所述測試模塊包括兩個以上有調用關系的函數;
根據測試模塊內程序的邏輯關系及函數間的調用關系形成若干條函數間路徑;
為每一條所述函數間路徑選擇測試用例進行測試。
2.根據權利要求1所述的用于包括多個函數測試模塊的單元測試方法,其特征在于,所述形成若干條函數間路徑包括:
構建對應于測試模塊中各函數調用語句的語句控制流圖;
構建對應于測試模塊中各函數的函數控制流圖;
根據函數調用關系,關聯所述語句控制流圖以及所述函數控制流圖形成模塊控制流圖;
在所述模塊控制流圖中確定待覆蓋節點,根據預設的路徑選擇策略選出經過所述待覆蓋節點的所述函數間路徑。
3.根據權利要求2述的用于包括多個函數測試模塊的單元測試方法,其特征在于,所述構建語句控制流圖包括:
步驟A:判斷函數調用語句調用中當前運算是否為原子運算,若是則構建結束,若否則進行以下步驟;
步驟B:為當前運算構建一個語句控制流圖;
步驟C:構建所述語句控制圖的入口節點;
步驟D:在所述語句控制圖中創建對應每個操作對象的操作對象節點;
步驟E:根據當前運算的運算先后順序確定操作對象節點之間的連接順序;
步驟F:創建一個運算節點對應于當前運算的結果;
步驟G:設置所述語句控制流圖的出口節點;
步驟H:按順序連接各節點,保存操作對象節點與運算節點之間的運算關系;
步驟I:為包括函數調用的操作對象節點創建對應的語句控制流圖,并替換所述操作對象節點。
4.根據權利要求3所述的用于包括多個函數測試模塊的單元測試方法,其特征在于,所述步驟I包括步驟I.1至步驟I.4;
所述步驟I.1:獲取包括函數調用的操作對象節點的操作對象;所述操作對象分為操作數以及由2個以上操作數之間的運算構成的操作式;
所述步驟I.2:判斷所述對象中是否有操作式;
若有則進入步驟I.3,若否則構建結束;
所述步驟I.3:將所述運算操作式視為當前運算,執行所述步驟A至步驟I,以構建所述操作式所對應的語句控制流圖;
所述步驟I.4:將所述步驟I.3中所構建的語句控制流圖,替換所述操作對象節點,并返回所述步驟I.1。
5.根據權利要求2、3或4所述的用于包括多個函數測試模塊的單元測試方法,其特征在于,所述根據預設的路徑選擇策略選出經過所述待覆蓋節點的函數間路徑包括:
通過所述模塊控制流圖所對應的控制樹和蘊含樹,得出形成函數間路徑必定經過的必經節點;
根據最多覆蓋原則補全所述必經節點之間的節點,并同時確保經過所述待覆蓋節點,進而形成所述函數間路徑。
6.根據權利要求2-5任一項所述的用于包括多個函數測試模塊的單元測試方法,其特征在于,所述函數控制流圖包括主函數對應的函數控制流圖以及被調用的子函數對應的函數控制流圖;
形成模塊控制流圖包括:
將語句控制流圖替換主函數對應的函數控制流圖中的函數調語句所對應的節點;
將子函數對應的函數控制流圖替換語句控制流圖中調用函數節點。
7.根據權利要求5所述的用于包括多個函數測試模塊的單元測試方法,其特征在于,所述根據預設的路徑選擇策略選出經過所述待覆蓋節點的函數間路徑還包括:
判斷所選擇出的函數間路徑是否為不可達路徑,若否則函數間路徑選擇正確,若是則采用不可達前綴法進行路徑重選。
8.根據權利要求7所述的用于包括多個函數測試模塊的單元測試方法,其特征在于,所述不可達路徑的判定包括:
獲取節點的變量;所述變量包括對應語句控制流圖的入口節點所對應的值參和引參、返回節點所述對應的返回值以及出口節點的值參和引參;
使用符號化執行技術表達變量之間的關聯;
使用區間運算技術處理路徑約束判定所選的函數路徑是否為不可達路徑。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京郵電大學,未經北京郵電大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310581759.9/1.html,轉載請聲明來源鉆瓜專利網。





