服務器端的測試方法及系統的制作方法
【專利摘要】本公開提供了一種服務器端的測試方法。該方法包括:攔截向測試終端的測試請求反饋;解析所述測試請求反饋,確定測試請求;根據所確定的測試請求,利用規則引擎庫確定預期運行結果,其中,所述規則引擎庫包括各測試請求和對應的各預期運行結果;比較執行所述測試請求對應的測試任務而生成的測試結果和所述預期運行結果,生成測試報告。本公開還提供了一種服務器端的測試系統。本公開可以通過在服務器端進行攔截測試,并生成測試報告,克服了測試人員人工分析日志文件導致的低效、準確性差和需要侵入測試端進行測試而破壞測試端等問題,操作簡單方便,實現了測試的自動化。
【專利說明】
服務器端的測試方法及系統
技術領域
[0001]本公開實施例涉及測試技術領域,尤其涉及一種測試方法及系統。
【背景技術】
[0002]隨著網絡技術的快速發展,智能服務應用已經滲透到人們的娛樂、學習、工作中。隨著現有服務應用的復雜度不斷的提高和規模逐漸增大,新版本的開發需要在各個階段進行多次測試。軟件測試是使用人工操作或者軟件自動運行的方式來檢驗軟件是否滿足規定的需求,或者來檢驗預期結果與實際結果之間的差別的過程。
[0003]現有技術中,通常是在測試端(通常是服務終端)或者是在服務器端進行軟件測試。然而,侵入測試端的測試方式不僅需要在測試端部署測試軟件,還會破壞測試端的運行數據。而在服務器端測試也會將請求反饋返回測試端,此種方式也會侵入測試端。另外,現代服務器對象逐漸增多,服務業務逐漸增大,測試人員需要根據種類繁多且數量巨大的工作日志來人為判斷軟件的運行情況存在效率低、人為因素影響大的問題。
【發明內容】
[0004]本公開實施例提供一種測試方法及系統,用以解決現有技術中測試人員人工分析日志文件導致的低效、準確性差和需要侵入測試端進行測試而破壞測試端等問題。
[0005]本公開實施例提供了一種測試方法,該方法包括:
[0006]攔截向測試終端的測試請求反饋;
[0007]解析所述測試請求反饋,確定測試請求;
[0008]根據所確定的測試請求,利用規則引擎庫確定預期運行結果,其中,所述規則引擎庫包括測試請求和對應的預期行結果;
[0009]按照所述測試請求,執行測試任務,生成測試結果;
[0010]比較所述預期運行結果和所述測試結果,生成測試報告。
[0011 ]本公開實施例提供了一種測試系統,該系統包括:
[0012]反饋攔截單元,用于攔截向測試終端的測試請求反饋;
[0013]測試請求確定單元,用于解析所述測試請求反饋,確定測試請求;
[0014]預期結果確定單元,用于根據所確定的測試請求,利用規則引擎庫確定預期運行結果,其中,所述規則引擎庫包括測試請求和對應的預期行結果;
[0015]測試結果生成單元,用于按照所述測試請求,執行測試任務,生成測試結果;
[0016]測試報告生成單元,用于比較所述預期運行結果和所述測試結果,生成測試報告。
[0017]本公開可以通過在服務器端進行攔截測試,并生成測試報告,克服了測試人員人工分析日志文件導致的低效、準確性差和需要侵入測試端進行測試而破壞測試端等問題,操作簡單方便,實現了測試的自動化。
【附圖說明】
[0018]為了更清楚地說明本公開實施例的技術方案,下面將對實施例描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本公開的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0019]圖1為用于本公開一個實施例的系統架構示意圖;
[0020]圖2為根據本公開第一個實施例的測試方法流程示意圖;
[0021 ]圖3為根據本公開第二個實施例的測試方法流程示意圖;
[0022]圖4為根據本公開第三個實施例的測試方法流程示意圖;
[0023]圖5為根據本公開第一個實施例的測試系統結構示意圖;
[0024]圖6為根據本公開第二個實施例的測試系統結構示意圖;
[0025]圖7為根據本公開第三個實施例的測試系統結構示意圖。
具體實施例
[0026]為使本公開實施例的目的、技術方案和優點更加清楚,下面將結合本公開實施例中的附圖,對本公開實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本公開一部分實施例,而不是全部的實施例。基于本公開中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本公開保護的范圍。
[0027]首先參考圖1,其示出了可以應用本申請實施例的示例性系統架構100。
[0028]如圖1所示,系統架構100可以包括終端設備101、102、網絡103和服務器104。
[0029]用戶110可以使用終端設備101、102通過網絡103與服務器104、105交互,以接收或發送消息等。終端設備101、102上可以安裝有各種通訊客戶端應用,例如即時通信工具、郵箱客戶端、社交平臺軟件、音頻視頻軟件等。
[0030]終端設備101、102可以是各種電子設備,包括但不限于個人電腦、智能手機、平板電腦、個人數字助理、可穿戴設備等,終端設備101、102還可以是智能家電、路由器等。
[0031]網絡103用以在終端設備101、102和服務器104、105之間提供通信鏈路的介質。網絡103可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等。
[0032]服務器104、105可以是提供各種服務的服務器。服務器可以對接收到的數據進行存儲、分析等處理。本實施例中,為了防止侵入終端設備,服務器不將處理結果反饋給終端設備。
[0033]應該理解,圖1中的終端設備、網絡和服務器的數目僅僅是示意性的。根據實現需要,可以具有任意數目的終端設備、網絡和服務器。
[0034]接著參考圖2,其示出了本公開測試方法的第一實施例流程圖200。
[0035]如圖2所示,測試方法可以包括:
[0036]步驟201:攔截向測試終端的測試請求反饋。
[0037]在本實施例中,測試終端可以是圖1所示的終端設備101、102。具體可以是各種電子設備,包括但不限于個人電腦、智能手機、平板電腦、個人數字助理、可穿戴設備等,測試終端還可以是智能家電、路由器等。
[0038]在本實施例中,測試請求例如可以是鏈接某個網頁的請求、獲取文件數據的請求,此方面不做限制。
[0039]步驟202:解析所述測試請求反饋,確定測試請求。
[0040]在本實施例中,測試請求例如可以是:在2s內返回某一個界面。
[0041]步驟203:根據所確定的測試請求,利用規則引擎庫確定預期運行結果。
[0042]在本實施例中,規則引擎庫可以包括測試請求和對應的預期行結果。規則引擎庫可以是存儲著關聯的函數的庫,也可以是數據庫中的對應表,還可以是其他形式的對應關系,此方面沒有限制。其中可以存儲測試應用時所需的配置文件、和預期的運行結果。例如,配置文件可以包含測試請求,預期的運行結果可以包含預期完成的時間和完成的內容。具體數值可以用md5(Message Digest Algorithm,消息摘要算法第五版)值來表示,此方面不做限制。
[0043]步驟204:比較執行所述測試請求對應的測試任務而生成的測試結果和所述預期運行結果,生成測試報告。
[0044]在本實施例中,該測試報告中至少包括測試結果和預期的運行結果的對比。例如:
[0045]預期結果:2s內返回第一個界面。
[0046]測試結果1:3s才返回第一界面。
[0047]測試結果2:2s內返回第二個界面。
[0048]對比結果:預期結果與測試結果不一致。
[0049]在本實施例中,服務器可以接收該對比并將其存儲起來以備之后對數據進行整理。具體可以根據實際情況,例如對錯誤的數量設定一個閾值,當錯誤的數量大于預定閾值時,則說明此次發布的新功能BUG較多,不宜發布,測試服務器不宜正式上線。
[0050]在本實施例中,通過統計錯誤的測試報告,可以很好地把控測試服務器的測試質量,當出現問題時可以及時取消該組件,確保的測試的可靠性。
[0051]本公開可以通過在服務器端進行攔截測試,并生成測試報告,克服了測試人員人工分析日志文件導致的低效、準確性差和需要侵入測試端進行測試而破壞測試端等問題,操作簡單方便,實現了測試的自動化。
[0052]在一些實施例中,所述攔截向測試終端的測試請求反饋(即圖1中步驟201)包括:在所述測試請求反饋中添加指向所述規則引擎庫的引流地址。
[0053]由此,本實施例通過向測試請求反饋中添加指向所述規則引擎庫的引流地址(例如,具體可以利用add函數來實現),將數據流引入規則引擎庫。如此操作可以防止測試反饋返回測試終端而侵擾客戶終端的正常工作。
[0054]在一些實施例中,當所述服務器端的工作狀態信息為測試狀態時,確定攔截向測試終端的測試請求反饋。
[0055]由此,本實施例的服務器端可以設置有兩個狀態:測試狀態和運營狀態。例如:debug參數為I時,對應服務器端為測試狀態。debug參數為O時,對應服務器端為運營狀態。如此,在設置測試系統時,可以進行靈活設置。例如,測試系統可以設置兩臺服務器,一臺為運行服務器,其負責與測試終端的通信,獲取測試終端的測試請求反饋。另一臺為測試服務器,其負責測工作。另外,測試系統也可以只設置一臺服務器,該服務器兼顧與測試終端的測試通信以及測試工作。具體設置方式,可以按服務器的性能及實際需求自由設置。
[0056]在測試結束后,如果測試狀態比較滿意,例如bug比較少,測試版本適宜發布,此時,僅需要將debug參數由I切換為O,就會將服務器由測試狀態轉換為運營狀態。由此,在測試完成后,將測試服務器正式上線運營,變為運營服務器。如果,實際運營的效果不理想時,還可以將debug參數由O切換為I,就會將服務器由運營狀態轉換為測試狀態。這樣可以自由切換,減少硬件投入,節省資金投入。
[0057]通過向測試請求反饋中添加指向所述規則引擎庫的引流地址(例如,具體可以利用add函數來實現),將數據流引入規則引擎庫。如此操作可以防止測試反饋返回測試終端而侵擾客戶終端的正常工作。
[0058]接著參考圖3,其示出了本公開測試方法的第二實施例流程圖300。
[0059]如圖3所示,測試方法可以包括:
[0060]步驟301:生成從所述測試終端至服務器端的單向連接。
[0061]步驟302:攔截向測試終端的測試請求反饋。
[0062]步驟303:解析所述測試請求反饋,確定測試請求。
[0063]步驟304:根據所確定的測試請求,利用規則引擎庫確定預期運行結果,其中,所述規則引擎庫包括各測試請求和對應的各預期運行結果。
[0064]步驟305:比較執行所述測試請求對應的測試任務而生成的測試結果和所述預期運行結果,生成測試報告。
[0065]圖3所示實施例與圖2所示實施例的區別在于,圖3所示實施例在攔截向測試終端的測試請求反饋(即圖2中的步驟201)之前包括:生成從所述測試終端至服務器端的單向連接。如此操作可以進一步防止測試反饋返回測試終端而侵擾客戶終端的正常工作。
[0066]接著參考圖4,其示出了本公開測試方法的第二實施例流程圖400。
[0067]如圖4所示,測試方法可以包括:
[0068]步驟401:攔截向測試終端的測試請求反饋。
[0069]步驟402:解析所述測試請求反饋,確定測試請求。
[0070]步驟403:根據所確定的測試請求,利用規則引擎庫確定預期運行結果,其中,所述規則引擎庫包括各測試請求和對應的各預期運行結果。
[0071]步驟404:比較執行所述測試請求對應的測試任務而生成的測試結果和所述預期運行結果,生成測試報告。
[0072]步驟405:當確定所述測試報告中的測試結果和預期的運行結果一致時,將所述服務器端的工作狀態信息由測試狀態切換為運營狀態。
[0073]圖4所示實施例與圖2所示實施例的區別在于,圖4所示實施例在所述在生成測試報告(即圖2中的步驟204)之后包括:當確定所述測試報告中的測試結果和預期的運行結果一致時,將所述服務器端的工作狀態信息由測試狀態切換為運營狀態。
[0074]由此,本實施例的服務器端可以通過將debug參數的設置為I或O來將服務器由測試狀態與運營狀態進行自由轉換。例如在測試結束后,如果測試狀態比較滿意,例如bug比較少,測試版本適宜發布,此時,僅需要將debug參數由I切換為O,就會將服務器由測試狀態轉換為運營狀態。由此,在測試完成后,將測試服務器正式上線運營,變為運營服務器。如果,實際運營的效果不理想時,還可以將debug參數由O切換為I,就會將服務器由運營狀態轉換為測試狀態。這樣可以自由切換,減少硬件投入,節省資金投入。
[0075]然后參考圖5,其示出了本公開測試系統的第一實施例結構圖500。
[0076]如圖5所示,測試系統500可以包括:反饋攔截單元、測試請求確定單元、預期結果確定單元、測試結果生成單元和測試報告生成單元。其中:
[0077]反饋攔截單元用于攔截向測試終端的測試請求反饋。
[0078]測試請求確定單元用于解析所述測試請求反饋,確定測試請求。
[0079]預期結果確定單元用于根據所確定的測試請求,利用規則引擎庫確定預期運行結果O
[0080]其中,所述規則引擎庫包括測試請求和對應的預期行結果。
[0081 ]測試結果生成單元用于按照所述測試請求,執行測試任務,生成測試結果。
[0082]測試報告生成單元用于比較所述預期運行結果和所述測試結果,生成測試報告。
[0083]在一些實施例中,反饋攔截單元用于:當所述服務器端處于測試狀態時,攔截向測試終端的測試請求反饋。
[0084]在一些實施例中,反饋攔截單元用于:當所述服務器端的工作狀態信息為測試狀態時,確定攔截向測試終端的測試請求反饋。
[0085]然后參考圖6,其示出了本公開測試系統的第二實施例結構圖600。
[0086]如圖6所示,測試系統600可以包括:連接生成單元、反饋攔截單元、測試請求確定單元、預期結果確定單元、測試結果生成單元和測試報告生成單元。其中:
[0087]連接生成單元用于生成從所述測試終端至服務器端的單向連接。
[0088]反饋攔截單元用于攔截向測試終端的測試請求反饋。
[0089]測試請求確定單元用于解析所述測試請求反饋,確定測試請求。
[0090]預期結果確定單元用于根據所確定的測試請求,利用規則引擎庫確定預期運行結果O
[0091]其中,所述規則引擎庫包括測試請求和對應的預期行結果。
[0092]測試結果生成單元用于按照所述測試請求,執行測試任務,生成測試結果。
[0093]測試報告生成單元用于比較所述預期運行結果和所述測試結果,生成測試報告。
[0094]圖6所示實施例與圖5所示實施例的區別在于,圖6所示實施例在圖5實施例的基礎上還包括:用于生成從所述測試終端至服務器端的單向連接連接生成單元。如此操作可以進一步防止測試反饋返回測試終端而侵擾客戶終端的正常工作。
[0095]然后參考圖7,其示出了本公開測試系統的第三實施例結構圖700。
[0096]如圖7所示,測試系統700可以包括:反饋攔截單元、測試請求確定單元、預期結果確定單元、測試結果生成單元、測試報告生成單元和狀態切換單元。其中:
[0097]反饋攔截單元用于攔截向測試終端的測試請求反饋。
[0098]測試請求確定單元用于解析所述測試請求反饋,確定測試請求。
[0099]預期結果確定單元用于根據所確定的測試請求,利用規則引擎庫確定預期運行結果O
[0100]其中,所述規則引擎庫包括測試請求和對應的預期行結果。
[0101]測試結果生成單元用于按照所述測試請求,執行測試任務,生成測試結果。
[0102]測試報告生成單元用于比較所述預期運行結果和所述測試結果,生成測試報告。
[0103]狀態切換單元用于當確定所述測試報告中的測試結果和預期的運行結果一致時,將所述服務器端的工作狀態信息由測試狀態切換為運營狀態。
[0104]圖7所示實施例與圖5所示實施例的區別在于,圖7所示實施例在圖5實施例的基礎上還包括狀態切換單元。由此,本實施例的服務器端可以通過將debug參數的設置為I或O來將服務器由測試狀態與運營狀態進行自由轉換。例如在測試結束后,如果測試狀態比較滿意,例如bug比較少,測試版本適宜發布,此時,僅需要將debug參數由I切換為O,就會將服務器由測試狀態轉換為運營狀態。由此,在測試完成后,將測試服務器正式上線運營,變為運營服務器。如果,實際運營的效果不理想時,還可以將debug參數由O切換為I,就會將服務器由運營狀態轉換為測試狀態。這樣可以自由切換,減少硬件投入,節省資金投入。
[0105]由于上述實施例的測試系統與測試方法的功能相對應,因此,上述測試方法可以實現的功能及技術效果也同樣適用于上述測試系統,在此不再贅二者相同或相關的內容。本公開實施例中可以通過硬件處理器(hardware processor)來實現相關功能模塊。
[0106]以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創造性的勞動的情況下,即可以理解并實施。
[0107]通過以上的實施例的描述,本領域的技術人員可以清楚地了解到各實施例可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件。基于這樣的理解,上述技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在計算機可讀存儲介質中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行各個實施例或者實施例的某些部分所述的方法。
[0108]最后應說明的是:以上實施例僅用以說明本公開的技術方案,而非對其限制;盡管參照前述實施例對本公開進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本公開各實施例技術方案的精神和范圍。
【主權項】
1.一種測試方法,包括: 攔截向測試終端的測試請求反饋; 解析所述測試請求反饋,確定測試請求; 根據所確定的測試請求,利用規則引擎庫確定預期運行結果,其中,所述規則引擎庫包括各測試請求和對應的各預期運行結果; 比較執行所述測試請求對應的測試任務而生成的測試結果和所述預期運行結果,生成測試報告。2.根據權利要求1所述的方法,其中,所述攔截向測試終端的測試請求反饋包括:在所述測試請求反饋中添加指向所述規則引擎庫的引流地址。3.根據權利要求1或2所述的方法,其中,所述攔截向測試終端的測試請求反饋之前包括:生成從所述測試終端至服務器端的單向連接。4.根據權利要求1或2所述的方法,其中,當所述服務器端的工作狀態信息為測試狀態時,確定攔截向測試終端的測試請求反饋。5.根據權利要求4所述的方法,其中,所述在生成測試報告之后,包括: 當確定所述測試報告中的測試結果和預期的運行結果一致時,將所述服務器端的工作狀態信息由測試狀態切換為運營狀態。6.一種測試系統,包括: 反饋攔截單元,用于攔截向測試終端的測試請求反饋; 測試請求確定單元,用于解析所述測試請求反饋,確定測試請求; 預期結果確定單元,根據所確定的測試請求,利用規則引擎庫確定預期運行結果,其中,所述規則引擎庫包括各測試請求和對應的各預期運行結果; 測試結果生成單元,用于按照所述測試請求,執行測試任務,生成測試結果; 測試報告生成單元,用于比較執行所述測試請求對應的測試任務而生成的測試結果和所述預期運行結果,生成測試報告。7.根據權利要求6所述的系統,其中,所述反饋攔截單元用于:當所述服務器端處于測試狀態時,攔截向測試終端的測試請求反饋。8.根據權利要求6或7所述的系統,其中,所述系統還包括: 連接生成單元,用于生成從所述測試終端至服務器端的單向連接。9.根據權利要求6或7所述的系統,其中,所述反饋攔截單元用于: 當所述服務器端的工作狀態信息為測試狀態時,確定攔截向測試終端的測試請求反饋。10.根據權利要求9所述的系統,其中,所述系統還包括: 狀態切換單元,用于當確定所述測試報告中的測試結果和預期的運行結果一致時,將所述服務器端的工作狀態信息由測試狀態切換為運營狀態。
【文檔編號】G06F11/36GK105955878SQ201610248234
【公開日】2016年9月21日
【申請日】2016年4月20日
【發明人】李洪福
【申請人】樂視控股(北京)有限公司, 樂視云計算有限公司