[發明專利]基于路徑覆蓋測試用例自動生成的單元測試方法有效
| 申請號: | 201810501975.0 | 申請日: | 2018-05-23 |
| 公開(公告)號: | CN108710575B | 公開(公告)日: | 2020-11-24 |
| 發明(設計)人: | 黃翰;連木明;劉方青;楊忠明;郝志峰 | 申請(專利權)人: | 華南理工大學 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 廣州粵高專利商標代理有限公司 44102 | 代理人: | 何淑珍;江裕強 |
| 地址: | 510640 廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 路徑 覆蓋 測試 自動 生成 單元測試 方法 | ||
本發明提供了基于路徑覆蓋測試用例自動生成的單元測試方法,首先對被測試程序的代碼進行詞法分析與語法分析,然后得到程序的控制流圖。得到控制流圖后根據已知的判斷節點個數生成節點表。然后根據自動生成的測試用例,在生成的控制流圖中驅動節點中的可執行代碼的執行,同時根據可執行代碼的執行結果計算獲取fitness適應值,進行選擇子節點繼續重復上述過程,直到找到圖中的終止節點,最后生成路徑標記與得到該路徑對應的fitness適應值。接著運行測試用例自動生成算法,該算法根據返回的fitness適應值不斷自動生成測試用例,直到路徑完全覆蓋,或者超過設定的運行時間時退出。本發明適用于軟件測試的,經過實驗驗證,可以應用于實際的軟件測試工作環境。
技術領域
本發明涉及計算機軟件工程的軟件測試領域,具體涉及基于路徑覆蓋測試用例自動生成的單元測試一體化方法。
背景技術
隨著軟件產業的不斷發展,軟件測試在軟件開發中的地位越來越重要,因為傳統的軟件測試基本是由人工生成測試用例,再對軟件進行測試,這是一個極其復雜和繁瑣的體力勞動,不僅成本高而且易出錯,再者在軟件測試的過程中存在大量技術含量低且重復性極高的工作,所以設計一個軟件自動測試智能軟件能夠有效降低企業的測試人力成本,同時對測試報告進行分析,能夠有效地保證測試效率和效果并控制測試成本。一個優秀的自動化測試軟件可以極大地節省大量的人力物力,減少資源消耗,提高企業效益與企業的市場競爭力。
現有的軟件自動化測試方法中使用的動態的方法大都是具體基于語句覆蓋或者是分支覆蓋,而在軟件測試所有的覆蓋類型中,路徑覆蓋是最強的覆蓋,有更強的糾錯能力,能更有效地檢查出軟件的瑕疵和錯誤。且現如今雖有測試用例自動生成的方法,卻沒有一個完整的,可以對源代碼自動進行解析,并將測試用例代入進行測試,同時生成測試報告的軟件自動化測試智能方法。
本發明中采用的基于路徑覆蓋測試用例自動生成的單元測試方法,構建源代碼分析生成控制流圖模塊、測試用例自動生成模塊、測試用例執行模塊、測試報告生成模塊,并將這些模塊組合生成軟件自動化測試系統。基于路徑覆蓋測試用例自動生成,無須人工干預,僅需輸入需要測試的源代碼,系統便可解析源代碼生成控制流圖,再自動生成測試用例,不斷地進行測試,直至覆蓋源代碼中所有路徑或已超過最大迭代次數,最后生成一份測試報告。本發明采用合理源代碼解析與程序分析技術并結合測試用例自動生成的方法,實現軟件自動化測試,因為無需人工干預,該系統極大地提高軟件測試的效率與降低軟件測試成本,效果極好。
發明內容
本發明針對如今軟件行業上缺乏一體化的軟件自動化測試方法的不足,開發出了基于路徑覆蓋測試用例自動生成的單元測試智能軟件。本發明的目的在于構建一個軟件自動化測試的系統,幫助軟件測試人員去除大量的技術含量低且重復性的工作,能夠快速的獲得覆蓋被測試程序所有路徑的測試用例的報告,從而利用這些測試用例更好地檢測出測試程序可能存在的BUG,用于修復程序漏洞,提高軟件質量。
基于路徑覆蓋測試用例自動生成的單元測試方法,其包括以下步驟:
(a)對輸入源程序即源代碼進行文件預處理,使其符合詞法分析與語法分析要求的語法結構;
(b)對步驟(a)預處理后的輸入源代碼進行詞法分析,建立符號表;
(c)對步驟(a)預處理后的輸入源代碼進行語法分析,建立源代碼對應的控制流圖(CFG),其中包含控制節點、普通節點與終止節點,將源代碼轉化可執行的中間代碼,并在控制節點中插入可執行代碼;
(d)由測試用例自動生成算法生成測試用例;
(e)由測試用例執行模塊獲取測試用例,并驅動控制流圖中節點的可執行代碼的執行,根據可執行代碼執行結果計算適應度函數fitness適應值;
(f)若當前節點不是終止節點,由可執行代碼的執行結果選擇下一個子節點(子節點指的是當前節點指向的下一個節點)重復(c),(d),(e)步驟;否則進入下一步;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華南理工大學,未經華南理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810501975.0/2.html,轉載請聲明來源鉆瓜專利網。





