[發明專利]一種單元測試腳本的生成方法及裝置在審
| 申請號: | 202110843856.5 | 申請日: | 2021-07-26 |
| 公開(公告)號: | CN113448874A | 公開(公告)日: | 2021-09-28 |
| 發明(設計)人: | 張健;徐海棟;王可;李亞南 | 申請(專利權)人: | 中國工商銀行股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京三友知識產權代理有限公司 11127 | 代理人: | 劉熔;趙平 |
| 地址: | 100140 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 單元測試 腳本 生成 方法 裝置 | ||
本發明提供一種單元測試腳本的生成方法及裝置,可用于金融領域或其他技術領域。所述方法包括:導入單元測試驅動開發的設計案例,所述單元測試驅動開發的設計案例是預先生成的;獲取目標源代碼,并將所述目標源代碼轉換為抽象語法樹;根據所述單元測試驅動開發的設計案例和所述目標源代碼的抽象語法樹,生成單元測試腳本。所述裝置用于執行上述方法。本發明實施例提供的單元測試腳本的生成方法及裝置,提高了單元測試腳本的覆蓋率和有效性。
技術領域
本發明涉及計算機技術領域,具體涉及一種單元測試腳本的生成方法及裝置。
背景技術
單元測試驅動開發(Unit Test Driven Development,簡稱UTDD),是敏捷開發中的一項核心實踐和技術,其原理是在開發功能代碼之前,先編寫單元測試用例代碼,具有降低開發者負擔和快速反饋等優點。
現有技術中,單元測試腳本的算法和工具主要基于源代碼的解析,采用自然語言處理的方式生成腳本或通過全量模擬(Mock)的方式產出單元測試腳本,并且源代碼自動解析出的腳本可讀性和可維護性差,若程序較為復雜,往往只能覆蓋異常分支,無法覆蓋具有價值的業務代碼。因此,如何通過UTDD的方式生成單元測試腳本,成為本領域需要解決的重要課題。
發明內容
針對現有技術中的問題,本發明實施例提供一種單元測試腳本的生成方法及裝置,能夠至少部分地解決現有技術中存在的問題。
一方面,本發明提出一種單元測試腳本的生成方法,包括:
導入單元測試驅動開發的設計案例,所述單元測試驅動開發的設計案例是預先生成的;
獲取目標源代碼,并將所述目標源代碼轉換為抽象語法樹;
根據所述單元測試驅動開發的設計案例和所述目標源代碼的抽象語法樹,生成單元測試腳本。
進一步地,所述單元測試驅動開發的設計案例采用預設模版對業務功能進行描述,包括至少一個表達式語句;相應地,所述根據所述單元測試驅動開發的設計案例和所述目標源代碼的抽象語法樹,生成單元測試腳本包括:
為每個表達式語句創建一個對應的方法名,并將每個表達式語句作為對應的方法名的注解。
進一步地,所述單元測試腳本的生成方法還包括:
為每個表達式語句對應的方法名補充案例設計描述。
進一步地,所述將所述目標源代碼轉換為抽象語法樹包括:
對所述目標源代碼的類、方法和成員變量進行解析,獲得所述目標源代碼的抽象語法樹。
進一步地,所述成員變量包括外部成員變量;相應地,所述根據所述單元測試驅動開發的設計案例和所述目標源代碼的抽象語法樹,生成單元測試腳本包括:
根據所述外部成員變量生成模擬語句,并聲明所述外部成員變量。
進一步地,所述單元測試腳本的生成方法還包括:
根據所述單元測試腳本生成單元測試驅動開發復核文檔。
另一方面,本發明提供一種單元測試腳本的生成裝置,包括:
導入模塊,用于導入單元測試驅動開發的設計案例,所述單元測試驅動開發的設計案例是預先生成的;
轉換模塊,用于獲取目標源代碼,并將所述目標源代碼轉換為抽象語法樹;
生成模塊,用于根據所述單元測試驅動開發的設計案例和所述目標源代碼的抽象語法樹,生成單元測試腳本。
進一步地,所述單元測試驅動開發的設計案例采用預設模版對業務功能進行描述,包括至少一個表達式語句;相應地,所述生成模塊具體用于:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國工商銀行股份有限公司,未經中國工商銀行股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110843856.5/2.html,轉載請聲明來源鉆瓜專利網。





