[發明專利]單元測試樁去重方法、裝置、計算機可讀存儲介質及設備有效
| 申請號: | 201710889793.0 | 申請日: | 2017-09-27 |
| 公開(公告)號: | CN107783904B | 公開(公告)日: | 2021-03-16 |
| 發明(設計)人: | 尹成;陳少杰;張文明 | 申請(專利權)人: | 武漢斗魚網絡科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京眾達德權知識產權代理有限公司 11570 | 代理人: | 劉杰 |
| 地址: | 430000 湖北省武漢市東湖開*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 單元測試 樁去重 方法 裝置 計算機 可讀 存儲 介質 設備 | ||
本發明涉及軟件開發技術領域,尤其涉及單元測試樁去重方法、裝置、計算機可讀存儲介質及設備,方法包括:基于文件屬性參數,對待去重的多個單元測試樁進行去重處理;將去重處理后保留下的各個單元測試樁分別轉換為字節碼;對各個字節碼進行指紋生成操作,分別獲得與各個字節碼對應的待驗證函數指紋;分別判斷當前時刻內存中是否存在與各個待驗證函數指紋相同的函數指紋;若存在與待驗證函數指紋相同的函數指紋,則刪除當前內存中已存在的與待驗證函數指紋相同的函數指紋,并將待驗證函數指紋保存在內存中;若不存在與待驗證函數指紋相同的函數指紋,則將待驗證函數指紋保存在內存中。本申請提高了去重效率和準確率,進而提高了單元測試的速度。
技術領域
本發明涉及軟件開發技術領域,尤其涉及單元測試樁去重方法、裝置、計算機可讀存儲介質及設備。
背景技術
在應用程序開發過程中,單元測試是程序正式提交給測試人員進行大規模功能測試前的一個重要且必要的環節。單元測試是指對程序中最小可測試單元進行邏輯檢查和驗證,其中,單元就是規定的最小的被測功能模塊。
在安卓(Android)應用的開發過程中,單元測試分為:Java虛擬機單元測試(JVMTest)和設備測試(Instrumentation Test)。其中,對于JVM Test而言,一般通過運行由純Java代碼編寫的測試樁(Test Case)實現,無需依賴其他組件,由于代碼運行于JVM虛擬機上,因此測試速度較快;對于Instrumentation Test而言,由于這類測試需要依賴Android系統提供的組件,因此需要在真機或者模擬器上部署運行,并需要進行預編譯,因此測試速度較慢。
而無論是采用上述的JVM Test還是Instrumentation Test,在單元測試過程中,隨著應用程序業務量的增大,編寫單元測試樁(case)數量也變得龐大,然而,在現有技術中,往往會存在很多重復編寫的單元測試樁,這些重復的單元測試樁將會降低單元測試的速度。
發明內容
鑒于上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的單元測試樁去重方法、裝置、計算機可讀存儲介質及設備。
本發明實施例提供一種單元測試樁去重方法,所述方法包括:
基于文件屬性參數,對待去重的多個單元測試樁進行去重處理;
將去重處理后保留下的各個單元測試樁分別轉換為字節碼;
對各個字節碼進行指紋生成操作,分別獲得與各個字節碼對應的待驗證函數指紋;
分別判斷當前時刻內存中是否存在與各個待驗證函數指紋相同的函數指紋;
若當前時刻內存中存在與所述待驗證函數指紋相同的函數指紋,則刪除當前內存中已存在的與所述待驗證函數指紋相同的函數指紋,并將所述待驗證函數指紋保存在所述內存中;
若當前時刻內存中不存在與所述待驗證函數指紋相同的函數指紋,則將所述待驗證函數指紋保存在所述內存中。
優選的,所述文件屬性參數包括文件名、文件大小和文件時間戳中的至少一種。
優選的,對于去重處理后保留下的每個單元測試樁而言,將所述單元測試樁轉換為所述字節碼,包括:
提取所述單元測試樁中的字符;
將提取出的字符拼接成字符串;
判斷所述字符串的長度是否超過預設長度閾值;
若所述字符串的長度超過所述預設長度閾值,則以所述預設長度閾值對所述字符串進行循環分割,獲得包含多個子字符串的字符串序列,并將所述字符串序列作為與所述單元測試樁對應的所述字節碼;
若所述字符串的長度未超過預設長度閾值,則將所述字符串作為與所述單元測試樁對應的所述字節碼。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于武漢斗魚網絡科技有限公司,未經武漢斗魚網絡科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710889793.0/2.html,轉載請聲明來源鉆瓜專利網。





