本申請涉及車輛測試技術領域,尤其涉及用于測試車輛的方法和系統。
背景技術:
隨著社會的發展,車輛已經成為比較常用的交通工具。為了保證車輛在不同場景下性能的良好性以及行駛的安全性,在車輛定型前,需要進行一系列的測試實驗,測試車輛的控制系統等的性能。
在測試階段的車輛直接上路測試會造成測試成本增加,并具有一定的危險性。因此,業內通常采用模擬仿真的方式測試車輛中控制系統等的性能。通常,為了提高車輛的性能,需要測試人員進行多次仿真實驗,測試大量的測試場景下車輛的控制系統等的性能。但是,現有的仿真試驗方法通常是基于單機完成的,即采用單個仿真執行機依次測試不同測試場景下的測試任務,因此,如果需要完成大量場景下的仿真實驗往往需要半年甚至一年的時間,造成了測試周期長、效率低的問題。
技術實現要素:
本申請的目的在于提出一種改進的用于測試車輛的方法和系統,來解決以上背景技術部分提到的技術問題。
第一方面,本申請提供了一種用于測試車輛的方法,所述方法包括:仿真服務器接收客戶端發送的測試任務和執行該測試任務所需要的測試場景集合,其中,所述測試場景集合包括多個測試場景,所述客戶端用于為用戶提供人機交互的界面,以使所述用戶在所述客戶端配置所述測試任務;所述仿真服務器將各所述測試場景分別分配到第一仿真執行機,并將所述測試任務發送到各所述第一仿真執行機,以使各所述第一仿真執行機在單個測試場景下并行執行所述測試任務;所述仿真服務器從各所述第一仿真執行機獲取所述測試任務的測試結果;所述仿真服務器將所述測試結果與預設的測試標準對比,生成所述測試任務的反饋信息,并將所述反饋信息發送到所述客戶端。
在一些實施例中,所述方法還包括:所述客戶端從測試場景模塊選取所述測試場景集合,其中,所述測試場景模塊用于分類存儲測試場景以及測試場景的場景數據。
在一些實施例中,所述方法還包括:所述第一仿真執行機判斷本地緩存中是否存在該第一仿真執行機被分配的所述測試場景的場景數據;若是,所述第一仿真執行機從所述本地緩存中獲取所述測試場景的場景數據;若否,所述第一仿真執行機從所述測試場景模塊中獲取所述測試場景的場景數據,并將所述測試場景的場景數據存儲到所述本地緩存。
在一些實施例中,在所述仿真服務器從各所述第一仿真執行機獲取所述測試任務的測試結果之前,所述方法還包括:當所述仿真服務器確定存在發生故障的第一仿真執行機時,所述仿真服務器調度第二仿真執行機作為所述第一仿真執行機重新執行所述測試任務。
在一些實施例中,各所述第一仿真執行機之間相互獨立。
在一些實施例中,所述仿真服務器中設有等待隊列;所述方法還包括:所述仿真服務器查詢是否存在空閑狀態的仿真執行機;若是,所述仿真服務器從所述空閑狀態的仿真執行機中選取預設數目的仿真執行機作為第一仿真執行機;若否,所述仿真服務器將所述測試任務存儲在所述等待隊列繼續查詢,直至確認存在空閑狀態的仿真執行機。
第二方面,本申請提供了一種用于測試車輛的系統,所述系統包括:仿真服務器、仿真執行機、客戶端,其中,所述仿真服務器分別連接所述仿真執行機和所述客戶端;所述客戶端,為用戶提供人機交互的界面,響應于所述用戶的操作指令配置測試任務和執行所述測試任務所需要的測試場景集合,并將所述測試任務和所述測試場景集合發送到所述仿真服務器,以及接收所述仿真服務器發送的所述測試任務的反饋信息,其中,所述測試場景集合包括多個測試場景;所述仿真執行機,多個所述仿真執行機在單個測試場景下并行執行同一測試任務,生成測試結果,以及將所述測試結果發送到所述仿真服務器;所述仿真服務器,用于將從所述客戶端接收到的所述測試場景集合中的各測試場景分別分配到所述仿真執行機,將所述客戶端接收到的所述測試任務發送到各所述仿真執行機,以及將從所述仿真執行機接收到的所述測試結果與預設的測試標準對比,生成所述測試任務的反饋信息。
在一些實施例中,所述系統還包括:測試場景模塊,用于分類存儲測試場景以及測試場景的場景數據;所述測試場景模塊連接所述客戶端,以使所述客戶端從所述測試場景模塊選取所述測試場景集合;所述測試場景模塊連接所述仿真執行機,以使所述仿真執行機從所述測試場景模塊獲取該仿真執行機被分配的所述測試場景的場景數據,并將所述場景數據存儲到所述仿真執行機的本地緩存。
在一些實施例中,所述仿真服務器還用于監控各所述仿真執行機的健康狀態,以及當確定存在故障仿真執行機時調度正常仿真執行機代替所述故障仿真執行機。
在一些實施例中,各所述仿真執行機之間相互獨立。
在一些實施例中,所述仿真服務器還用于查詢是否存在空閑狀態的仿真執行機,以及選取空閑狀態的仿真執行機執行所述測試任務;所述仿真服務器中設有等待隊列,用于在確定不存在空閑狀態的仿真執行機的狀態下,存儲所述測試任務。
本申請提供的用于測試車輛的方法和系統,仿真服務器可以將客戶端發送的測試任務和測試場景集合中的各測試場景分配到多個第一仿真執行機,各第一仿真執行機在單個測試場景下并列執行上述測試任務,之后上述仿真服務器獲取上述測試任務的測試結果,并將測試結果與測試標準對比生成該測試任務的反饋信息,最后將該反饋信息發送到客戶端,完成上述測試任務,上述測試方法通過采用多個第一仿真執行機在不同測試場景下并列執行測試任務,縮短了車輛測試的時間,提高了車輛測試的效率。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優點將會變得更明顯:
圖1示出了根據本申請的用于測試車輛的系統的一個實施例的架構圖;
圖2示出了根據本申請的用于測試車輛的方法的一個實施例的流程圖;
圖3示出了根據本申請的用于測試車輛的方法的又一個實施例的流程圖;
圖4是適于用來實現本申請實施例的客戶端設備或仿真服務器的計算機系統的結構示意圖。
具體實施方式
下面結合附圖和實施例對本申請作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋相關發明,而非對該發明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關發明相關的部分。
需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本申請。
圖1示出了根據本申請的用于車輛測試的系統的一個實施例的架構圖100。如圖所示,用于車輛測試的系統100可以包括客戶端101、仿真執行機102和仿真服務器103。
在本實施例中,上述仿真服務器103可以分別連接上述仿真執行機102和上述客戶端101,如圖1所示。上述客戶端101可以為用戶提供人機交互的界面。當用戶在上述客戶端101進行操作時,上述客戶端101可以響應于用戶輸入的操作指令配置需要測試的測試任務,以及執行該測試任務所需要的測試場景集合,而后將上述測試任務和測試場景集合發送到上述仿真服務器103。上述仿真服務器103可以接收上述客戶端101發送的測試任務和該測試任務對應的測試場景集合,之后將上述測試場集合中的各測試場景分別分配到選擇的仿真執行機102,將上述測試任務發送到上述被分配到測試場景的仿真執行機102。上述系統100中可以包括多個仿真執行機102,各仿真執行機102可以用于在單個測試場景下執行測試任務,并生成該測試任務的測試結果,以及將測試結果發送到上述仿真服務器103,仿真服務器103可以將測試結果與預先設置的測試標準對比,生成反饋信息,并將該反饋信息發送的客戶端101,以便于上述用戶獲取該反饋信息。
需要說明的是,在上述系統100中通常存在多個仿真執行機102接收到同一測試任務(各仿真執行機102被分配的測試場景可以不同),則上述多個仿真執行機102可以并列執行該測試任務。而傳統的車輛測試系統通常是采用單個仿真執行機依次在各測試場景下執行測試任務,測試任務耗費的總時間為在每個測試場景下執行測試任務耗費的時間的總和,測試消耗時間較長。由此可見,采用本實施例中的用于測試車輛的系統100可以縮短測試時間,提高測試效率。例如,當用戶需要在5個不同的測試場景下測試車輛的決策控制算法的性能時,即上述測試任務為測試車輛的決策控制算法,用戶可以通過上述客戶端101將測試任務和測試場景發送給上述仿真服務器103,之后仿真服務器103從上述仿真執行機102中確定5個用于執行上述測試任務的第一仿真執行機,并將5個測試場景分別分配給上述確定的5個第一仿真執行機,以及將測試任務發送給上述各第一仿真執行機,以使第一仿真執行機在其所分配的測試場景下執行上述測試任務,需要說明的是,上述5個第一仿真執行機同時執行上述測試任務,各第一仿真執行機執行上述測試任務消耗的時間分別為t1、t2、t3、t4、t5,則該測試任務耗費的時間為t1、t2、t3、t4、t5中的最大值,而現有技術中該測試任務耗費的時間為t1、t2、t3、t4、t5的總和,由此可見,采用本實施例中的用于測試車輛的系統可以縮短車輛測試時間,提高測試效率。
在本實施例的一些可選的實現方式中,上述用于車輛測試的系統100還可以包括測試場景模塊104,如圖所示,該測試場景模塊104可以用于分類存儲測試場景以及測試場景的場景數據。上述測試場景模塊104可以與上述客戶端101連接,以使上述客戶端101可以從該測試場景模塊104選取執行測試任務所需要的測試場景,形成測試場景集合。上述測試場景模塊104還可以與上述仿真執行端102連接,以使上述仿真執行機102可以從測試場景模塊104獲取該仿真執行機102被分配的測試場景的場景數據,之后,該仿真執行機102可以將上述測試場景的場景數據存儲到該仿真執行機102的本地緩存中,以便于下次需要上述測試場景的場景數據時,仿真執行機102可以直接從本地緩存中調用上述場景數據,使得仿真執行機不必每次都從測試場景模塊104獲取測試場景數據,縮短測試時間,提高測試效率。
在本實施例的一些可選的實現方式中,上述仿真服務器103還可以用于監控上述仿真執行機102的健康狀態,一旦發現仿真執行機102出現故障,仿真服務器103可以采取相應的措施解決問題,避免因仿真執行機102故障導致測試結果缺失的情況發生。例如,當上述仿真服務器103監控到正在執行測試任務的仿真執行機102中存在發生故障的仿真執行機102時,仿真服務器103可以調用正常的仿真執行機102代替上述發生故障的仿真執行機102,并控制該正常狀態的仿真執行機102重新執行上述測試任務,從而保證仿真執行機102可以在測試場景集合中的各測試場景下執行上述測試任務,保證了測試的完整性。
在本實施例的一些可選的實現方式中,上述用于車輛測試的系統100可以包括大量的仿真執行機102,上述各仿真執行機102可以相互隔離,彼此之間不通信,從而避免了各仿真執行機102在執行測試任務時發生干擾。
在本實施例的一些可選的實現的方式中,上述仿真服務器103中還可以設有等待隊列,當上述仿真服務器103接收到上述客戶端101發送的測試任務,且不存在可以執行上述測試任務的空閑狀態的仿真執行機102時,上述仿真服務器103可以將上述測試任務存儲到其設置的等待隊列中。即上述仿真服務器103還可以用于查詢上述系統100中是否存在空閑狀態的仿真執行機102。如果上述仿真服務器103確定上述系統100中存在空閑狀態的仿真執行機102,該仿真服務器103可以從中選取預設數目的仿真執行機102,并將上述測試任務發送到選取的仿真執行機102;如果上述仿真服務器103確定上述系統100中不存在空閑狀態的仿真執行機102,上述仿真服務器103可以將上述測試任務存儲到上述等待隊列中繼續查詢上述系統100中的仿真執行機102,直到確定該系統100中存在空閑狀態的仿真執行機102。上述仿真服務器103可以選取空閑狀態的仿真執行機102執行上述測試任務,以使各仿真執行機102可以負載均衡。
在本實施例的一些可選的實現方式中,上述用于車輛測試的系統100可以用于云計算環境。該系統100中的仿真執行機101的數量可以決定可以接收測試任務的數量,而用戶通常可以通過客戶端向上述仿真服務器103發送任務,因此該系統100還可以根據上述仿真執行機102的數量設置客戶端101的數量。上述客戶端101的數量和上述仿真執行機102的數量可以成正相關關系,以避免因客戶端101數量較多而造成浪費。
本申請的上述實施例提供的用于測試車輛的系統100,通過設置客戶端101、仿真執行機102、仿真服務器103,使得用戶可以利用客戶端101向仿真服務器103提交測試任務,仿真服務器103可以控制各仿真執行機102在被分配的單個測試場景下并行執行上述測試任務,縮短了測試的時間,提高了測試的效率。
繼續參考圖2,示出了根據本申請的用于車輛測試的方法的一個實施例的流程200。所述的用于車輛測試的方法,包括以下步驟:
步驟201,仿真服務器接收客戶端發送的測試任務和執行該測試任務所需要的測試場景集合。
在本實施例中,用于車輛測試的方法中的仿真服務器可以通過無線通信的方式與上述客戶端連接,上述仿真服務器可以接收客戶端發送的測試任務和執行該測試任務所需要的測試場景。這里,客戶端可以為用戶提供用于車輛測試的人機交互的界面,用戶可以在該客戶端配置車輛測試的測試任務。上述測試場景集合可以包括多個測試場景。
通常,用戶可以通過上述客戶端配置車輛的各種測試任務,例如,這里的測試任務可以為測試車輛的決策控制算法的性能。上述測試場景通常是指在特定環境中發生特定連續事件的集合,可以描述為天氣、道路結構、紅綠燈情況、障礙物信息等類別的組合。譬如一個測試場景可以描述成晴天十字路口無紅綠燈情況下,行人橫穿馬路。
在本實施例的一些可選的實現方式中,上述客戶端可以從測試場景模塊中選取執行上述測試任務所需要的測試場景構成上述測試場景集合。這里,測試場景模塊主要用于分類存儲測試場景和測試場景的場景數據。
步驟202,仿真服務器將各測試場景分別分配到第一仿真執行機,并將測試任務發送到各第一仿真執行機,以使各第一仿真執行機在單個測試場景下并行執行測試任務。
在本實施例中,上述仿真服務器可以將從上述客戶端接收到的測試任務和測試場景集合中的各測試場景分配給第一仿真執行機,這里的第一仿真執行機可以用于在單個場景下執行上述測試任務。具體地,上述仿真服務器可以將上述場景集合中的各測試場景分別分配到第一仿真執行機,之后可以將上述測試任務發送到各第一仿真執行機,最后各第一仿真執行機在其被分配的單個場景下并行執行上述測試任務。例如,上述測試場景集合中包括5個測試場景,上述仿真服務器可以將5個測試場景分別分配到5個不同的第一仿真執行機,使得每個第一仿真執行機被分配到一個測試場景,之后上述仿真服務器將測試任務發送到上述5個第一仿真執行機,最后上述5個第一仿真執行機在其被分配的測試場景下同時執行上述測試任務。可以理解的是,若上述各第一仿真執行機執行上述測試任務消耗的時間分別為t1、t2、t3、t4、t5,則該測試任務耗費的時間為t1、t2、t3、t4、t5中的最大值,而現有技術中該測試任務耗費的時間為t1、t2、t3、t4、t5的總和,由此可見,采用本實施例中的方法進行車輛測試可以縮短車輛測試的時間,提高車輛測試的效率。
在本實施例的一些可選的實現方式中,上述各第一仿真執行機之間可以相互獨立,即各第一仿真執行機相互隔離,彼此之間不通信,從而避免了各第一仿真執行機在執行測試任務時發生干擾。
在本實施例的一些可選的實現方式中,上述仿真服務器還可以實時監控上述各第一仿真執行機的健康狀態。當上述仿真服務器監控到正在執行測試任務的第一仿真執行機中存在發生故障的第一仿真執行機,該仿真服務器可以調用正常的第二仿真執行機作為第一仿真執行機代替上述發生故障的第一仿真執行機。該正常的第一仿真執行機可以重新執行上述測試任務,從而保證了各第一仿真執行機可以在測試場景集合中的所有測試場景下執行上述測試任務,保證了測試的完整性。
步驟203,仿真服務器從各第一仿真執行機獲取測試任務的測試結果。
在本實施例中,上述各第一仿真執行機在其被分配的測試場景下同時執行上述測試任務后,可以獲得對應的測試結果。上述仿真服務器可以從上述各第一仿真執行機獲取不同測試場景下測試任務的測試結果。這里的測試結果可以為行駛速度、減速時間等。
步驟204,仿真服務器將測試結果與預設的測試標準對比,生成測試任務的反饋信息,并將反饋信息發送客戶端。
在本實施例中,可以預先設置測試標準,上述仿真服務器可以從上述各第一仿真執行機獲取不同測試場景下測試任務的測試結果,之后將測試結果與上述測試標準對比,生成反饋信息。例如,上述仿真服務器獲取了在某一測試場景下車輛的行駛時間和行駛距離,該仿真服務器可以確定上述車輛的測試結果(例如平均速度),之后將該測試結果與預設的測試標準對比,可以生成測試合格或者不合格等反饋信息。上述仿真服務器可以將上述測試任務的反饋信息發送到上述客戶端,以使用戶通過客戶端確定測試車輛的性能。
本申請的上述實施例提供的用于測試車輛的方法,仿真服務器可以將客戶端發送的測試任務和測試場景集合中的各測試場景分配到多個第一仿真執行機,各第一仿真執行機在單個測試場景下并列執行上述測試任務,之后上述仿真服務器獲取上述測試任務的測試結果,并將測試結果與測試標準對比生成該測試任務的反饋信息,最后將該反饋信息發送到客戶端,完成上述測試任務,上述測試方法通過采用多個第一仿真執行機在不同測試場景下并列執行測試任務,縮短了車輛測試的時間,提高了車輛測試的效率。
進一步參考圖3,其示出了用于測試車輛的方法的又一個實施例的流程300。該用于測試車輛的方法的流程300,包括以下步驟:
步驟301,仿真服務器接收客戶端發送的測試任務和執行該測試任務所需要的測試場景集合。
在本實施例中,用于車輛測試的方法中的仿真服務器可以通過無線通信的方式與上述客戶端連接,上述仿真服務器可以接收客戶端發送的測試任務和執行該測試任務所需要的測試場景。這里,客戶端可以為用戶提供用于車輛測試的人機交互的界面,用戶可以在該客戶端配置車輛測試的測試任務。上述測試場景集合可以包括多個測試場景。
步驟302,仿真服務器查詢是否存在空閑狀態的仿真執行機。
在本實施例中,上述仿真服務器基于步驟301接收到的測試任務,以及執行該測試任務所需要的測試場景集合,該仿真服務器查詢是否存在處于空閑狀態的仿真執行機,以選取預設數目的空閑狀態的仿真執行機作為執行上述測試任務的第一仿真執行機,該方法可以使得各仿真執行機負載均衡。若上述仿真服務器確定存在空閑狀態的仿真執行機,則可以轉到步驟303;若上述仿真服務器確定不存在空閑狀態的仿真執行機,則可以轉到步驟304。
步驟303,仿真服務器從空閑狀態的仿真執行機中選取預設數目的仿真執行機作為第一仿真執行機。
在本實施例中,仿真服務器基于步驟302確定的存在空閑狀態的仿真執行機,上述仿真服務器可以從空閑狀態的仿真執行機中選取預設數目的仿真執行機作為執行上述測試任務的第一仿真執行機。
在本實施例的一些可選的實現方式中,在上述仿真服務器確定存在空閑狀態的仿真服務器的情況下,上述仿真服務器可以進一步確定空閑狀態的仿真服務器的數量。若空閑狀態的仿真執行機的數量大于或等于執行上述測試任務所需要的第一仿真執行機的數量,上述仿真服務器可以從中選取上述測試任務所需要的第一仿真執行機;若空閑狀態的仿真執行機的數量小于執行上述測試任務所需要的第一仿真執行機的數量,上述仿真服務器可以將所有的空閑狀態的仿真執行機作為第一仿真執行機,之后再繼續等待空閑狀態的仿真執行機。
步驟304,仿真服務器將測試任務存儲在等待隊列繼續查詢,直至確認存在空閑狀態的仿真執行機。
在本實施例中,上述仿真服務器可以預先設置等待隊列,該等待隊列可以用于暫時存儲測試任務。基于步驟302確定的不存在空閑狀態的仿真執行機,上述仿真服務器可以將上述測試任務存儲到上述等待隊列中,繼續查詢空閑狀態的仿真執行機,直到確認存在空閑狀態的仿真執行機,則可以轉到步驟303,即上述仿真服務器可以從空閑狀態的仿真執行機中確定預設數目的仿真執行機作為執行上述測試任務的第一仿真執行機。
步驟305,仿真服務器將各測試場景分別分配到第一仿真執行機,并將測試任務發送到各第一仿真執行機。
在本實施例中,基于步驟303或304中確定的用于執行上述測試任務的第一仿真執行機,上述仿真服務器可以將接收到的測試場景集合中的各測試場景分配到上述第一仿真執行機,之后上述仿真服務器可以將接收到的測試任務發送到上述各第一仿真執行機,以便于各第一仿真執行機在不同的測試場景下執行上述測試任務。。
步驟306,第一仿真執行機判斷本地緩存中是否存在該第一仿真執行機被分配的測試場景的場景數據。
在本實施例中,上述第一仿真執行機被分配測試場景后,該第一仿真執行機可以在本地緩存中查找是否存在上述分配的測試場景的場景數據。若上述第一仿真執行機的本地緩存中存在上述測試場景的場景數據,則轉到步驟307;若上述第一仿真執行機的本地緩存中不存在上述測試場景的場景數據,則轉到步驟308。
步驟307,第一仿真執行機從本地緩存中獲取測試場景的場景數據。
在本實施例中,基于步驟306確定的上述第一仿真執行機的本地緩存中存在上述測試場景的場景數據,該第一仿真執行機可以從本地緩存中獲取該第一仿真執行機被分配的測試場景的場景數據。
步驟308,第一仿真執行機從測試場景模塊中獲取測試場景的場景數據,并將測試場景的場景數據存儲到本地緩存。
在本實施例中,基于步驟306確定的上述第一仿真執行機的本地緩存中不存在上述測試場景的場景數據,該第一仿真執行機可以從上述測試場景模塊獲取其被分配的測試場景的場景數據。之后將所獲取的測試場景的場景數據存儲到該第一仿真執行機的本地緩存中,以便于下次需要上述測試場景的場景數據時,上述第一仿真執行機可以直接從本地緩存中調用上述場景數據。提高了第一仿真執行機執行測試任務的效率。
步驟309,各第一仿真執行機在單個測試場景下并行執行測試任務,仿真服務器從各第一仿真執行機獲取測試任務的測試結果。
在本實施例中,上述各第一仿真執行機在獲取其被分配的測試場景的場景數據及測試任務后,各第一仿真執行機并列執行上述測試任務,并生成測試結果。之后,上述仿真服務器可以從各第一仿真執行機獲取上述測試任務的測試結果。可以理解的是,若存在5個第一仿真執行機在5個不同的測試場景下同時執行測試任務,且上述5個第一執行機執行測試任務消耗的時間分別為t1、t2、t3、t4、t5,則該測試任務耗費的時間為t1、t2、t3、t4、t5中的最大值,而現有技術中該測試任務耗費的時間為t1、t2、t3、t4、t5的總和。由此可見,采用本實施例中的方法進行車輛測試可以縮短車輛測試的時間,提高車輛測試的效率。
步驟310,仿真服務器將測試結果與預設的測試標準對比,生成測試任務的反饋信息,并將反饋信息發送客戶端。
在本實施例中,可以預先設置測試標準,上述仿真服務器可以從上述各第一仿真執行機獲取不同測試場景下測試任務的測試結果,之后將測試結果與上述測試標準對比,生成反饋信息。
例如,上述仿真服務器獲取了在某一測試場景下車輛的行駛時間和行駛距離,該仿真服務器可以確定上述車輛的測試結果(例如平均速度),之后將該測試結果與預設的測試標準對比,可以生成測試合格或者不合格等反饋信息。上述仿真服務器可以將上述測試任務的反饋信息發送到上述客戶端,以使用戶通過客戶端確定測試車輛的性能。
從圖3中可以看出,與圖2對應的實施例相比,本實施例中的用于測試車輛的方法的流程300突出了仿真服務器查詢空閑狀態的仿真執行機的步驟,以及第一仿真執行機判斷本地緩存中是否存在被分配的測試場景的場景數據的步驟。由此,本實施例描述的方案可以選取空閑狀態的仿真執行機作為執行測試任務的第一仿真執行機,使得各仿真執行機負載均衡;并且該第一仿真執行機可以從本地緩存中直接獲取測試場景的場景數據,提高了測試的效率。
下面參考圖4,其示出了適于用來實現本申請實施例的客戶端設備或仿真服務器的計算機系統400的結構示意圖。
如圖4所示,計算機系統400包括中央處理單元(CPU)401,其可以根據存儲在只讀存儲器(ROM)402中的程序或者從存儲部分408加載到隨機訪問存儲器(RAM)403中的程序而執行各種適當的動作和處理。在RAM 403中,還存儲有系統400操作所需的各種程序和數據。CPU 401、ROM 402以及RAM 403通過總線404彼此相連。輸入/輸出(I/O)接口405也連接至總線404。
以下部件連接至I/O接口405:包括鍵盤、鼠標等的輸入部分406;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚聲器等的輸出部分407;包括硬盤等的存儲部分408;以及包括諸如LAN卡、調制解調器等的網絡接口卡的通信部分409。通信部分409經由諸如因特網的網絡執行通信處理。驅動器410也根據需要連接至I/O接口405。可拆卸介質411,諸如磁盤、光盤、磁光盤、半導體存儲器等等,根據需要安裝在驅動器410上,以便于從其上讀出的計算機程序根據需要被安裝入存儲部分408。
特別地,根據本公開的實施例,上文參考流程圖描述的過程可以被實現為計算機軟件程序。例如,本公開的實施例包括一種計算機程序產品,其包括有形地包含在機器可讀介質上的計算機程序,所述計算機程序包含用于執行流程圖所示的方法的程序代碼。在這樣的實施例中,該計算機程序可以通過通信部分409從網絡上被下載和安裝,和/或從可拆卸介質411被安裝。
附圖中的流程圖和框圖,圖示了按照本申請各種實施例的系統、方法和計算機程序產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用于實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標注的功能也可以以不同于附圖中所標注的順序發生。例如,兩個接連地表示的方框實際上可以基本并行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基于硬件的系統來實現,或者可以用專用硬件與計算機指令的組合來實現。
作為另一方面,本申請還提供了一種非易失性計算機存儲介質,該非易失性計算機存儲介質可以是上述實施例中所述系統中所包含的非易失性計算機存儲介質;也可以是單獨存在,未裝配入客戶端中的非易失性計算機存儲介質。上述非易失性計算機存儲介質存儲有一個或者多個程序,當所述一個或者多個程序被一個設備執行時,例如所述設備為仿真服務器:仿真服務器接收客戶端發送的測試任務和執行該測試任務所需要的測試場景集合,其中,所述測試場景集合包括多個測試場景,所述客戶端用于為用戶提供人機交互的界面,以使所述用戶在所述客戶端配置所述測試任務;所述仿真服務器將各所述測試場景分別分配到第一仿真執行機,并將所述測試任務發送到各所述第一仿真執行機,以使各所述第一仿真執行機在單個測試場景下并行執行所述測試任務;所述仿真服務器從各所述第一仿真執行機獲取所述測試任務的測試結果;所述仿真服務器將所述測試結果與預設的測試標準對比,生成所述測試任務的反饋信息,并將所述反饋信息發送到所述客戶端。
以上描述僅為本申請的較佳實施例以及對所運用技術原理的說明。本領域技術人員應當理解,本申請中所涉及的發明范圍,并不限于上述技術特征的特定組合而成的技術方案,同時也應涵蓋在不脫離所述發明構思的情況下,由上述技術特征或其等同特征進行任意組合而形成的其它技術方案。例如上述特征與本申請中公開的(但不限于)具有類似功能的技術特征進行互相替換而形成的技術方案。