本發(fā)明涉及云網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種基于云平臺(tái)的測(cè)試方法和系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)產(chǎn)品業(yè)務(wù)不斷拓展,各類(lèi)業(yè)務(wù)產(chǎn)品的開(kāi)發(fā)速度越來(lái)越快,為了保證在快節(jié)奏的開(kāi)發(fā)過(guò)程中,業(yè)務(wù)產(chǎn)品的上線(xiàn)質(zhì)量,需要測(cè)試人員進(jìn)行大量測(cè)試工作,并且對(duì)于不同領(lǐng)域、功能的業(yè)務(wù)產(chǎn)品,其復(fù)雜程度也有所不同,因此對(duì)測(cè)試人員的技能要求也越來(lái)越高。
目前各大運(yùn)營(yíng)商都推出了不同類(lèi)型的云測(cè)試服務(wù)平臺(tái),以便為各大電商提供云測(cè)試服務(wù)。其中很多都是采用eclipsercp平臺(tái)開(kāi)發(fā),屬于富客戶(hù)端、c/s架構(gòu)的測(cè)試工具。在使用過(guò)程中,由用戶(hù)需要下載并安裝云測(cè)試服務(wù)平臺(tái)提供的客戶(hù)端和工具包到本地,并由技術(shù)人員編輯測(cè)試腳本,再申請(qǐng)計(jì)算資源本地運(yùn)行測(cè)試腳本。
但是,測(cè)試腳本的編輯具備一定的難度,往往需要具有豐富經(jīng)驗(yàn)的技術(shù)人員進(jìn)行,并且需要跟隨業(yè)務(wù)產(chǎn)品的版本升級(jí)不斷進(jìn)行修改更新,這就需要云測(cè)試服務(wù)平臺(tái)的用戶(hù)消耗本地的資源保持維護(hù)測(cè)試腳本,提高了運(yùn)營(yíng)成本,并且還需要維持一定規(guī)模的技術(shù)團(tuán)隊(duì)參與腳本的設(shè)計(jì)、管理和維護(hù),人工成本較大,也提高了運(yùn)營(yíng)成本。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供一種基于云平臺(tái)的測(cè)試方法和系統(tǒng),能夠節(jié)約本地計(jì)算資源并降低人工成本。
為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:
第一方面,本發(fā)明的實(shí)施例提供一種基于云平臺(tái)的測(cè)試方法,包括:
服務(wù)器系統(tǒng)接收用戶(hù)設(shè)備發(fā)送的測(cè)試請(qǐng)求信息,所述測(cè)試請(qǐng)求信息包括:腳本參數(shù)信息和環(huán)境參數(shù)信息,所述腳本參數(shù)信息用于描述測(cè)試所需使用的腳本,所述環(huán)境參數(shù)信息用于描述測(cè)試所需使用的測(cè)試環(huán)境;
根據(jù)所述腳本參數(shù)信息從腳本池中獲取測(cè)試腳本,并根據(jù)所述環(huán)境參數(shù)信息選取測(cè)試集群,所述測(cè)試集群包括至少兩臺(tái)執(zhí)行機(jī);
在所述測(cè)試集群運(yùn)行所述測(cè)試腳本,并將獲取的測(cè)試結(jié)果向所述用戶(hù)設(shè)備發(fā)送。
結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述測(cè)試請(qǐng)求信息由所述用戶(hù)設(shè)備根據(jù)設(shè)置信息生成,所述設(shè)置信息由所述用戶(hù)設(shè)備根據(jù)用戶(hù)在可視化操作界面的操作結(jié)果生成;
所述操作結(jié)果包括:所述用戶(hù)設(shè)備記錄的用戶(hù)設(shè)置的腳本參數(shù)信息,和所述用戶(hù)設(shè)備記錄的用戶(hù)設(shè)置的環(huán)境參數(shù)信息。
結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述根據(jù)所述環(huán)境參數(shù)信息選取測(cè)試集群,包括:
根據(jù)所述環(huán)境參數(shù)信息,從執(zhí)行機(jī)資源池中得到所述環(huán)境參數(shù)信息所對(duì)應(yīng)型號(hào)和數(shù)量的執(zhí)行機(jī),所述執(zhí)行機(jī)資源池包括:與所述服務(wù)器系統(tǒng)連接的執(zhí)行機(jī)和與所述用戶(hù)設(shè)備連接的執(zhí)行機(jī)。
結(jié)合第一方面,在第一方面的第三種可能的實(shí)現(xiàn)方式中,還包括:
所述服務(wù)器系統(tǒng)接收所述用戶(hù)設(shè)備上傳的腳本;
從所述上傳的腳本中提取特征信息并記錄,并將所述上傳的腳本存儲(chǔ)在所述腳本池,所述特征信息用于表示測(cè)試腳本的對(duì)應(yīng)的應(yīng)用程序和功能類(lèi)型。
結(jié)合第一方面或第一方面的第一至三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,還包括:
根據(jù)所述腳本參數(shù)信息確定維度信息,所述維度信息包括在所述測(cè)試結(jié)果中用于表示腳本的測(cè)試數(shù)據(jù)和參數(shù)的種類(lèi);
根據(jù)所述維度信息和所述測(cè)試結(jié)果,生成測(cè)試統(tǒng)計(jì)數(shù)據(jù),并將所述測(cè)試統(tǒng)計(jì)數(shù)據(jù)向所述用戶(hù)設(shè)備發(fā)送,以便于所述用戶(hù)設(shè)備將測(cè)試統(tǒng)計(jì)數(shù)據(jù)顯示在所述用戶(hù)設(shè)備的可視化操作界面。
第二方面,本發(fā)明的實(shí)施例提供一種基于云平臺(tái)的測(cè)試系統(tǒng),包括:
用戶(hù)設(shè)備,用于向服務(wù)器系統(tǒng)發(fā)送的測(cè)試請(qǐng)求信息,所述測(cè)試請(qǐng)求信息包括:腳本參數(shù)信息和環(huán)境參數(shù)信息,所述腳本參數(shù)信息用于描述測(cè)試所需使用的腳本,所述環(huán)境參數(shù)信息用于描述測(cè)試所需使用的測(cè)試環(huán)境;
所述服務(wù)器系統(tǒng),用于根據(jù)所述腳本參數(shù)信息從腳本池中獲取測(cè)試腳本,并根據(jù)所述環(huán)境參數(shù)信息選取測(cè)試集群,所述測(cè)試集群包括至少兩臺(tái)執(zhí)行機(jī);
所述測(cè)試集群,用于運(yùn)行所述測(cè)試腳本;
所述服務(wù)器系統(tǒng),還用于監(jiān)控所述測(cè)試集群運(yùn)行所述測(cè)試腳本的運(yùn)行狀態(tài),并將獲取的測(cè)試結(jié)果向所述用戶(hù)設(shè)備發(fā)送。
結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述用戶(hù)設(shè)備,具體用于根據(jù)設(shè)置信息生成所述測(cè)試請(qǐng)求信息,所述設(shè)置信息由所述用戶(hù)設(shè)備根據(jù)用戶(hù)在可視化操作界面的操作結(jié)果生成,所述操作結(jié)果包括:所述用戶(hù)設(shè)備記錄的用戶(hù)設(shè)置的腳本參數(shù)信息,和所述用戶(hù)設(shè)備記錄的用戶(hù)設(shè)置的環(huán)境參數(shù)信息。
結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,所述服務(wù)器系統(tǒng),具體用于根據(jù)所述環(huán)境參數(shù)信息,從執(zhí)行機(jī)資源池中得到所述環(huán)境參數(shù)信息所對(duì)應(yīng)型號(hào)和數(shù)量的執(zhí)行機(jī),所述執(zhí)行機(jī)資源池包括:與所述服務(wù)器系統(tǒng)連接的執(zhí)行機(jī)和與所述用戶(hù)設(shè)備連接的執(zhí)行機(jī)。
結(jié)合第二方面,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述服務(wù)器系統(tǒng),還用于接收所述用戶(hù)設(shè)備上傳的腳本;并從所述上傳的腳本中提取特征信息并記錄,并將所述上傳的腳本存儲(chǔ)在所述腳本池,所述特征信息用于表示測(cè)試腳本的對(duì)應(yīng)的應(yīng)用程序和功能類(lèi)型。
結(jié)合第二方面或第二方面的第一至三種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,所述服務(wù)器系統(tǒng),還用于根據(jù)所述腳本參數(shù)信息確定維度信息,所述維度信息包括在所述測(cè)試結(jié)果中用于表示腳本的測(cè)試數(shù)據(jù)和參數(shù)的種類(lèi);并根據(jù)所述維度信息和所述測(cè)試結(jié)果,生成測(cè)試統(tǒng)計(jì)數(shù)據(jù),并將所述測(cè)試統(tǒng)計(jì)數(shù)據(jù)向所述用戶(hù)設(shè)備發(fā)送;
所述用戶(hù)設(shè)備,還用于將測(cè)試統(tǒng)計(jì)數(shù)據(jù)顯示在所述可視化操作界面。
本發(fā)明實(shí)施例提供的基于云平臺(tái)的測(cè)試方法和系統(tǒng),通過(guò)云測(cè)試平臺(tái)的服務(wù)器系統(tǒng)保存測(cè)試腳本,并通過(guò)用戶(hù)設(shè)備根據(jù)用戶(hù)設(shè)定并生成的測(cè)試請(qǐng)求信息的,選取對(duì)應(yīng)的測(cè)試腳本和所需的測(cè)試集群,完成測(cè)試過(guò)程并向用戶(hù)設(shè)備反饋測(cè)試結(jié)果。相對(duì)于現(xiàn)有技術(shù)中,需要用戶(hù)本地編輯并保存測(cè)試腳本的云測(cè)試方案,本發(fā)明實(shí)施例的方案中測(cè)試人員只需通過(guò)可視化界面進(jìn)行相應(yīng)設(shè)置并向云測(cè)試平臺(tái)的服務(wù)器系統(tǒng)發(fā)送相應(yīng)的測(cè)試請(qǐng)求信息,云測(cè)試平臺(tái)則自動(dòng)調(diào)用測(cè)試腳本和測(cè)試集群并完成測(cè)試過(guò)程,從而節(jié)約了用戶(hù)設(shè)備本地的存儲(chǔ)資源,并且實(shí)現(xiàn)由云測(cè)試平臺(tái)承擔(dān)測(cè)試過(guò)程,從而節(jié)約了用戶(hù)設(shè)備本地的計(jì)算資源,還實(shí)現(xiàn)了用戶(hù)直接通過(guò)設(shè)置調(diào)用腳本,避免了用戶(hù)親自編輯腳本,節(jié)省了技術(shù)人員的時(shí)間和精力。因此節(jié)約了本地計(jì)算資源的同時(shí)并降低人工成本,從而極大的降低了運(yùn)營(yíng)成本。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明實(shí)施例提供的云測(cè)試平臺(tái)的架構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的基于云平臺(tái)的測(cè)試方法的流程圖;
圖3a、圖3b為本發(fā)明實(shí)施例提供的具體實(shí)例的示意圖;
圖4a為本發(fā)明實(shí)施例提供的基于云平臺(tái)的測(cè)試系統(tǒng)的結(jié)構(gòu)示意圖;
圖4b為本發(fā)明實(shí)施例提供的基于云平臺(tái)的測(cè)試系統(tǒng)的交互流程示意圖。
具體實(shí)施方式
為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明的技術(shù)方案,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述。下文中將詳細(xì)描述本發(fā)明的實(shí)施方式,所述實(shí)施方式的示例在附圖中示出,其中自始至終相同或類(lèi)似的標(biāo)號(hào)表示相同或類(lèi)似的元件或具有相同或類(lèi)似功能的元件。下面通過(guò)參考附圖描述的實(shí)施方式是示例性的,僅用于解釋本發(fā)明,而不能解釋為對(duì)本發(fā)明的限制。本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非特意聲明,這里使用的單數(shù)形式“一”、“一個(gè)”、“所述”和“該”也可包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,本發(fā)明的說(shuō)明書(shū)中使用的措辭“包括”是指存在所述特征、整數(shù)、步驟、操作、元件和/或組件,但是并不排除存在或添加一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或它們的組。應(yīng)該理解,當(dāng)我們稱(chēng)元件被“連接”或“耦接”到另一元件時(shí),它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無(wú)線(xiàn)連接或耦接。這里使用的措辭“和/或”包括一個(gè)或更多個(gè)相關(guān)聯(lián)的列出項(xiàng)的任一單元和全部組合。本技術(shù)領(lǐng)域技術(shù)人員可以理解,除非另外定義,這里使用的所有術(shù)語(yǔ)(包括技術(shù)術(shù)語(yǔ)和科學(xué)術(shù)語(yǔ))具有與本發(fā)明所屬領(lǐng)域中的普通技術(shù)人員的一般理解相同的意義。還應(yīng)該理解的是,諸如通用字典中定義的那些術(shù)語(yǔ)應(yīng)該被理解為具有與現(xiàn)有技術(shù)的上下文中的意義一致的意義,并且除非像這里一樣定義,不會(huì)用理想化或過(guò)于正式的含義來(lái)解釋。
本實(shí)施例中的方法流程,具體可以由云測(cè)試平臺(tái)中的由多個(gè)服務(wù)器組成的后臺(tái)服務(wù)系統(tǒng)執(zhí)行,其中:云測(cè)試平臺(tái)還可以向用戶(hù)設(shè)備提供腳本的測(cè)試工具和編寫(xiě)工具;云測(cè)試平臺(tái)還包括用于向用戶(hù)設(shè)備展現(xiàn)可視化界面的前端服務(wù)器,由前端服務(wù)器于用戶(hù)設(shè)備直接交互并將由用戶(hù)設(shè)備發(fā)送的數(shù)據(jù)或信息向后臺(tái)服務(wù)系統(tǒng)傳輸;在云測(cè)試平臺(tái)中,由后臺(tái)服務(wù)系統(tǒng)同一管理測(cè)試集群,其中,測(cè)試集群包括至少兩臺(tái)執(zhí)行機(jī)。例如:在如圖1所示的云測(cè)試平臺(tái)中,由前端服務(wù)器接收用戶(hù)設(shè)備發(fā)送的測(cè)試請(qǐng)求信息,以及接收用戶(hù)編寫(xiě)并上傳的測(cè)試腳本,并將測(cè)試請(qǐng)求信息和用戶(hù)上傳的測(cè)試腳本向后臺(tái)服務(wù)系統(tǒng)發(fā)送;后臺(tái)服務(wù)系統(tǒng)根據(jù)測(cè)試請(qǐng)求信息提取測(cè)試請(qǐng)求信息指向的測(cè)試腳本并創(chuàng)建測(cè)試任務(wù),或是直接根據(jù)用戶(hù)上傳的測(cè)試腳本創(chuàng)建測(cè)試任務(wù),并且在創(chuàng)建測(cè)試任務(wù)的過(guò)程中從測(cè)試集群中篩選用于測(cè)試的執(zhí)行機(jī),并根據(jù)測(cè)試腳本將需要進(jìn)行測(cè)試的業(yè)務(wù)程序、apk等數(shù)據(jù)向用于測(cè)試的執(zhí)行機(jī)發(fā)送,并指令用于測(cè)試的執(zhí)行機(jī)加載業(yè)務(wù)程序或安裝app。進(jìn)一步的,后臺(tái)服務(wù)系統(tǒng)中的服務(wù)器可以根據(jù)在測(cè)試過(guò)程中承擔(dān)的具體功能,劃分為用于調(diào)度執(zhí)行機(jī)的調(diào)度服務(wù)器、用于存儲(chǔ)腳本池的數(shù)據(jù)庫(kù)服務(wù)器(也用于將用戶(hù)上傳的腳本存儲(chǔ)在腳本池中)、用于生成測(cè)試結(jié)果的報(bào)表日志服務(wù)器、mock服務(wù)器和用于處理所傳輸數(shù)據(jù)的webdav(web-baseddistributedauthoringandversioning,一種基于http1.1協(xié)議的通信協(xié)議)服務(wù)器等。其中,用戶(hù)設(shè)備也可以直接與后臺(tái)服務(wù)系統(tǒng)進(jìn)行通信,比如可以將用戶(hù)編寫(xiě)的腳本直接上傳數(shù)據(jù)庫(kù)服務(wù)器。
本實(shí)施例中所述的執(zhí)行機(jī)具體可以包括運(yùn)行了各種不同操作系統(tǒng)的硬件設(shè)備,比如:運(yùn)行ie、chrome或是firefox的計(jì)算機(jī)設(shè)備,還可以是運(yùn)行安卓、ios和windowsphone系統(tǒng)的智能手機(jī)、pad等移動(dòng)終端設(shè)備或是運(yùn)行了各種不同操作系統(tǒng)虛擬機(jī),比如:在具有較強(qiáng)計(jì)算能力的服務(wù)器上建立的多個(gè)虛擬機(jī)組成的集群。其中,“運(yùn)行了各種不同操作系統(tǒng)”可以理解為:設(shè)備或是虛擬機(jī)上所運(yùn)行的操作系統(tǒng)完全不相同,比如一部智能手機(jī)運(yùn)行ios,另一部智能手機(jī)運(yùn)行windowsphone;還可以理解為設(shè)備或是虛擬機(jī)上所運(yùn)行的版本不相同的操作系統(tǒng),比如一部智能手機(jī)運(yùn)行安卓4.1系統(tǒng),另外兩部智能手機(jī)分別運(yùn)行安卓4.0和安卓4.4系統(tǒng)。
本發(fā)明實(shí)施例提供一種基于云平臺(tái)的測(cè)試方法,如圖2所示,包括:
s1、服務(wù)器系統(tǒng)接收用戶(hù)設(shè)備發(fā)送的測(cè)試請(qǐng)求信息。
其中,所述測(cè)試請(qǐng)求信息包括:腳本參數(shù)信息和環(huán)境參數(shù)信息,所述腳本參數(shù)信息用于描述測(cè)試所需使用的腳本,所述環(huán)境參數(shù)信息用于描述測(cè)試所需使用的測(cè)試環(huán)境。在本實(shí)施例中,由云測(cè)試平臺(tái)的向用戶(hù)設(shè)備提供測(cè)試服務(wù),并在云測(cè)試平臺(tái)的服務(wù)器系統(tǒng)中存儲(chǔ)已編輯的測(cè)試腳本,或者是接收并存儲(chǔ)用戶(hù)編輯的測(cè)試腳本,其中,測(cè)試腳本用于針對(duì)待測(cè)試程序的特定功能或特定組件進(jìn)行功能測(cè)試,測(cè)試腳本的具體類(lèi)型包括:錄制腳本、sat腳本、自定義腳本等。
s2、根據(jù)所述腳本參數(shù)信息從腳本池中獲取測(cè)試腳本,并根據(jù)所述環(huán)境參數(shù)信息選取測(cè)試集群。
其中,腳本參數(shù)信息所指向的腳本可以是存儲(chǔ)在服務(wù)器系統(tǒng)的腳本池中的測(cè)試腳本,也可以是由用戶(hù)預(yù)先編輯完成并提交給服務(wù)器系統(tǒng)的測(cè)試腳本,還可以是由其他用戶(hù)編輯完成并提交給服務(wù)器系統(tǒng)的測(cè)試腳本。所述環(huán)境參數(shù)信息用于表示所需選取的執(zhí)行機(jī)的性能參數(shù)和屬性參數(shù),例如:環(huán)境參數(shù)信息的具體內(nèi)容可以包括:用于測(cè)試的執(zhí)行機(jī)的數(shù)量、型號(hào);和/或,各個(gè)執(zhí)行機(jī)的優(yōu)先級(jí)關(guān)系;和/或,各個(gè)執(zhí)行機(jī)的來(lái)源,其中,執(zhí)行機(jī)的來(lái)源包括:與所述服務(wù)器系統(tǒng)連接的執(zhí)行機(jī)和與所述用戶(hù)設(shè)備連接的執(zhí)行機(jī)。
s3、在所述測(cè)試集群運(yùn)行所述測(cè)試腳本,并將獲取的測(cè)試結(jié)果向所述用戶(hù)設(shè)備發(fā)送。
其中,服務(wù)器系統(tǒng)自動(dòng)生成的測(cè)試結(jié)果包括多個(gè)維度的參數(shù),且測(cè)試結(jié)果中所顯示的維度可以由用戶(hù)在用戶(hù)設(shè)備的可視化界面進(jìn)行設(shè)置,其中,可視化界面可以基于現(xiàn)有的瀏覽器架構(gòu)進(jìn)行設(shè)計(jì)。例如:在可視化界面中顯示當(dāng)前云測(cè)試平臺(tái)支持的穩(wěn)定性測(cè)試服務(wù),并由用戶(hù)上傳待測(cè)app到云測(cè)試平臺(tái)的服務(wù)器系統(tǒng),由云測(cè)試平臺(tái)將待測(cè)app自動(dòng)安裝到測(cè)試集群的執(zhí)行機(jī)中。在本實(shí)施例中,服務(wù)器系統(tǒng)也可以將測(cè)試結(jié)果向預(yù)先設(shè)定的指定設(shè)備發(fā)送。
在本實(shí)施例中,所述測(cè)試請(qǐng)求信息由所述用戶(hù)設(shè)備根據(jù)設(shè)置信息生成,所述設(shè)置信息由所述用戶(hù)設(shè)備根據(jù)用戶(hù)在可視化操作界面的操作結(jié)果生成。
其中,所述操作結(jié)果包括:所述用戶(hù)設(shè)備記錄的用戶(hù)設(shè)置的腳本參數(shù)信息,和所述用戶(hù)設(shè)備記錄的用戶(hù)設(shè)置的環(huán)境參數(shù)信息。例如:1、在如圖3a所示的可視化界面中,用戶(hù)可以設(shè)定測(cè)試計(jì)劃列表,并在相應(yīng)的測(cè)試計(jì)劃中設(shè)置腳本,比如:腳本列表中名稱(chēng)參數(shù)為tc02_001、ts_002腳本,用戶(hù)設(shè)備記錄用戶(hù)的設(shè)置結(jié)果為腳本參數(shù)信息;2、在如圖3b所示的可視化界面中,用戶(hù)可以設(shè)定測(cè)試集群中的執(zhí)行機(jī)的設(shè)備類(lèi)型、系統(tǒng)版本、分辨率、品牌類(lèi)型、終端型號(hào)等參數(shù)信息,用戶(hù)設(shè)備記錄用戶(hù)的設(shè)置結(jié)果為環(huán)境參數(shù)信息;3、用戶(hù)可以設(shè)定測(cè)試任務(wù)的執(zhí)行時(shí)間(也可以設(shè)定立即執(zhí)行,即云測(cè)試平臺(tái)接收到本條測(cè)試請(qǐng)求信息后立即開(kāi)始執(zhí)行本次測(cè)試過(guò)程),測(cè)試任務(wù)的名稱(chēng)和測(cè)試結(jié)果的接受地址,其中測(cè)試結(jié)果的接受地址默認(rèn)可以是用戶(hù)設(shè)備本地,也可以是用戶(hù)自定義的電子郵箱地址或是其他設(shè)備。
在本實(shí)施例中,進(jìn)行測(cè)試所用的測(cè)試集群,也可以包括用戶(hù)設(shè)備本地的執(zhí)行機(jī),因此所述根據(jù)所述環(huán)境參數(shù)信息選取測(cè)試集群為:服務(wù)器系統(tǒng)根據(jù)所述環(huán)境參數(shù)信息,從執(zhí)行機(jī)資源池中得到所述環(huán)境參數(shù)信息所對(duì)應(yīng)型號(hào)和數(shù)量的執(zhí)行機(jī)。
其中,所述執(zhí)行機(jī)資源池包括:與所述服務(wù)器系統(tǒng)連接的執(zhí)行機(jī)和與所述用戶(hù)設(shè)備連接的執(zhí)行機(jī)。在本實(shí)施例中,測(cè)試集群中的執(zhí)行機(jī)的來(lái)源包括:與所述服務(wù)器系統(tǒng)連接的執(zhí)行機(jī)和與所述用戶(hù)設(shè)備連接的執(zhí)行機(jī)。其中,與所述用戶(hù)設(shè)備連接的執(zhí)行機(jī)也可稱(chēng)為“外圍真機(jī)”,是與用戶(hù)設(shè)備連接并由用戶(hù)設(shè)備管理的執(zhí)行機(jī),當(dāng)用戶(hù)設(shè)備接入云測(cè)試平臺(tái)后,可以將外圍真機(jī)在服務(wù)器系統(tǒng)中注冊(cè),并由服務(wù)器系統(tǒng)集中管控,并在測(cè)試執(zhí)行過(guò)程中服務(wù)器系統(tǒng)向外圍真機(jī)發(fā)送測(cè)試命令,從而可以充分利用用戶(hù)本地已有的執(zhí)行機(jī)。從而實(shí)現(xiàn)本地的執(zhí)行機(jī)資源與云測(cè)試平臺(tái)的執(zhí)行機(jī)資源的共享。在實(shí)際應(yīng)用中,當(dāng)多個(gè)用戶(hù)同時(shí)提供各自本地的執(zhí)行機(jī)資源時(shí),進(jìn)一步提升了執(zhí)行機(jī)資源池的規(guī)模,從而實(shí)現(xiàn)更大規(guī)模的測(cè)試,提高本實(shí)施例方案的應(yīng)用范圍。
在本實(shí)施例中,腳本池中還包括由用戶(hù)預(yù)先編輯完成并提交給服務(wù)器系統(tǒng)的測(cè)試腳本,以及由其他用戶(hù)編輯完成并提交給服務(wù)器系統(tǒng)的測(cè)試腳本。因此本實(shí)施例的方案還包括:
所述服務(wù)器系統(tǒng)接收所述用戶(hù)設(shè)備上傳的腳本。
從所述上傳的腳本中提取特征信息并記錄,并將所述上傳的腳本存儲(chǔ)在所述腳本池。
其中,所述特征信息用于表示測(cè)試腳本的對(duì)應(yīng)的應(yīng)用程序和功能類(lèi)型。具體的,所述特征信息可以包括腳本所對(duì)應(yīng)的應(yīng)用程序的名稱(chēng)信息、作者信息程序版本號(hào)等用于識(shí)別參與測(cè)試的應(yīng)用程序或app的信息,還包括負(fù)載監(jiān)控、點(diǎn)擊量統(tǒng)計(jì)等用于識(shí)別參與測(cè)試的應(yīng)用程序具體被測(cè)試功能的信息。
在本實(shí)施例中,云測(cè)試平臺(tái)可以向用戶(hù)設(shè)備提供錄制工具,所述錄制工具用于自動(dòng)記錄用戶(hù)的操作路徑(例如:安卓錄制和firefoxweb),生成相應(yīng)的測(cè)試腳本并上傳云測(cè)試平臺(tái)主要應(yīng)用于需要進(jìn)行流程錄制回放的測(cè)試腳本。云測(cè)試平臺(tái)的服務(wù)器系統(tǒng)可以自動(dòng)截取所錄制腳本中的操作路徑截圖,用于驗(yàn)證驗(yàn)證針對(duì)應(yīng)用程序設(shè)計(jì)的操作流程是否正常走通。
在本實(shí)施例中,還包括:
根據(jù)所述腳本參數(shù)信息確定維度信息,所述維度信息包括在所述測(cè)試結(jié)果中用于表示腳本的測(cè)試數(shù)據(jù)和參數(shù)的種類(lèi)。
根據(jù)所述維度信息和所述測(cè)試結(jié)果,生成測(cè)試統(tǒng)計(jì)數(shù)據(jù),并將所述測(cè)試統(tǒng)計(jì)數(shù)據(jù)向所述用戶(hù)設(shè)備發(fā)送,以便于所述用戶(hù)設(shè)備將測(cè)試統(tǒng)計(jì)數(shù)據(jù)顯示在所述用戶(hù)設(shè)備的可視化操作界面。其中,在用戶(hù)設(shè)備提供的可視化界面,主要展示測(cè)試類(lèi)型、執(zhí)行記錄名稱(chēng)、執(zhí)行時(shí)間、狀態(tài)、操作路徑等測(cè)試參數(shù)。需要展示的測(cè)試參數(shù)對(duì)應(yīng)于用戶(hù)設(shè)定的腳本參數(shù)信息和環(huán)境參數(shù)信息。
本發(fā)明實(shí)施例提供的基于云平臺(tái)的測(cè)試方法,通過(guò)云測(cè)試平臺(tái)的服務(wù)器系統(tǒng)保存測(cè)試腳本,并通過(guò)用戶(hù)設(shè)備根據(jù)用戶(hù)設(shè)定并生成的測(cè)試請(qǐng)求信息的,選取對(duì)應(yīng)的測(cè)試腳本和所需的測(cè)試集群,完成測(cè)試過(guò)程并向用戶(hù)設(shè)備反饋測(cè)試結(jié)果。相對(duì)于現(xiàn)有技術(shù)中,需要用戶(hù)本地編輯并保存測(cè)試腳本的云測(cè)試方案,本發(fā)明實(shí)施例的方案中測(cè)試人員只需通過(guò)可視化界面進(jìn)行相應(yīng)設(shè)置并向云測(cè)試平臺(tái)的服務(wù)器系統(tǒng)發(fā)送相應(yīng)的測(cè)試請(qǐng)求信息,云測(cè)試平臺(tái)則自動(dòng)調(diào)用測(cè)試腳本和測(cè)試集群并完成測(cè)試過(guò)程。從而節(jié)約了用戶(hù)設(shè)備本地的存儲(chǔ)資源,并且實(shí)現(xiàn)由云測(cè)試平臺(tái)承擔(dān)測(cè)試過(guò)程,從而節(jié)約了用戶(hù)設(shè)備本地的計(jì)算資源,還實(shí)現(xiàn)了用戶(hù)直接通過(guò)設(shè)置調(diào)用腳本。避免了用戶(hù)親自編輯腳本,節(jié)省了技術(shù)人員的時(shí)間和精力,因此極大的降低了運(yùn)營(yíng)成本。
本發(fā)明實(shí)施例還提供一種基于云平臺(tái)的測(cè)試系統(tǒng),如圖4a所述的連接關(guān)系和如圖4b所示交互流程,該測(cè)試系統(tǒng)包括:
用戶(hù)設(shè)備,用于向服務(wù)器系統(tǒng)發(fā)送的測(cè)試請(qǐng)求信息,所述測(cè)試請(qǐng)求信息包括:腳本參數(shù)信息和環(huán)境參數(shù)信息,所述腳本參數(shù)信息用于描述測(cè)試所需使用的腳本,所述環(huán)境參數(shù)信息用于描述測(cè)試所需使用的測(cè)試環(huán)境。其中,如圖4a所示的本地設(shè)備包括用戶(hù)設(shè)備和與用戶(hù)設(shè)備相連的執(zhí)行機(jī)。
所述服務(wù)器系統(tǒng),用于根據(jù)所述腳本參數(shù)信息從腳本池中獲取測(cè)試腳本,并根據(jù)所述環(huán)境參數(shù)信息選取測(cè)試集群,所述測(cè)試集群包括至少兩臺(tái)執(zhí)行機(jī)。
其中,所述服務(wù)器系統(tǒng)還用于將運(yùn)行測(cè)試腳本時(shí)所需的應(yīng)用程序和所述測(cè)試腳本向所述測(cè)試集群中的執(zhí)行機(jī)發(fā)送
所述測(cè)試集群,用于運(yùn)行所述測(cè)試腳本。
所述服務(wù)器系統(tǒng),還用于監(jiān)控所述測(cè)試集群運(yùn)行所述測(cè)試腳本的運(yùn)行狀態(tài),并將獲取的測(cè)試結(jié)果向所述用戶(hù)設(shè)備發(fā)送。
在本實(shí)施例中,所述用戶(hù)設(shè)備,具體用于根據(jù)設(shè)置信息生成所述測(cè)試請(qǐng)求信息,所述設(shè)置信息由所述用戶(hù)設(shè)備根據(jù)用戶(hù)在可視化操作界面的操作結(jié)果生成,所述操作結(jié)果包括:所述用戶(hù)設(shè)備記錄的用戶(hù)設(shè)置的腳本參數(shù)信息,和所述用戶(hù)設(shè)備記錄的用戶(hù)設(shè)置的環(huán)境參數(shù)信息。
可選的,所述服務(wù)器系統(tǒng),具體用于根據(jù)所述環(huán)境參數(shù)信息,從執(zhí)行機(jī)資源池中得到所述環(huán)境參數(shù)信息所對(duì)應(yīng)型號(hào)和數(shù)量的執(zhí)行機(jī),所述執(zhí)行機(jī)資源池包括:與所述服務(wù)器系統(tǒng)連接的執(zhí)行機(jī)和與所述用戶(hù)設(shè)備連接的執(zhí)行機(jī)。其中,當(dāng)用戶(hù)設(shè)備登錄云測(cè)試平臺(tái)后,可以將與所述服務(wù)器系統(tǒng)連接的執(zhí)行機(jī)(或稱(chēng)為外圍真機(jī))在服務(wù)器系統(tǒng)中注冊(cè),并由服務(wù)器系統(tǒng)集中管控,從而將外圍真機(jī)加入執(zhí)行機(jī)資源池。并在測(cè)試執(zhí)行過(guò)程中服務(wù)器系統(tǒng)向外圍真機(jī)發(fā)送測(cè)試命令,從而可以充分利用用戶(hù)本地已有的執(zhí)行機(jī)。
可選的,所述服務(wù)器系統(tǒng),還用于接收所述用戶(hù)設(shè)備上傳的腳本。并從所述上傳的腳本中提取特征信息并記錄,并將所述上傳的腳本存儲(chǔ)在所述腳本池,所述特征信息用于表示測(cè)試腳本的對(duì)應(yīng)的應(yīng)用程序和功能類(lèi)型。
在本實(shí)施例中,所述服務(wù)器系統(tǒng),還用于根據(jù)所述腳本參數(shù)信息確定維度信息,所述維度信息包括在所述測(cè)試結(jié)果中用于表示腳本的測(cè)試數(shù)據(jù)和參數(shù)的種類(lèi)。并根據(jù)所述維度信息和所述測(cè)試結(jié)果,生成測(cè)試統(tǒng)計(jì)數(shù)據(jù),并將所述測(cè)試統(tǒng)計(jì)數(shù)據(jù)向所述用戶(hù)設(shè)備發(fā)送。
其中,所述用戶(hù)設(shè)備,還用于將測(cè)試統(tǒng)計(jì)數(shù)據(jù)顯示在所述可視化操作界面。
本發(fā)明實(shí)施例提供的基于云平臺(tái)的測(cè)試系統(tǒng),通過(guò)云測(cè)試平臺(tái)的服務(wù)器系統(tǒng)保存測(cè)試腳本,并通過(guò)用戶(hù)設(shè)備根據(jù)用戶(hù)設(shè)定并生成的測(cè)試請(qǐng)求信息的,選取對(duì)應(yīng)的測(cè)試腳本和所需的測(cè)試集群,完成測(cè)試過(guò)程并向用戶(hù)設(shè)備反饋測(cè)試結(jié)果。相對(duì)于現(xiàn)有技術(shù)中,需要用戶(hù)本地編輯并保存測(cè)試腳本的云測(cè)試方案,本發(fā)明實(shí)施例的方案中測(cè)試人員只需通過(guò)可視化界面進(jìn)行相應(yīng)設(shè)置并向云測(cè)試平臺(tái)的服務(wù)器系統(tǒng)發(fā)送相應(yīng)的測(cè)試請(qǐng)求信息,云測(cè)試平臺(tái)則自動(dòng)調(diào)用測(cè)試腳本和測(cè)試集群并完成測(cè)試過(guò)程。從而節(jié)約了用戶(hù)設(shè)備本地的存儲(chǔ)資源,并且實(shí)現(xiàn)由云測(cè)試平臺(tái)承擔(dān)測(cè)試過(guò)程,從而節(jié)約了用戶(hù)設(shè)備本地的計(jì)算資源,還實(shí)現(xiàn)了用戶(hù)直接通過(guò)設(shè)置調(diào)用腳本。避免了用戶(hù)親自編輯腳本,節(jié)省了技術(shù)人員的時(shí)間和精力,因此極大的降低了運(yùn)營(yíng)成本。
本說(shuō)明書(shū)中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見(jiàn)即可,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其他實(shí)施例的不同之處。尤其,對(duì)于設(shè)備實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡(jiǎn)單,相關(guān)之處參見(jiàn)方法實(shí)施例的部分說(shuō)明即可。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤(pán)、只讀存儲(chǔ)記憶體(read-onlymemory,rom)或隨機(jī)存儲(chǔ)記憶體(randomaccessmemory,ram)等。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。