国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      系統(tǒng)測試方法及其裝置的制造方法

      文檔序號:10512085閱讀:438來源:國知局
      系統(tǒng)測試方法及其裝置的制造方法
      【專利摘要】本發(fā)明公開了一種系統(tǒng)測試方法及其裝置。該系統(tǒng)測試方法包括以下步驟:配置故障定時任務,每個故障定時任務中包括一個或多個故障操作;將壓力測試任務與故障定時任務進行關聯(lián);以及執(zhí)行壓力測試任務,在執(zhí)行壓力測試任務的過程中,動態(tài)注入與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作,并實時監(jiān)控業(yè)務鏈路上各系統(tǒng)的各項指標,得到對應的故障操作時段的監(jiān)控數據。該方法通過把健壯性測試與性能壓力測試實現松耦合的集成,在壓力測試過程中自動注入系統(tǒng)故障,并在壓力測試過程中實時監(jiān)控鏈路上各系統(tǒng)的各項指標,解決了大并發(fā)的情況下也能有效地對特定故障進行測試的問題。
      【專利說明】
      系統(tǒng)測試方法及其裝置
      技術領域
      [0001]本發(fā)明涉及測試領域,特別涉及一種系統(tǒng)測試技術。
      【背景技術】
      [0002]自動化測試是把以人為驅動的測試行為轉化為機器執(zhí)行的一種過程。通常,在設計了測試用例并通過評審之后,由測試人員根據測試用例中描述的規(guī)程一步步執(zhí)行測試,得到實際結果與期望結果的比較。在此過程中,為了節(jié)省人力、時間或硬件資源,提高測試效率,便引入了自動化測試的概念。
      [0003]在當前的自動化測試框架可以運行異常用例,大部分的異常用例都是通過構造無效或者非法請求,用單線程驗證該異常用例是否被代碼的異常邏輯捕獲。測試報告會展現測試用例是否通過。部分故障注入框架會采用字節(jié)碼注入的方式來動態(tài)地模擬故障,來觀察系統(tǒng)或業(yè)務在某一故障條件下的表現。在當前的性能測試自動化框架中,可以通過預設壓力測試腳本和其他配置來自動的觸發(fā)性能壓力測試,采集性能數據和自動化的生成性能報告,以此評估在不同的高并發(fā)下評估系統(tǒng)或業(yè)務的性能表現。
      [0004]但是,在現有的測試方式中,存在著以下缺陷。當前的自動化測試框架中雖然有很多的異常用例,但是大部分都是通過構造無效或者非法請求,用單線程驗證該異常用例是否被代碼的異常邏輯捕獲,偏重功能測試,測試報告中只包含用例是否通過的情況,沒有與壓力測試模塊做集成,很少會考慮在大并發(fā)的情況下,某類特定故障對業(yè)務的影響度。在性能測試過程中,大多數時候只是觀察在不同的高并發(fā)下,系統(tǒng)或業(yè)務的性能表現。沒有與故障注入模塊做集成,很少關注在高并發(fā)下的業(yè)務鏈路中某系統(tǒng)出現故障的情況,基本沒有對業(yè)務鏈路的容錯性和恢復性表現進行分析。部分故障注入框架雖然采用了故障注入的方式來模擬異常情況,但在報告分析模塊,基本沒有把該系統(tǒng)維度的故障與鏈路業(yè)務維度的場景進行關聯(lián),更沒有考慮對響應延遲故障的趨勢進行建模分析。由此可見,在本領域迫切需要一種能測試出在大并發(fā)的情況下對特定故障進行測試的測試方法。

      【發(fā)明內容】

      [0005]本發(fā)明的目的在于提供一種系統(tǒng)測試方法及其裝置,在大并發(fā)的情況下也能有效地對特定故障進行測試。
      [0006]為解決上述技術問題,本發(fā)明的實施方式公開了一種系統(tǒng)測試方法,通過把健壯性測試與性能壓力測試實現松耦合的集成,在壓力測試過程中自動注入系統(tǒng)故障,并在壓力測試過程中實時監(jiān)控鏈路上各系統(tǒng)的各項指標,該方法包括以下步驟:
      [0007]配置故障定時任務,每個故障定時任務中包括一個或多個故障操作;
      [0008]將壓力測試任務與故障定時任務進行關聯(lián);以及
      [0009]執(zhí)行壓力測試任務,在執(zhí)行壓力測試任務的過程中,動態(tài)注入與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作,并實時監(jiān)控業(yè)務鏈路上各系統(tǒng)的各項指標,得到對應的故障操作時段的監(jiān)控數據。
      [0010]本發(fā)明的實施方式還公開了一種系統(tǒng)測試裝置,包括:
      [0011]故障配置單元,用于配置故障定時任務,每個故障定時任務中包括一個或多個故障操作;
      [0012]任務關聯(lián)單元,用于將壓力測試任務與特定的故障定時任務進行關聯(lián);以及
      [0013]壓力測試單元,用于執(zhí)行壓力測試任務,在執(zhí)行壓力測試任務的過程中,動態(tài)注入與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作,并實時監(jiān)控業(yè)務鏈路上各系統(tǒng)的各項指標,得到每個故障時段的監(jiān)控數據。
      [0014]本發(fā)明實施方式與現有技術相比,主要區(qū)別及其效果在于:
      [0015]通過把健壯性測試與性能壓力測試實現松耦合的集成,在壓力測試過程中自動注入系統(tǒng)故障,并在壓力測試過程中實時監(jiān)控鏈路上各系統(tǒng)的各項指標,解決了大并發(fā)的情況下也能有效地對特定故障進行測試的問題。
      [0016]進一步地,在壓力測試任務結束后,將與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作與對應的故障操作時段的監(jiān)控數據和業(yè)務場景進行關聯(lián),自動生成測試報告,從而能夠將系統(tǒng)維度的故障與鏈路業(yè)務維度的場景進行關聯(lián)地進行分析,提高了準確度。
      [0017]進一步地,在自動生成測試報告之后,還以趨勢建模的方式對指標均值對比、趨勢對比以及響應延遲進行分析,從而在考慮了響應延遲的故障來進行建模分析,提高了準確度。
      【附圖說明】
      [0018]圖1是本發(fā)明第一實施方式中一種系統(tǒng)測試方法的流程示意圖。
      [0019]圖2是圖1中的系統(tǒng)測試方法中配置故障定時任務的流程示意圖。
      [0020]圖3是本發(fā)明第二實施方式中一種系統(tǒng)測試裝置的結構示意圖。
      【具體實施方式】
      [0021]在以下的敘述中,為了使讀者更好地理解本申請而提出了許多技術細節(jié)。但是,本領域的普通技術人員可以理解,即使沒有這些技術細節(jié)和基于以下各實施方式的種種變化和修改,也可以實現本申請各權利要求所要求保護的技術方案。
      [0022]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明的實施方式作進一步地詳細描述。
      [0023]為了幫助理解本發(fā)明,現對一些說明書中的用語進行說明。
      [0024]業(yè)務場景通常是指完成某項業(yè)務目標的一個過程。通常一個業(yè)務場景的執(zhí)行過程會包含對鏈路上多個系統(tǒng)的多個接口的多次調用。在業(yè)務場景中可以包含多個操作步驟,每個操作步驟包含一個或多個頁面請求,每個頁面請求會包含一個或多個依賴系統(tǒng)的接口調用。
      [0025]故障注入操作是健壯性測試的基本單位。一個故障注入操作通常包括以下信息:故障名稱、注入手段(字節(jié)碼、腳本或其他)、被注入故障的系統(tǒng)域名、注入的響應延遲大小、拋出的異常類型等。在健壯性測試的過程中,測試人員可以從系統(tǒng)接口的粒度進行故障注入操作,來監(jiān)控和評估該故障操作對業(yè)務場景的影響度。
      [0026]利特爾法則(Little’s Law)在性能測試中的應用非常廣泛,主要用于性能結果的驗證,法則的公式如下所示:
      [0027]TPS = U_concurrent/(T_response+T_think)
      [0028]其中:
      [0029]a) TPS是系統(tǒng)或業(yè)務的吞吐量;
      [0030]b) U_concurrent是壓力測試的并發(fā)數;
      [0031]c)T_response是系統(tǒng)或業(yè)務的平均響應時間;
      [0032]d) T_think是平均思考時間。
      [0033]根據利特爾法則,只要保持壓力測試并發(fā)數ILconcurrent恒定,可以利用故障注入技術來動態(tài)地控制T_response+T_think,從而量化系統(tǒng)或者業(yè)務在某個故障延遲狀態(tài)下的TPS表現。
      [0034]本發(fā)明第一實施方式涉及一種系統(tǒng)測試方法。圖1是該系統(tǒng)測試方法的流程示意圖。
      [0035]具體地說,該系統(tǒng)測試方法通過把健壯性測試與性能壓力測試實現松耦合的集成,在壓力測試過程中自動注入系統(tǒng)故障,并在壓力測試過程中實時監(jiān)控鏈路上各系統(tǒng)的各項指標。如圖1所示,該系統(tǒng)測試方法包括以下步驟:
      [0036]在步驟SlOl中,配置故障定時任務,每個故障定時任務中包括一個或多個故障操作。
      [0037]故障操作是健壯性測試的基本對象。故障操作可以包括多種信息,例如包括以下信息:故障操作名稱,注入手段,操作類型,(被注入)系統(tǒng)域名,(被注入)服務類名,(被注入接口 )方法名,注入延遲,(拋出)異常類名。
      [0038]例如以下為一個示例性的故障操作所包括的信息。
      [0039]故障操作名稱:systemA_serviceB.methodC-注入 500ms 延遲,
      [0040]注入手段:字節(jié)碼注入,
      [0041]操作類型:故障注入,
      [0042]系統(tǒng)域名:systemA.XXX.yyy.net,
      [0043]服務類名:net.yyy.xxx.systemA.serviceB,
      [0044]方法名:methodC,
      [0045]注入延遲:500ms,
      [0046]異常類名:java.lang.NullPointerExcept1n。
      [0047]一個或多個故障操作組裝成一個故障定時任務。例如,在一個名為testTaskl的故障定時任務中包括三個故障操作,即故障操作testAct1nl、testAct1n3、testAct1n4,三個故障操作的相對時間分別是5min、lOmin、15min。
      [0048]圖2中示出了一個示例性的故障定時任務的配置過程,在故障配置模塊新建故障操作,根據需要可以新建任意數量的故障操作,然后再新建故障定時任務,把之前新建的所有故障操作添加到此故障定時任務中來,并配置每個故障操作的計劃執(zhí)行時間。
      [0049]可選地,除了創(chuàng)建以外,還可以查詢、編輯或刪除故障操作和故障定時任務。
      [0050]此后進入步驟S102,將壓力測試任務與故障定時任務進行關聯(lián)。
      [0051 ] 此后進入步驟S103,執(zhí)行壓力測試任務,在執(zhí)行壓力測試任務的過程中,動態(tài)注入與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作,并實時監(jiān)控業(yè)務鏈路上各系統(tǒng)的各項指標,得到對應的故障操作時段的監(jiān)控數據。
      [0052]系統(tǒng)的各項指標可以包括各種指標,例如包括硬件資源、Java虛擬機(JVM)狀態(tài)、系統(tǒng)日志等等。
      [0053]監(jiān)控數據可以包括各種數據,例如包括業(yè)務維度數據和系統(tǒng)維度數據等等。
      [0054]以下是一個示例性的實施例,根據實際需要可進行更改。在配置了故障定時任務且將壓力測試任務與故障定時任務進行關聯(lián)后,觸發(fā)壓力測試任務,并啟用與其相關聯(lián)的故障定時任務。在壓力測試任務的執(zhí)行過程中,根據之前配置的故障定時任務,與業(yè)務鏈路上的相關應用系統(tǒng)所在機器上的agent (智能體)進行通訊,動態(tài)地注入故障。在壓力測試任務的執(zhí)行過程中,與業(yè)務鏈路上的每個應用系統(tǒng)所在機器上的agent (智能體)進行交互,實時采集相關的業(yè)務維度和系統(tǒng)維度指標數據。
      [0055]此后結束本流程。
      [0056]該系統(tǒng)測試方法優(yōu)選為還包括以下步驟:在壓力測試任務結束后,將與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作與對應的故障操作時段的監(jiān)控數據和業(yè)務場景進行關聯(lián),自動生成測試報告。如此一來,能夠將系統(tǒng)維度的故障與鏈路業(yè)務維度的場景進行關聯(lián)地進行分析,提高了準確度。
      [0057]而且,在自動生成測試報告之后,還優(yōu)選對測試報告進行分析。對測試報告的分析可以采用多種方式,例如以趨勢建模的方式對指標均值對比、趨勢對比以及響應延遲進行分析等等。如此一來,在考慮了響應延遲的故障來進行建模分析,提高了準確度。
      [0058]綜上所述,通過把健壯性測試與性能壓力測試實現松耦合的集成,在壓力測試過程中自動注入系統(tǒng)故障,并在壓力測試過程中實時監(jiān)控鏈路上各系統(tǒng)的各項指標,解決了大并發(fā)的情況下也能有效地對特定故障進行測試的問題。
      [0059]本發(fā)明的各方法實施方式均可以以軟件、硬件、固件等方式實現。不管本發(fā)明是以軟件、硬件、還是固件方式實現,指令代碼都可以存儲在任何類型的計算機可訪問的存儲器中(例如永久的或者可修改的,易失性的或者非易失性的,固態(tài)的或者非固態(tài)的,固定的或者可更換的介質等等)。同樣,存儲器可以例如是可編程陣列邏輯(Programmable ArrayLogic,簡稱“PAL”)、隨機存取存儲器(Random Access Memory,簡稱“RAM”)、可編程只讀存儲器(Programmable Read Only Memory,簡稱 “PROM”)、只讀存儲器(Read-Only Memory,簡稱“ROM”)、電可擦除可編程只讀存儲器(Electrically Erasable Programmable ROM,簡稱“EEPR0M”)、磁盤、光盤、數字通用光盤(Digital Versatile Disc,簡稱“DVD”)等等。
      [0060]本發(fā)明第二實施方式涉及一種系統(tǒng)測試裝置。圖3是該系統(tǒng)測試裝置的結構示意圖。本發(fā)明的實際結構可以根據實際需要做出必要的調整,并不局限于圖3中的結構。
      [0061]具體地說,該系統(tǒng)測試裝置通過把健壯性測試與性能壓力測試實現松耦合的集成,在壓力測試過程中自動注入系統(tǒng)故障,并在壓力測試過程中實時監(jiān)控鏈路上各系統(tǒng)的各項指標。如圖3所示,該系統(tǒng)測試裝置100包括:
      [0062]故障配置單元101,用于配置故障定時任務,每個故障定時任務中包括一個或多個故障操作;
      [0063]任務關聯(lián)單元102,用于將壓力測試任務與特定的故障定時任務進行關聯(lián);以及
      [0064]壓力測試單元103,用于執(zhí)行壓力測試任務,在執(zhí)行壓力測試任務的過程中,動態(tài)注入與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作,并實時監(jiān)控業(yè)務鏈路上各系統(tǒng)的各項指標,得到每個故障時段的監(jiān)控數據。
      [0065]第一實施方式是與本實施方式相對應的方法實施方式,本實施方式可與第一實施方式互相配合實施。第一實施方式中提到的相關技術細節(jié)在本實施方式中依然有效,為了減少重復,這里不再贅述。相應地,本實施方式中提到的相關技術細節(jié)也可應用在第一實施方式中。
      [0066]可選地但并非必須地,系統(tǒng)測試裝置100還包括報告生成單元104 (在圖3中未示出),用于在壓力測試任務結束后,將與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作與對應的故障時段的監(jiān)控數據和業(yè)務場景進行關聯(lián),自動生成測試報告。
      [0067]可選地但并非必須地,故障配置單元101包括以下子單元(在圖3中未示出):故障操作創(chuàng)建單元201,用于創(chuàng)建一個或多個故障操作;故障定時任務創(chuàng)建單元202,用于創(chuàng)建故障定時任務;以及添加單元203,為故障定時任務創(chuàng)建單元202所創(chuàng)建的故障定時任務添加故障操作創(chuàng)建單元201所創(chuàng)建的故障操作及每個所創(chuàng)建的故障操作的執(zhí)行時間。
      [0068]可選地但并非必須地,系統(tǒng)測試裝置100還包括報告分析單元105 (在圖3中未示出),用于對測試報告進行分析。
      [0069]需要說明的是,本發(fā)明各設備實施方式中提到的各單元都是邏輯單元,在物理上,一個邏輯單元可以是一個物理單元,也可以是一個物理單元的一部分,還可以以多個物理單元的組合實現,這些邏輯單元本身的物理實現方式并不是最重要的,這些邏輯單元所實現的功能的組合才是解決本發(fā)明所提出的技術問題的關鍵。此外,為了突出本發(fā)明的創(chuàng)新部分,本發(fā)明上述各設備實施方式并沒有將與解決本發(fā)明所提出的技術問題關系不太密切的單元引入,這并不表明上述設備實施方式并不存在其它的單元。
      [0070]需要說明的是,在本專利的權利要求和說明書中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
      [0071]雖然通過參照本發(fā)明的某些優(yōu)選實施方式,已經對本發(fā)明進行了圖示和描述,但本領域的普通技術人員應該明白,可以在形式上和細節(jié)上對其作各種改變,而不偏離本發(fā)明的精神和范圍。
      【主權項】
      1.一種系統(tǒng)測試方法,其特征在于,包括以下步驟: 配置故障定時任務,每個故障定時任務中包括一個或多個故障操作; 將壓力測試任務與故障定時任務進行關聯(lián);以及 執(zhí)行壓力測試任務,在執(zhí)行壓力測試任務的過程中,動態(tài)注入與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作,并實時監(jiān)控業(yè)務鏈路上各系統(tǒng)的各項指標,得到對應的故障操作時段的監(jiān)控數據。2.如權利要求1所述的系統(tǒng)測試方法,其特征在于, 在壓力測試任務結束后,將與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作與對應的故障操作時段的監(jiān)控數據和業(yè)務場景進行關聯(lián),自動生成測試報告。3.如權利要求1所述的系統(tǒng)測試方法,其特征在于, 配置故障定時任務包括以下步驟: 創(chuàng)建一個或多個故障操作; 創(chuàng)建故障定時任務;以及 為所創(chuàng)建的故障定時任務添加所創(chuàng)建的故障操作及每個所創(chuàng)建的故障操作的執(zhí)行時間。4.如權利要求3所述的系統(tǒng)測試方法,其特征在于, 配置故障定時任務還包括以下步驟: 對所創(chuàng)建的故障操作進行查詢、編輯或刪除。5.如權利要求1所述的系統(tǒng)測試方法,其特征在于, 每個故障操作包括以下信息:故障操作名稱,注入手段,操作類型,被注入系統(tǒng)域名,被注入服務類名,被注入接口方法名,注入延遲,拋出異常類名。6.如權利要求1所述的日志實時監(jiān)控預警方法,其特征在于, 系統(tǒng)的各項指標包括硬件資源、Java虛擬機狀態(tài)、系統(tǒng)日志, 監(jiān)控數據包括業(yè)務維度數據和系統(tǒng)維度數據。7.如權利要求2所述的日志實時監(jiān)控預警方法,其特征在于, 在自動生成測試報告之后,還包括對測試報告進行分析的步驟。8.如權利要求7所述的日志實時監(jiān)控預警方法,其特征在于, 對測試報告進行分析是指以趨勢建模的方式對指標均值對比、趨勢對比以及響應延遲進行分析。9.一種系統(tǒng)測試裝置,其特征在于,包括: 故障配置單元,用于配置故障定時任務,每個故障定時任務中包括一個或多個故障操作; 任務關聯(lián)單元,用于將壓力測試任務與特定的故障定時任務進行關聯(lián);以及壓力測試單元,用于執(zhí)行壓力測試任務,在執(zhí)行壓力測試任務的過程中,動態(tài)注入與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作,并實時監(jiān)控業(yè)務鏈路上各系統(tǒng)的各項指標,得到每個故障時段的監(jiān)控數據。10.如權利要求9所述的系統(tǒng)測試裝置,其特征在于,還包括: 報告生成單元,用于在壓力測試任務結束后,將與壓力測試任務所關聯(lián)的故障定時任務中的每個故障操作與對應的故障時段的監(jiān)控數據和業(yè)務場景進行關聯(lián),自動生成測試報生口 O11.如權利要求9所述的系統(tǒng)測試裝置,其特征在于, 故障配置單元包括以下子單元: 故障操作創(chuàng)建單元,用于創(chuàng)建一個或多個故障操作; 故障定時任務創(chuàng)建單元,用于創(chuàng)建故障定時任務;以及 添加單元,為故障定時任務創(chuàng)建單元所創(chuàng)建的故障定時任務添加故障操作創(chuàng)建單元所創(chuàng)建的故障操作及每個所創(chuàng)建的故障操作的執(zhí)行時間。12.如權利要求9所述的系統(tǒng)測試裝置,其特征在于,還包括: 報告分析單元,用于對測試報告進行分析。
      【文檔編號】G06F11/36GK105868097SQ201510033668
      【公開日】2016年8月17日
      【申請日】2015年1月22日
      【發(fā)明人】付宇, 李恩領
      【申請人】阿里巴巴集團控股有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1