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

    代碼覆蓋率收集方法和裝置制造方法及圖紙

    技術編號:15690780 閱讀:68 留言:0更新日期:2017-06-24 03:27
    一種代碼覆蓋率收集方法及裝置,一個實施例的方法包括:接收終端發送的業務請求,業務請求包括應用標識;根據業務請求獲取與應用標識對應的源文件、源文件標識以及源文件的語法樹信息;將源文件的源代碼加載到內存;執行加載到內存的源代碼,并在源代碼的執行過程中,基于語法樹信息記錄執行源代碼的代碼行的覆蓋率數據;向覆蓋率收集中心服務器發送覆蓋率上報信息,覆蓋率上報信息包括所述源文件標識、所述覆蓋率數據,由覆蓋率收集中心服務器根據各覆蓋率收集終端服務器上傳的覆蓋率上報信息確定所述源文件的代碼覆蓋率。本實施例的方案不僅實現了對服務器的代碼覆蓋率的收集,而且無需對源代碼進行修改,不影響開發人員對源代碼的再次編輯。

    Code coverage collecting method and device

    A method and device for collecting code coverage, including an embodiment of the method: the receiving terminal sends service request, service request including the application identifier; according to service request acquisition and application identifier corresponding to the source file, the source file identification and source file syntax tree information; the source files of the source code is loaded into memory; the execution is loaded into the memory of the source code, and the implementation process in the source code, code coverage data for the implementation of the source code of the syntax tree based on information recording; coverage collection center server to send coverage information reporting coverage rate reporting information including the source file identification, the coverage data covered by the the rate of collection center server according to the coverage collection terminal server upload coverage report information to determine the source files of the code coverage. The scheme of the embodiment not only realizes the collection of the code coverage of the server, but also does not need to modify the source code, and does not affect the developer's re editing of the source code.

    【技術實現步驟摘要】
    代碼覆蓋率收集方法和裝置
    本專利技術涉及測試
    ,特別是涉及一種代碼覆蓋率收集方法以及一種代碼覆蓋率收集裝置。
    技術介紹
    代碼覆蓋率(codecoverage)是軟件測試中的一種重要的度量參數,用以描述描述程序中源代碼被測試的比例和程度。而隨著JavaScript等解釋性語言的逐漸普及,基于JavaScript等解釋性語言實現的平臺的應用的日益廣泛,對基于就采用JavaScript等解釋性語言實現的平臺的相關應用的代碼覆蓋率進行測試也成為測試領域中的一項重要內容。以JavaScript平臺為例,目前對于瀏覽器端運行的JavaScript應用,已經有jscoverage等工具來實現瀏覽器端的代碼覆蓋率的收集。然而,類似于jscoverage這樣的工具,主要應用場景為瀏覽器端運行。其對Javascript代碼進行適合瀏覽器端運行的代碼插樁,插樁后的代碼,其代碼覆蓋率收集過程是基于瀏覽器的代碼執行,無法直接應用于服務器端執行的平臺的應用。
    技術實現思路
    基于此,本專利技術實施例的目的在于提供一種代碼覆蓋率收集方法以及一種代碼覆蓋率收集裝置。為達到上述目的,本專利技術實施例采用以下技術方案:一種代碼覆蓋率收集方法,應用在覆蓋率收集終端服務器,包括步驟:接收終端發送的業務請求,所述業務請求包括應用標識;根據所述業務請求獲取與所述應用標識對應的源文件、源文件標識以及所述源文件的語法樹信息;將所述源文件的源代碼加載到內存;執行加載到內存的所述源代碼,并在所述源代碼的執行過程中,基于所述語法樹信息記錄執行所述源代碼的代碼行的覆蓋率數據;向覆蓋率收集中心服務器發送覆蓋率上報信息,所述覆蓋率上報信息包括所述源文件標識、所述覆蓋率數據,由所述覆蓋率收集中心服務器根據各覆蓋率收集終端服務器上傳的覆蓋率上報信息確定所述源文件的代碼覆蓋率。一種代碼覆蓋率收集方法,應用在覆蓋率收集中心服務器,包括步驟:接收各覆蓋率收集終端服務器發送的覆蓋率上報信息,所述覆蓋率上報信息包括源文件標識以及對應的覆蓋率數據,所述覆蓋率數據為所述覆蓋率收集終端服務器在接收到終端發送的包含應用標識的業務請求時,獲取與所述應用標識對應的源文件、源文件標識以及所述源文件的語法樹信息,并將所述源文件的源代碼加載到內存后,在加載到內存的所述源代碼的執行過程中基于所述語法樹信息記錄執行所述源代碼的代碼行的覆蓋率數據;根據各覆蓋率收集終端服務器發送的所述覆蓋率上報信息,確定所述源文件標識對應的源文件的代碼覆蓋率。一種代碼覆蓋率收集裝置,設置在覆蓋率收集終端服務器,包括:請求接收模塊,用于接收終端發送的業務請求,所述業務請求包括應用標識;文件及信息獲取模塊,用于根據所述業務請求獲取與所述應用標識對應的源文件、源文件標識以及所述源文件的語法樹信息;代碼加載模塊,用于將所述源文件的源代碼加載到內存;數據記錄模塊,用于在加載到內存的所述源代碼的執行過程中,基于所述語法樹信息記錄執行所述源代碼的代碼行的覆蓋率數據;信息上報模塊,用于向覆蓋率收集中心服務器發送覆蓋率上報信息,所述覆蓋率上報信息包括所述源文件標識、所述覆蓋率數據,由所述覆蓋率收集中心服務器根據各覆蓋率收集終端服務器上傳的覆蓋率上報信息確定所述源文件的代碼覆蓋率。一種代碼覆蓋率收集裝置,設置在覆蓋率收集中心服務器,包括:上報信息接收模塊,用于接收各覆蓋率收集終端服務器發送的覆蓋率上報信息,所述覆蓋率上報信息包括源文件標識以及對應的覆蓋率數據,所述覆蓋率數據為所述覆蓋率收集終端服務器在接收到終端發送的包含應用標識的業務請求時,獲取與所述應用標識對應的源文件、源文件標識以及所述源文件的語法樹信息,并將所述源文件的源代碼加載到內存后,在加載到內存的所述源代碼的執行過程中基于所述語法樹信息記錄執行所述源代碼的代碼行的覆蓋率數據,代碼覆蓋率確定模塊,用于根據各覆蓋率收集終端服務器發送的所述覆蓋率上報信息,確定所述源文件標識對應的源文件的代碼覆蓋率?;谌缟纤龅膶嵤├械姆桨?,覆蓋率收集終端服務器在接收到終端的業務請求后,無需將源代碼發送給終端進行執行,而是將獲取的對應的源文件的源代碼加載到內存來執行,并基于該源文件的語法樹信息記錄執行內存中的源代碼的覆蓋率數據,并將該覆蓋率數據匯總到覆蓋率收集收集中心服務器后,由覆蓋率收集中心服務器基于各覆蓋率收集終端服務器上傳的覆蓋率數據確定出該源文件的代碼覆蓋率,其不僅實現了對服務器的代碼覆蓋率的收集,而且在代碼覆蓋率的收集過程中,是記錄執行內存中的源代碼的覆蓋率數據,因而無需對源代碼進行修改,不僅可以無感知的進行代碼覆蓋率的收集,不影響開發人員對源代碼的再次編輯。附圖說明圖1是一個實施例的應用環境的示意圖;圖2是一個實施例中的服務器的組成結構示意圖;圖3是一個實施例的代碼覆蓋率收集方法的流程示意圖;圖4是另一個實施例的代碼覆蓋率收集方法的流程示意圖;圖5是一個具體示例中的收集代碼覆蓋率的流程示意圖;圖6是一個具體示例中得到的代碼覆蓋率的示意圖;圖7是一個實施例的代碼覆蓋率收集裝置的結構示意圖;圖8是另一個實施例的代碼覆蓋率收集裝置的結構示意圖。具體實施方式為使本專利技術的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本專利技術進行進一步的詳細說明。應當理解,此處所描述的具體實施方式僅僅用以解釋本專利技術,并不限定本專利技術的保護范圍。圖1示出了本專利技術一個實施例中的工作環境示意圖,如圖1所示,其工作環境涉及覆蓋率收集中心服務器100以及覆蓋率收集終端服務器101,由圖1可見,覆蓋率收集終端服務器101可以包括有多個,覆蓋率收集中心服務器100與覆蓋率收集終端服務器101可以通過網絡1進行通信,覆蓋率收集中心服務器100與各覆蓋率收集終端服務器101共同構成服務器集群,以為用戶終端提供業務服務。圖1所示中,覆蓋率收集中心服務器100、各覆蓋率收集終端服務器101上運行業務平臺,通常為用解釋性語言(例如JavaScript等)實現的平臺,以為用戶使用的終端提供業務服務。如圖1所示,覆蓋率收集終端服務器101可以通過網絡2為用戶終端1011提供業務服務。可以理解的是,圖1所示中的網絡1、網絡2僅僅是為了對覆蓋率收集中心服務器100與各覆蓋率收集終端服務器101共同構成的服務器集群和覆蓋率收集終端服務器101為用戶終端提供業務服務進行區分,并不用以限定網絡1、網絡2必須是不同的網絡類型。在實際技術應用中,網絡1、網絡2可以是相同的網絡(例如WEB網絡),也可以是不同的網絡,例如專用網絡。覆蓋率收集終端服務器101在為用戶終端1011提供業務服務的過程中,對提供業務服務過程中執行的源文件的源代碼進行覆蓋率數據的收集,并將收集的覆蓋率數據上報給覆蓋率收集中心服務器100,由覆蓋率收集中心服務器100基于各覆蓋率收集終端服務器101上報的覆蓋率數據,確定出對應源文件的代碼覆蓋率。其中,覆蓋率收集中心服務器100可以是僅對各覆蓋率收集終端服務器101上報的覆蓋率數據、并據此確定代碼覆蓋率的服務器,也可以是同時為用戶終端提供業務服務的服務器。本實施例涉及的是覆蓋率收集終端服務器101收集覆蓋率數據和覆蓋率收集中心服務器100確定代碼覆蓋率的方案。覆蓋率收集中心服務器100、覆蓋率收集終端服務器101在一個實本文檔來自技高網...
    代碼覆蓋率收集方法和裝置

    【技術保護點】
    一種代碼覆蓋率收集方法,應用在覆蓋率收集終端服務器,其特征在于,包括步驟:接收終端發送的業務請求,所述業務請求包括應用標識;根據所述業務請求獲取與所述應用標識對應的源文件、源文件標識以及所述源文件的語法樹信息;將所述源文件的源代碼加載到內存;執行加載到內存的所述源代碼,并在所述源代碼的執行過程中,基于所述語法樹信息記錄執行所述源代碼的代碼行的覆蓋率數據;向覆蓋率收集中心服務器發送覆蓋率上報信息,所述覆蓋率上報信息包括所述源文件標識、所述覆蓋率數據,由所述覆蓋率收集中心服務器根據各覆蓋率收集終端服務器上傳的覆蓋率上報信息確定所述源文件的代碼覆蓋率。

    【技術特征摘要】
    1.一種代碼覆蓋率收集方法,應用在覆蓋率收集終端服務器,其特征在于,包括步驟:接收終端發送的業務請求,所述業務請求包括應用標識;根據所述業務請求獲取與所述應用標識對應的源文件、源文件標識以及所述源文件的語法樹信息;將所述源文件的源代碼加載到內存;執行加載到內存的所述源代碼,并在所述源代碼的執行過程中,基于所述語法樹信息記錄執行所述源代碼的代碼行的覆蓋率數據;向覆蓋率收集中心服務器發送覆蓋率上報信息,所述覆蓋率上報信息包括所述源文件標識、所述覆蓋率數據,由所述覆蓋率收集中心服務器根據各覆蓋率收集終端服務器上傳的覆蓋率上報信息確定所述源文件的代碼覆蓋率。2.根據權利要求1所述的代碼覆蓋率收集方法,其特征在于,還包括步驟:在將所述源文件的源代碼加載到內存時,基于所述語法樹信息對加載到內存的源代碼進行插樁。3.根據權利要求1或2所述的代碼覆蓋率收集方法,其特征在于,所述語法樹信息包括函數定義語句、分支語句以及代碼行中的至少一種,所述代碼覆蓋率包括函數覆蓋率、分支語句覆蓋率以及代碼行覆蓋率中的至少一種。4.一種代碼覆蓋率收集方法,應用在覆蓋率收集中心服務器,其特征在于,包括步驟:接收各覆蓋率收集終端服務器發送的覆蓋率上報信息,所述覆蓋率上報信息包括源文件標識以及對應的覆蓋率數據,所述覆蓋率數據為所述覆蓋率收集終端服務器在接收到終端發送的包含應用標識的業務請求時,獲取與所述應用標識對應的源文件、所述源文件標識以及所述源文件的語法樹信息,并將所述源文件的源代碼加載到內存后,在加載到內存的所述源代碼的執行過程中基于所述語法樹信息記錄執行所述源代碼的代碼行的覆蓋率數據,根據各覆蓋率收集終端服務器發送的所述覆蓋率上報信息,確定所述源文件標識對應的源文件的代碼覆蓋率。5.根據權利要求4所述的代碼覆蓋率收集方法,其特征在于,包括下述三項中的至少一項:通過將各所述覆蓋率收集終端服務器上傳的所述源文件標識對應的覆蓋率數據與所述源文件標識對應的源代碼進行比較,根據比較結果確定所述源文件標識對應的源文件的代碼覆蓋率;還包括步驟:根據各所述覆蓋率收集終端服務器發送的所述覆蓋率上報信息,對所述源文件標識對應的源代碼中、各所述覆蓋率收集終端服務器均未執行的代碼行進行標記;根據標記的代碼行、所述代碼覆蓋率生成可視化代碼覆蓋率報告;所述語法樹信息包括函數定義語句、分支語句以及代碼行中的至少一種,所述代碼覆蓋率包括函數覆蓋率、分支語句覆蓋率以及代碼行覆蓋率中的至少一種。6.一種代碼覆蓋率收集裝置,設置在覆蓋率收集終端服務器,其特征在于,包括:請求接收模塊,用于接收終端發送的業務請...

    【專利技術屬性】
    技術研發人員:符陽輝任洪平,
    申請(專利權)人:騰訊科技深圳有限公司
    類型:發明
    國別省市:廣東,44

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

    1
    主站蜘蛛池模板: 无码精品A∨在线观看中文| 国产精品无码AV一区二区三区| 麻豆AV无码精品一区二区| 亚洲爆乳无码专区www| 蜜色欲多人AV久久无码| 亚洲日韩精品一区二区三区无码| 日韩精品无码一区二区三区免费 | 无码国产精品一区二区免费虚拟VR| 亚洲国产成人精品无码一区二区| 久久精品无码一区二区三区免费| 亚洲综合无码精品一区二区三区| 99久久亚洲精品无码毛片| 无码日韩人妻AV一区免费l | 丰满熟妇人妻Av无码区| 日韩美无码五月天| 久久无码AV一区二区三区| 久99久无码精品视频免费播放| 久久午夜夜伦鲁鲁片免费无码影视| av无码aV天天aV天天爽| 精品无码久久久久国产| 亚洲精品无码av人在线观看 | 在线看无码的免费网站| 成人免费无码H在线观看不卡| 国产精品无码MV在线观看| 亚洲中文字幕无码爆乳app| 无码aⅴ精品一区二区三区浪潮 | 2021无码最新国产在线观看| 国产爆乳无码视频在线观看| 精品无人区无码乱码大片国产| 色国产色无码色欧美色在线| 中文字幕久久久人妻无码 | 韩国精品一区二区三区无码视频| 精品无码一区二区三区爱欲| 亚洲成a人片在线观看无码专区| 精品久久久久久无码免费| 免费人妻无码不卡中文字幕18禁| 无码熟妇αⅴ人妻又粗又大| 日本精品无码一区二区三区久久久 | 国产AV无码专区亚洲AV男同| 国产无码一区二区在线| 一本加勒比HEZYO无码资源网|