• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    一種獲取代碼覆蓋率的方法及裝置制造方法及圖紙

    技術編號:9765718 閱讀:220 留言:0更新日期:2014-03-15 10:08
    本發明專利技術公開一種獲取代碼覆蓋率的方法及裝置,涉及通信技術領域,可以獲取手動測試的代碼覆蓋率,并且避免耗費大量的人力物力。本發明專利技術實施例通過獲取在被測試的應用程序APP的第一代碼中添加獲取代碼覆蓋率的代碼后的第二代碼,并將編譯所述第二代碼過程中記錄的所述第一代碼的信息生成第一文件;接收到測試指令后運行測試用例,并將運行所述測試用例過程中記錄的所述第一代碼的代碼執行信息生成第二文件;根據所述第一文件和所述第二文件,以及獲取代碼覆蓋率的代碼文件,獲取所述第一代碼的代碼覆蓋率。本發明專利技術實施例適于在進行手動測試獲取代碼覆蓋率時采用。

    【技術實現步驟摘要】
    一種獲取代碼覆蓋率的方法及裝置
    本專利技術涉及通信
    ,尤其涉及一種獲取代碼覆蓋率的方法及裝置。
    技術介紹
    代碼覆蓋率反映測試用例對被測軟件覆蓋程度的重要指標,是用來度量測試完整性的一個參考值,其值等于測試運行到的代碼除以總的代碼。通過代碼覆蓋率數據,可以評估測試是否充分。目前,在被測試的應用程序(Application,APP)的工程基礎上建立測試工程,其中在測試工程的基礎上添加EMMA或者類似的代碼覆蓋率統計工具,然后在測試工程中編寫大量自動化測試用例。當按照測試計劃運行編寫的大量測試用例后,就可以獲得當前代碼覆蓋率。專利技術人發現現有技術中至少存在如下問題:由于現有安卓android平臺的功能主要由手動測試保證,無法獲取手動測試代碼覆蓋率;另外,由于獲取代碼覆蓋率時需要寫大量的自動化測試用例,耗費大量的人力物力。
    技術實現思路
    本專利技術的實施例提供一種獲取代碼覆蓋率的方法及裝置,可以獲取手動測試的代碼覆蓋率,并且避免耗費大量的人力物力。一方面,本專利技術的實施例提供一種獲取代碼覆蓋率的方法,包括:獲取在被測試的應用程序APP的第一代碼中添加獲取代碼覆蓋率的代碼后的第二代碼,并將編譯所述第二代碼過程中記錄的所述第一代碼的信息生成第一文件;接收到測試指令后運行測試用例,并將運行所述測試用例過程中記錄的所述第一代碼的代碼執行信息生成第二文件;根據所述第一文件和所述第二文件,以及獲取代碼覆蓋率的代碼文件,獲取所述第一代碼的代碼覆蓋率。在本專利技術的另一實施例中,在所述獲取所述第一代碼的代碼覆蓋率之后,還包括:獲取通過分析未被覆蓋到的第一代碼后編寫的新測試用例;接收到測試指令后運行所述新測試用例,并根據獲取所述第一代碼的代碼覆蓋率的方法,獲取所述第一代碼的累積的代碼覆蓋率。在本專利技術的另一實施例中,所述獲取所述第一代碼的代碼覆蓋率包括:接收執行第一目錄中文件的命令;根據置于所述第一目錄中的所述第一文件和所述第二文件,以及獲取代碼覆蓋率的代碼文件,執行所述命令,獲取所述第一代碼的代碼覆蓋率。在本專利技術的另一實施例中,所述獲取在被測試的應用程序APP的第一代碼中添加獲取代碼覆蓋率的代碼后的第二代碼包括:接收在被測試的APP的第一代碼中注銷或者退出時調用到的函數中添加的獲取代碼覆蓋率的代碼,獲取由所述第一代碼和所述獲取代碼覆蓋率的代碼構成的第二代碼;或者,接收在被測試的APP的第一代碼中由于點擊獲取代碼覆蓋率的按鈕或者菜單觸發的函數中添加的獲取代碼覆蓋率的代碼,獲取由所述第一代碼和所述獲取代碼覆蓋率的代碼構成的第二代碼。在本專利技術的另一實施例中,所述第一代碼的信息包括代碼的版本信息、包、類方法和代碼所在行的信息。在本專利技術的另一實施例中,所述接收到測試指令后運行測試用例,并將運行所述測試用例過程中記錄的所述第一代碼的代碼執行信息生成第二文件包括:接收到測試指令后運行測試用例,并記錄運行所述測試用例過程中執行過的所述第一代碼的代碼執行信息,保存在內存中;當APP注銷或者退出時,調用所述獲取代碼覆蓋率的代碼,并將保存在內存中的所述代碼執行信息保存在第二文件中,刪除所述內存中的所述代碼執行信息。另一方面,本專利技術實施例提供一種獲取代碼覆蓋率的裝置,包括:代碼獲取單元,用于獲取在被測試的應用程序APP的第一代碼中添加獲取代碼覆蓋率的代碼后的第二代碼;生成文件單元,用于將編譯所述第二代碼過程中記錄的所述第一代碼的信息生成第一文件;執行單元,用于接收到測試指令后運行測試用例;所述生成文件單元還用于,將運行所述測試用例過程中記錄的所述第一代碼的代碼執行信息生成第二文件;代碼覆蓋率獲取單元,用于根據所述第一文件和所述第二文件,以及獲取代碼覆蓋率的代碼文件,獲取所述第一代碼的代碼覆蓋率。在本專利技術的另一實施例中,所述裝置還包括:測試用例獲取單元,用于獲取通過分析未被覆蓋到的第一代碼后編寫的新測試用例;所述執行單元,用于接收到測試指令后運行所述新測試用例,并由所述生成文件單元和所述代碼覆蓋率獲取單元操作,獲取所述第一代碼的累積的代碼覆蓋率。在本專利技術的另一實施例中,所述代碼覆蓋率獲取單元包括:接收命令模塊,用于接收執行第一目錄中文件的命令;代碼覆蓋率獲取模塊,用于根據置于所述第一目錄中的所述第一文件和所述第二文件,以及獲取代碼覆蓋率的代碼文件,執行所述命令,獲取所述第一代碼的代碼覆蓋率。在本專利技術的另一實施例中,所述代碼獲取單元用于:接收在被測試的APP的第一代碼中注銷或者退出時調用到的函數中添加的獲取代碼覆蓋率的代碼,獲取由所述第一代碼和所述獲取代碼覆蓋率的代碼構成的第二代碼;或者,接收在被測試的APP的第一代碼中由于點擊獲取代碼覆蓋率的按鈕或者菜單觸發的函數中添加的獲取代碼覆蓋率的代碼,獲取由所述第一代碼和所述獲取代碼覆蓋率的代碼構成的第二代碼。在本專利技術的另一實施例中,所述第一代碼的信息包括代碼的版本信息、包、類方法和代碼所在行的信息。在本專利技術的另一實施例中,所述生成文件單元包括:記錄保存模塊,用于記錄運行所述測試用例過程中執行過的所述第一代碼的所述第一代碼的代碼執行信息,保存在內存中;生成文件模塊,用于當APP注銷或者退出時,調用所述獲取代碼覆蓋率的代碼,并將保存在內存中的所述代碼執行信息保存在第二文件中,刪除所述內存中的所述代碼執行信息。本專利技術實施例提供一種獲取代碼覆蓋率的方法及裝置,通過獲取在被測試的應用程序APP的第一代碼中添加獲取代碼覆蓋率的代碼后的第二代碼,并將編譯所述第二代碼過程中記錄的所述第一代碼的信息生成第一文件;接收到測試指令后運行測試用例,并將運行所述測試用例過程中記錄的所述第一代碼的代碼執行信息生成第二文件;根據所述第一文件和所述第二文件,以及獲取代碼覆蓋率的代碼文件,獲取所述第一代碼的代碼覆蓋率。與采用現有技術進行代碼覆蓋率測試時,無法獲取手動測試代碼覆蓋率;另外,由于獲取代碼覆蓋率時需要寫大量的自動化測試用例,耗費大量的人力物力相比,本專利技術實施例提供的方案通過在應用程序的源代碼中添加獲取代碼覆蓋率的代碼,可以獲取手動測試代碼覆蓋率,并且避免耗費大量的人力物力。【附圖說明】為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本專利技術實施例1提供的一種獲取代碼覆蓋率的方法的流程圖;圖2為本專利技術實施例1提供的一種獲取代碼覆蓋率的裝置的框圖;圖3為本專利技術實施例2提供的一種獲取代碼覆蓋率的方法的流程圖;圖4為本專利技術實施例2提供的一種獲取代碼覆蓋率的裝置的框圖。【具體實施方式】下面將結合本專利技術實施例中的附圖,對本專利技術實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本專利技術一部分實施例,而不是全部的實施例。基于本專利技術中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術保護的范圍。實施例1本專利技術實施例提供一種獲取代碼覆蓋率的方法,該方法的執行主體為終端,例如安卓Android設備,如圖1所示,該方法包括以下步驟:步驟101,獲取在被測試的應用程序(Appli本文檔來自技高網...
    一種獲取代碼覆蓋率的方法及裝置

    【技術保護點】
    一種獲取代碼覆蓋率的方法,其特征在于,包括:獲取在被測試的應用程序APP的第一代碼中添加獲取代碼覆蓋率的代碼后的第二代碼,并將編譯所述第二代碼過程中記錄的所述第一代碼的信息生成第一文件;接收到測試指令后運行測試用例,并將運行所述測試用例過程中記錄的所述第一代碼的代碼執行信息生成第二文件;根據所述第一文件和所述第二文件,以及獲取代碼覆蓋率的代碼文件,獲取所述第一代碼的代碼覆蓋率。

    【技術特征摘要】
    1.一種獲取代碼覆蓋率的方法,其特征在于,包括: 獲取在被測試的應用程序APP的第一代碼中添加獲取代碼覆蓋率的代碼后的第二代碼,并將編譯所述第二代碼過程中記錄的所述第一代碼的信息生成第一文件; 接收到測試指令后運行測試用例,并將運行所述測試用例過程中記錄的所述第一代碼的代碼執行信息生成第二文件; 根據所述第一文件和所述第二文件,以及獲取代碼覆蓋率的代碼文件,獲取所述第一代碼的代碼覆蓋率。2.根據權利要求1所述的方法,其特征在于,在所述獲取所述第一代碼的代碼覆蓋率之后,還包括: 獲取通過分析未被覆蓋到的第一代碼后編寫的新測試用例; 接收到測試指令后運行所述新測試用例,并根據獲取所述第一代碼的代碼覆蓋率的方法,獲取所述第一代碼的累積的代碼覆蓋率。3.根據權利要求1或2所述的方法,其特征在于,所述獲取所述第一代碼的代碼覆蓋率包括: 接收執行第一目錄中文件的命令; 根據置于所述第一目錄 中的所述第一文件和所述第二文件,以及獲取代碼覆蓋率的代碼文件,執行所述命令,獲取所述第一代碼的代碼覆蓋率。4.根據權利要求3所述的方法,其特征在于,所述獲取在被測試的應用程序APP的第一代碼中添加獲取代碼覆蓋率的代碼后的第二代碼包括: 接收在被測試的APP的第一代碼中注銷或者退出時調用到的函數中添加的獲取代碼覆蓋率的代碼,獲取由所述第一代碼和所述獲取代碼覆蓋率的代碼構成的第二代碼;或者, 接收在被測試的APP的第一代碼中由于點擊獲取代碼覆蓋率的按鈕或者菜單觸發的函數中添加的獲取代碼覆蓋率的代碼,獲取由所述第一代碼和所述獲取代碼覆蓋率的代碼構成的第二代碼。5.根據權利要求1或2所述的方法,其特征在于,所述第一代碼的信息包括代碼的版本信息、包、類方法和代碼所在行的信息。6.根據權利要求5所述的方法,其特征在于,所述接收到測試指令后運行測試用例,并將運行所述測試用例過程中記錄的所述第一代碼的代碼信息生成第二文件包括: 接收到測試指令后運行測試用例,并記錄運行所述測試用例過程中執行過的所述第一代碼的代碼執行信息,保存在內存中; 當APP注銷或者退出時,調用所述獲取代碼覆蓋率的代碼,并將保存在內存中的所述代碼執行信息保存在第二文件中,刪除所述內存中的所述代碼執行信息。...

    【專利技術屬性】
    技術研發人員:丁如敏皮凱
    申請(專利權)人:騰訊科技深圳有限公司
    類型:發明
    國別省市:

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 日韩毛片无码永久免费看| 免费A级毛片av无码| 亚洲色无码国产精品网站可下载| 人妻无码久久中文字幕专区| 少妇无码太爽了不卡视频在线看 | 亚洲日韩中文字幕无码一区| 老子午夜精品无码| 亚洲AV无码一区二区三区牛牛| 97久久精品无码一区二区天美| 无码h黄肉3d动漫在线观看| 成人av片无码免费天天看| 亚洲精品无码mv在线观看网站 | 久久午夜伦鲁片免费无码| 国产品无码一区二区三区在线| 中日精品无码一本二本三本| 久久精品国产亚洲AV无码麻豆 | 十八禁无码免费网站| 无码精品一区二区三区| 免费看又黄又无码的网站 | 亚洲a∨无码男人的天堂| 国产高清无码二区| 免费无遮挡无码永久视频| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 国产爆乳无码视频在线观看| 亚洲午夜无码久久久久小说| 亚洲av无码成人精品区| 久久精品亚洲AV久久久无码| 日韩精品无码免费一区二区三区| 在线a亚洲v天堂网2019无码| 性无码专区一色吊丝中文字幕| 无码一区二区三区免费视频| 免费无码不卡视频在线观看| 亚洲αⅴ无码乱码在线观看性色| 亚洲精品中文字幕无码AV| 无码区国产区在线播放| 精品久久久久久无码专区不卡| 亚洲AV色吊丝无码| AV无码久久久久不卡蜜桃| 亚洲人成人无码.www石榴 | 爆乳无码AV一区二区三区 | 精品久久久久久无码人妻中文字幕|