[發明專利]構建測試用例和代碼測試的方法、裝置、設備及介質在審
| 申請號: | 202210259900.2 | 申請日: | 2022-03-16 |
| 公開(公告)號: | CN114579466A | 公開(公告)日: | 2022-06-03 |
| 發明(設計)人: | 張淏然 | 申請(專利權)人: | 北京沃東天駿信息技術有限公司;北京京東世紀貿易有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京華夏泰和知識產權代理有限公司 11662 | 代理人: | 鄧菊香 |
| 地址: | 101116 北京市大興區北京經濟*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 構建 測試 代碼 方法 裝置 設備 介質 | ||
本發明實施例涉及一種構建測試用例和代碼測試的方法、裝置、設備及介質,涉及計算機技術領域,該構建測試用例的方法包括:獲取待測對象的源代碼,所述源代碼包括條件語句,根據所述條件語句確定預期運行的條件分支和所述條件分支下的執行語句;基于所述條件分支和所述條件分支下的執行語句,構建測試用例,其中,所述測試用例包括所述條件分支與所述條件分支下的執行語句之間的映射關系;該代碼測試的方法包括:獲取待測對象的源代碼;運行預先構建的測試用例,得到實際運行結果,其中,所述測試用例中通過條件?斷言映射對的形式描述預期運行結果;通過對比所述實際運行結果和所述預期運行結果來校驗所述源代碼的正確性。
技術領域
本發明涉及計算機技術領域,尤其涉及一種構建測試用例和代碼測試的方法、裝置、設備及介質。
背景技術
在軟件開發過程中,目前多利用單元測試(Unit Testing)來對源代碼程序模塊的最小單位進行正確性檢驗,通常需構建測試用例(case)來進行測試,而針對包含許多復雜的條件判斷的語句的源代碼,在編寫測試用例時,一個測試用例(case)只能測試條件語句所包含的一種情況,因此在進行單元測試時需編寫多個case來覆蓋全部情況,導致編寫測試用例所需的編碼量巨大且包含大量冗余代碼,會帶來巨大的工作量。
在實現本發明的過程中,發明人發現相關技術中至少存在如下技術問題:
相關技術中為了減少單元測試代碼冗余以實現編寫單元測試代碼的方便,通過重構源代碼(業務代碼)的方式來替代程序中的條件語句,然而重構代碼需進行復雜、大量的改動,仍會帶來巨大的工作量并會為業務引入諸多不可控風險。因此,在不改動源代碼的情況下,如何構建測試用例使得在既能實現測試源代碼的條件語句的同時還能夠減少單元測試代碼冗余,成為亟待解決的問題。
發明內容
第一方面,本發明的實施例提供了一種構建測試用例的方法,包括:獲取待測對象的源代碼,上述源代碼包括條件語句,根據上述條件語句確定預期運行的條件分支和上述條件分支下的執行語句;基于上述條件分支和上述條件分支下的執行語句,構建測試用例,其中,上述測試用例包括上述條件分支與上述條件分支下的執行語句之間的映射關系。
根據本發明的實施例,上述基于上述條件分支和上述條件分支下的執行語句,構建測試用例,包括:對于每一條件分支,以該條件分支下的執行語句作為斷言,構建條件-斷言映射對;將上述條件-斷言映射對存儲至供上述測試用例調用的預設的第一字典。
第二方面,本發明的實施例提供了一種代碼測試方法,包括:獲取待測對象的源代碼;運行預先構建的測試用例,得到實際運行結果,其中,上述測試用例中通過條件-斷言映射對描述預期運行結果;通過對比上述實際運行結果和上述預期運行結果來校驗上述源代碼的正確性。
根據本發明的實施例,上述源代碼包括條件語句,在運行預先構建的測試用例之前,上述方法還包括:根據上述源代碼的條件語句確定預期運行結果,上述預期運行結果包括預期運行的條件分支和上述條件分支下的執行語句;基于上述預期運行結果,預先構建測試用例,其中,通過條件-斷言映射對的形式來描述上述預期運行的條件分支和上述條件分支下的執行語句。
根據本發明的實施例,上述基于上述預期運行結果,預先構建測試用例,包括:初始化測試用例;基于上述預期運行的條件分支和上述條件分支下的執行語句,對于每一條件分支,以該條件分支下的執行語句作為斷言,構建條件-斷言映射對;將上述條件-斷言映射對存儲至供上述測試用例調用的預設的第一字典。
根據本發明的實施例,上述運行預先構建的測試用例,得到實際運行結果,包括:運行上述測試用例并調用上述第一字典,遍歷上述第一字典中的條件-斷言映射對,得到上述條件-斷言映射對對應的實際運行結果;其中,對于每一條件-斷言映射對,運行上述測試用例,得到上述測試用例執行該條件-斷言映射對的實際運行結果。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京沃東天駿信息技術有限公司;北京京東世紀貿易有限公司,未經北京沃東天駿信息技術有限公司;北京京東世紀貿易有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210259900.2/2.html,轉載請聲明來源鉆瓜專利網。





