一種基于接口并行的自動化測試系統和方法
【技術領域】
[0001]本發明涉及軟件測試領域,尤其涉及一種基于接口并行的自動化測試系統和方法。
【背景技術】
[0002]隨著軟件行業的發展,對軟件質量的要求越來越高,在測試過程中緊緊通過功能測試會存在很多需求無法驗證,且需要系統開發基本完成之后才能進行功能測試,同時隨著互聯網的普及,用戶對系統的性能要求也越來越高,為了提高測試效率和測試的覆蓋率,有很多針對于接口測試工具出現,然而現有的測試工具都只提供發送接口請求和接收接口返回數據信息展示,每一個接口測試的時候都要重復進行用例設計,且測試結果保存不便。
【發明內容】
[0003]本發明的主要目的在于提出一種基于接口并行的自動化測試系統和方法,旨在解決軟件測試過程中重復設置接口測試用例,測試結果保存不便的問題。
[0004]為實現上述目的,本發明提供的一種基于接口并行的自動化測試系統,包括測試監控端、用例數據庫、調度服務器和測試服務器;
[0005]所述測試監控端,包括:
[0006]測試啟動單元,用于向所述調度服務器發送攜帶有測試任務的測試執行指令;
[0007]所述用例數據庫,用于存儲接口用例腳本;
[0008]所述調度服務器,用于根據所述接口執行指令從用例數據庫中讀取對應的接口用例腳本,將接口用例腳本發送到測試服務器;
[0009]所述測試服務器,包括:
[0010]腳本運行單元,用于在測試任務指定的測試項目中運行接收到的對應的接口用例腳本;
[0011]報告生成單元,用于根據接口用例腳本的運行結果生成測試報告。
[0012]其中,包括多臺測試服務器,多臺測試服務器架設為nginx+tomcat配置的實現多并發測試操作的集群服務器。
[0013]其中,所述測試監控端還包括:
[0014]項目匹配單元,用于根據接收到的用戶特征碼匹配對應的測試項目;
[0015]用例配置單元,用于接收接口用例腳本并將所述接口用例腳本通過調度服務器對應于測試項目保存到用例數據庫。
[0016]其中,所述調度服務器,具體用于根據所述接口執行指令從用例數據中讀取對應的接口用例腳本,將接口用例腳本和測試任務以HTTP請求的方式發送到測試服務器;
[0017]所述測試服務器,還包括:
[0018]請求解析單元,用于在預封裝的jsoup框架下進行HTTP協議解析,獲得接口用例腳本和測試任務。
[0019]其中,所述報告生成單元,具體用于通過log4j自定義日志記錄腳本運行數據,并基于testng框架對所述腳本運行數據進行整合生成測試報告。
[0020]此外,為實現上述目的,本發明還提出一種基于接口并行的自動化測試方法,包括:
[0021]測試監控端向所述調度服務器發送攜帶有測試任務的測試執行指令;
[0022]調度服務器根據所述接口執行指令從用例數據庫中讀取對應的接口用例腳本,將接口用例腳本發送到測試服務器;
[0023]測試服務器在測試任務指定的測試項目中運行接收到的對應的接口用例腳本;
[0024]測試服務器根據接口用例腳本的運行結果生成測試報告。
[0025]其中,包括多臺測試服務器,多臺測試服務器架設為nginx+tomcat配置的實現多并發測試操作的集群服務器。
[0026]其中,還包括:
[0027]根據接收到的用戶特征碼匹配對應的測試項目;
[0028]接收接口用例腳本并將所述接口用例腳本通過調度服務器對應于測試項目保存到用例數據庫。
[0029]其中,所述調度服務器根據所述接口執行指令從用例數據庫中讀取對應的接口用例腳本,將接口用例腳本發送到測試服務器,具體為:
[0030]調度服務器根據所述接口執行指令從用例數據中讀取對應的接口用例腳本,將接口用例腳本和測試任務以HTTP請求的方式發送到測試服務器;
[0031]所述測試服務器在測試任務指定的測試項目中運行接收到的對應的接口用例腳本之前,還包括:
[0032]在預封裝的jsoup框架下進行HTTP協議解析,獲得接口用例腳本和測試任務。
[0033]其中,所述測試服務器根據接口用例腳本的運行結果生成測試報告,具體為:
[0034]測試服務器通過log4j自定義日志記錄腳本運行數據,并基于testng框架對所述腳本運行數據進行整合生成測試報告。
[0035]本發明提出的基于接口并行的自動化測試系統和方法,預先保存測試項目,通過接口測試用例的模板化管理,只需在測試任務中輸入測試服務器地址和接口地址和參數值即可對相應測試項目需要測試的所有接口進行測試,自動在測試結果的基礎上生成測試報告,避免了每次測試設計同樣的用例,提高了測試效率。
【附圖說明】
[0036]圖1為本發明【具體實施方式】中提供的一種基于接口并行的自動化測試方法的第一實施例的方法流程圖;
[0037]圖2為本發明【具體實施方式】中提供的一種基于接口并行的自動化測試方法的第二實施例的方法流程圖;
[0038]圖3為本發明【具體實施方式】中提供的一種基于接口并行的自動化測試系統的第一實施例的拓撲結構圖;
[0039]圖4為本發明【具體實施方式】中提供的一種基于接口并行的自動化測試系統的第二實施例的拓撲結構圖。
[0040]本發明目的的實現、功能特點及優點將結合實施例,參照附圖做進一步說明。
【具體實施方式】
[0041]應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0042]請參考圖1,為本發明【具體實施方式】中提供的一種基于接口并行的自動化測試方法的第一實施例的方法流程圖,如圖所示,該方法包括:
[0043]步驟S101:測試監控端向所述調度服務器發送攜帶有測試任務的測試執行指令。
[0044]接口測試是測試系統組件間接口的一種測試。接口測試主要用于檢測外部系統與系統之間以及內部各個子系統之間的交互點。測試的重點是要檢查數據的交換,傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等。
[0045]測試監控端由測試人員進行控制,實現接口測試所需的各種參數設置,具體例如測試項目、測試采用的接口用例腳本、測試服務器的地址和接口的地址、測試過程中接口傳遞的參數等,進一步還可包括判斷接口執行結構的正確性判斷依據。
[0046]測試監控端同時還用于接收和顯示測試結果,例如在正確性判斷依據基礎上形成的測試報告。
[0047]步驟S102:調度服務器根據所述接口執行指令從用例數據庫中讀取對應的接口用例腳本,將接口用例腳本發送到測試服務器。
[0048]調度服務器實現測試的實際數據處理主題與測試監控端之間的數據轉發。測試監控端不直接對運行測試項目的測試服務器進行訪問,而是由調度服務器作為數據轉發中心實現數據的轉發。
[0049]具體而言,調度服務器收到接口執行指令后,解析出接口執行指令中攜帶的測試任務,主要的任務內容包括待測試的測試項目、接口用例腳本、測試服務器地址和接口地址等,調度服務器根據接口用例腳本從用例數據庫中讀取對應的接口用例腳本,并將接口用例腳本發送到測試服務器,同時發送的還有待測試的測試項目。
[0050]步驟S103:測試服務器在測試任務指定的測試項目中運行接收到的對應的接口用例腳本。
[0051]測試服務器中保存有多個測試項目,每個測試項目可以由對應的項目測試人員進行控制測試,每