[發明專利]一種自動生成單元測試輸入數據、測試用例的方法和系統在審
| 申請號: | 202111543116.6 | 申請日: | 2021-12-16 |
| 公開(公告)號: | CN114281687A | 公開(公告)日: | 2022-04-05 |
| 發明(設計)人: | 韓鵬;安登奎;戴志強;姚毅;楊藝 | 申請(專利權)人: | 凌云光技術股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京弘權知識產權代理有限公司 11363 | 代理人: | 逯長明;許偉群 |
| 地址: | 100094 北京市海淀*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 自動 生成 單元測試 輸入 數據 測試 方法 系統 | ||
本申請公開了一種自動生成單元測試輸入數據集及測試用例的方法和系統,所述自動生成單元測試輸入數據集的方法根據各入參的正常取值范圍和異常取值范圍分別生成基礎正常單元測試輸入數據、極限單元測試輸入數據和異常單元測試輸入數據,并對上述數據自動進行篩選,進一步根據篩選結果可選地對基礎正常單元測試輸入數據進行衍生,直至篩選結果滿足終止條件;所述自動生成單元測試用例的方法將預期結果與相應的單元測試輸入數據建立對應關系,從而解決現有技術人工編寫單元測試輸入數據、單元測試用例耗時長、效率低、容易出錯等問題,大幅度縮短編寫單元測試輸入數據、單元測試用例的時間,提高工作效率,減少錯誤率。
技術領域
本申請屬于計算機編程領域,特別涉及一種自動生成單元測試輸入數據、測試用例的方法和系統。
背景技術
隨著軟件在各行各業中的應用越來越廣泛,軟件的穩定性越來越被重視,因此,軟件測試是軟件研發過程中的一項重要工作。由于整個軟件通常包括多個單元模塊,因此,對軟件進行測試的流程通常為首先對各單元模塊分別進行測試,在各單元測試通過后再進行軟件整體進行測試。通過單元測試,可以對軟件中的最小可測單元進行檢查和驗證,幫助開發人員開展代碼自查,發現軟件系統設計或實現中存在的邏輯錯誤,使問題及早暴露,便于對軟件系統中存在的問題進行定位并解決,以減輕后期研發人員在集成測試、系統測試時的負擔。其中,測試用例生成是單元測試中代價最高的工作之一。
在單元測試用例編寫過程中,測試人員首先需要查看被測單元的數據來源,人工分析被測單元的代碼邏輯結構,并根據分析結果人工構建單元測試輸入數據集,單元測試輸入數據集構建完成后還需要人工進行清除無用單元測試輸入數據和冗余數據,補錄缺失數據,修改錯誤數據等處理,保存處理后的單元測試輸入數據,并以各單元測試輸入數據生成對應的預期標準,從而構成測試用例集。
現有技術獲取單元測試輸入數據的方法需要完全人工處理,如果被測單元的數據結構發生變化,則各單元測試輸入數據需要完全手工調整更新單元測試用例,并重新計算各單元測試用例對應的預期標準,導致人工準備單元測試用例不僅耗時長而且容易出錯。
發明內容
為解決現有技術人工編寫單元測試輸入數據、單元測試用例耗時長、效率低、容易出錯等問題,本申請提供一種自動生成單元測試用例的方法及系統,所述方法能夠針對不同被測單元自動批量生成個性化的單元測試用例,從而大幅度縮短編寫單元測試輸入數據、單元測試用例的時間,提高工作效率,減少錯誤率。
本申請的目的在于提供一種自動生成單元測試輸入數據集的方法,所述方法包括以下步驟:
根據被測單元的入參生成基礎測試輸入數據集,所述基礎測試輸入數據集包括至少一組極限測試輸入數據、一組異常測試輸入數據和一組基礎正常測試輸入數據;
如果所述被測單元包括控制流語句,則逐一使用所述基礎測試輸入數據集中各數據在所述被測單元中運行;
如果被測單元中控制流語句被全覆蓋,則生成目標測試輸入數據集,所述目標測試輸入數據集為所述基礎測試輸入數據集,即,包括所有所述基礎極限測試輸入數據、所有基礎異常測試輸入數據和所有首次覆蓋未被覆蓋的控制流語句的所述基礎正常測試輸入數據。
在本申請中,所述控制流語句被全覆蓋是指所有控制流語句均被覆蓋,進一步地,所述控制流語句被覆蓋是指被測單元運行過程中所述控制流語句被執行。
在一種可實現的方式中,如果所述被測單元不包括任何控制流語句,則生成目標測試輸入數據集,所述目標測試輸入數據集為所述基礎測試輸入數據集。
在一種可實現的方式中,所述根據被測單元的入參生成基礎測試輸入數據集包括:
根據入參的各正常取值范圍的中間值生成基礎正常測試輸入數據;
根據入參的各正常取值范圍的邊界值生成極限數據測試輸入數據;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于凌云光技術股份有限公司,未經凌云光技術股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202111543116.6/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種柱塞泵的一體化集成裝置
- 下一篇:反應腔清潔方法





