一種自適應(yīng)測試方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種自適應(yīng)測試方法及系統(tǒng),屬于自動化測試技術(shù)領(lǐng)域;方法包括:步驟S1,根據(jù)外部輸入的測試需求,選擇相應(yīng)的多個(gè)測試腳本,以組成相應(yīng)的至少一個(gè)測試序列;步驟S2,根據(jù)測試需求,按照預(yù)定的執(zhí)行順序?qū)⒅辽僖粋€(gè)相應(yīng)的測試序列組合生成一相應(yīng)的測試場景,并進(jìn)而生成一相應(yīng)的測試執(zhí)行文件;步驟S3,向連接至控制端的相應(yīng)的至少一個(gè)移動終端發(fā)送測試執(zhí)行文件,以控制移動終端按照下發(fā)的測試執(zhí)行文件執(zhí)行自動化測試操作。系統(tǒng)包括:腳本管理單元、第一管理單元、第二管理單元和測試執(zhí)行單元;上述技術(shù)方案的有益效果是:節(jié)省測試資源,提升測試效率,便于使用者全面掌握自動化測試的測試情況。
【專利說明】
一種自適應(yīng)測試方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及自動化測試技術(shù)領(lǐng)域,尤其涉及一種自適應(yīng)測試方法及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中,通常需要對移動終端進(jìn)行測試,以保證移動終端能夠正常使用。
[0003]現(xiàn)有技術(shù)中,對移動終端的測試通常是自動進(jìn)行的,即對移動終端進(jìn)行自動化測試。但是現(xiàn)有技術(shù)中,上述自動化測試過程并不能較好地適應(yīng)不同的測試場景,測試人員也很難對應(yīng)不同的測試場景對測試方式進(jìn)行更改,從而導(dǎo)致實(shí)際測試效果比較差,難以達(dá)到預(yù)期的測試目的。
【發(fā)明內(nèi)容】
[0004]根據(jù)現(xiàn)有技術(shù)中存在的問題,現(xiàn)提供一種自適應(yīng)測試方法及系統(tǒng)的技術(shù)方案,旨在實(shí)現(xiàn)自適應(yīng)測試環(huán)境對移動終端進(jìn)行自動化測試的目的。
[0005]上述技術(shù)方案具體包括:
[0006]一種自適應(yīng)測試方法,其中,包括控制端和分別與所述控制端連接的多個(gè)移動終端;
[0007]所述控制端內(nèi)設(shè)置有多個(gè)測試腳本;
[0008]測試方法具體包括:
[0009]步驟SI,根據(jù)外部輸入的測試需求,選擇相應(yīng)的多個(gè)所述測試腳本,以組成相應(yīng)的至少一個(gè)測試序列;
[0010]步驟S2,根據(jù)所述測試需求,按照預(yù)定的執(zhí)行順序?qū)⒅辽僖粋€(gè)相應(yīng)的所述測試序列組合生成一相應(yīng)的測試場景,并進(jìn)而生成一相應(yīng)的測試執(zhí)行文件;
[0011]步驟S3,向連接至所述控制端的相應(yīng)的至少一個(gè)所述移動終端發(fā)送所述測試執(zhí)行文件,以控制所述移動終端按照下發(fā)的所述測試執(zhí)行文件執(zhí)行自動化測試操作。
[0012]優(yōu)選的,該自適應(yīng)測試方法,其中,所述步驟SI中,外部輸入的所述測試需求中包括至少一個(gè)測試動作,所述控制端分別根據(jù)每個(gè)所述測試動作形成相應(yīng)的一個(gè)所述測試序列。
[0013]優(yōu)選的,該自適應(yīng)測試方法,其中,執(zhí)行所述步驟S3后,所述控制端監(jiān)控相應(yīng)的所述移動終端執(zhí)行所述測試文件的過程,并獲取用于表示相應(yīng)的所述移動終端執(zhí)行所述測試執(zhí)行文件的情況的測試結(jié)果信息。
[0014]優(yōu)選的,該自適應(yīng)測試方法,其中,所述測試結(jié)果信息包括執(zhí)行每個(gè)所述測試腳本后輸出的測試結(jié)果,和/或執(zhí)行每個(gè)所述測試序列后輸出的測試結(jié)果,和/或執(zhí)行每個(gè)所述測試執(zhí)行文件后輸出的測試結(jié)果。
[0015]優(yōu)選的,該自適應(yīng)測試方法,其中,執(zhí)行所述步驟S3后,所述控制端監(jiān)控相應(yīng)的所述移動終端執(zhí)行所述測試執(zhí)行文件的過程,并獲取用于表示相應(yīng)的所述移動終端于過程中產(chǎn)生的阻塞事件的報(bào)告信息。
[0016]優(yōu)選的,該自適應(yīng)測試方法,其中,執(zhí)行所述步驟S3后,所述控制端根據(jù)獲取的于所述移動終端執(zhí)行所述測試執(zhí)行文件的過程中產(chǎn)生的下述信息并進(jìn)行處理形成相應(yīng)的測試報(bào)告輸出:
[0017]所述移動終端輸出的用于表示所述測試執(zhí)行文件的執(zhí)行情況的測試結(jié)果信息,和/或
[0018]用于表示所述移動終端執(zhí)行所述測試執(zhí)行文件的過程中產(chǎn)生的阻塞事件的報(bào)告
?目息O
[0019]優(yōu)選的,該自適應(yīng)測試方法,其中,所述步驟S3中,所述控制端下發(fā)的所述測試執(zhí)行文件中包括所述控制端設(shè)定的執(zhí)行所述測試執(zhí)行文件的起始時(shí)刻和/或結(jié)束時(shí)刻。
[0020]優(yōu)選的,該自適應(yīng)測試方法,其中,所述步驟S3具體包括:
[0021]步驟S31,所述控制端根據(jù)形成的所述測試執(zhí)行文件選擇相應(yīng)的至少一個(gè)所述移動終端;
[0022]步驟S32,所述控制端分別向每個(gè)被選擇的所述移動終端下發(fā)一個(gè)所述測試執(zhí)行文件,以控制所述移動終端按照下發(fā)的所述測試執(zhí)行文件執(zhí)行自動化測試操作。
[0023]一種自適應(yīng)測試系統(tǒng),其中,包括控制端和分別與所述控制端遠(yuǎn)程連接的多個(gè)移動終端;
[0024]所述控制端包括:
[0025]腳本管理單元,其中預(yù)設(shè)有多個(gè)測試腳本,所述腳本管理單元供使用者編輯所述測試腳本;
[0026]第一管理單元,連接所述腳本管理單元,用于根據(jù)外部輸入的測試需求選擇相應(yīng)的多個(gè)所述測試腳本并封裝于至少一個(gè)測試序列中輸出;
[0027]第二管理單元,連接所述第二管理單元,用于根據(jù)所述測試需求,將至少一個(gè)所述測試序列組合形成一相應(yīng)的測試執(zhí)行文件并輸出;
[0028]測試執(zhí)行單元,連接所述第二管理單元,用于選擇相應(yīng)的所述移動終端并下發(fā)所述測試執(zhí)行文件,以供所述移動終端進(jìn)行自動化測試。
[0029]優(yōu)選的,該自適應(yīng)測試系統(tǒng),其中,所述控制端還包括:
[0030]結(jié)果處理單元,用于獲取所述移動終端執(zhí)行所述測試執(zhí)行文件后得到的結(jié)果并進(jìn)行處理形成相應(yīng)的測試報(bào)告輸出;
[0031 ] 所述結(jié)果處理單元進(jìn)一步包括:
[0032]第一獲取模塊,獲取用于表示相應(yīng)的所述移動終端執(zhí)行所述測試執(zhí)行文件的情況的測試結(jié)果信息;
[0033]第二獲取模塊,獲取用于表示相應(yīng)的所述移動終端于過程中產(chǎn)生的阻塞事件的報(bào)告信息;
[0034]處理模塊,分別連接所述第一獲取模塊和所述第二獲取模塊,用于根據(jù)所述測試結(jié)果信息和所述報(bào)告信息處理形成相應(yīng)的測試報(bào)告并輸出。
[0035]優(yōu)選的,該自適應(yīng)測試系統(tǒng),其中,所述控制端還包括:
[0036]監(jiān)控單元,連接所述結(jié)果處理單元,用于對正在進(jìn)行自動化測試的所述移動終端進(jìn)行監(jiān)控,并將相應(yīng)的監(jiān)控結(jié)果發(fā)送至所述結(jié)果處理單元;
[0037]所述監(jiān)控結(jié)果包括所述測試結(jié)果信息和/或所述報(bào)告信息。
[0038]優(yōu)選的,該自適應(yīng)測試系統(tǒng),其中,所述控制端還包括:
[0039]顯示單元,連接所述結(jié)果處理單元;
[0040]所述顯示單元中內(nèi)置一預(yù)設(shè)的界面顯示模板,所述顯示單元將所述結(jié)果處理單元輸出的測試報(bào)告填充至所述界面顯示模板中,并向使用者顯示經(jīng)過填充的所述界面顯示模板。
[0041]優(yōu)選的,該自適應(yīng)測試系統(tǒng),其中,所述測試執(zhí)行單元包括:
[0042]選擇模塊,用于根據(jù)待下發(fā)的所述測試執(zhí)行文件,選擇相應(yīng)的至少一個(gè)所述移動終端;
[0043]下發(fā)模塊,連接所述選擇模塊,用于向每個(gè)被選擇的所述移動終端下發(fā)所述測試執(zhí)行文件。
[0044]優(yōu)選的,該自適應(yīng)測試系統(tǒng),其中,所述控制端還包括:
[0045]需求輸入單元,分別連接所述第一管理單元和所述第二管理單元,所述需求輸入單元供使用者輸入所述測試需求;
[0046]狀態(tài)監(jiān)控單元,用于監(jiān)控連接至所述控制端的所述移動終端的工作狀態(tài)。
[0047]上述技術(shù)方案的有益效果是:
[0048]I)支持多設(shè)備測試,節(jié)省測試資源;
[0049]2)自適應(yīng)測試場景進(jìn)行測試序列的排布,提升測試效率;
[0050]3)隨時(shí)監(jiān)控自動化測試過程,便于使用者全面掌握自動化測試的測試情況。
【附圖說明】
[0051]圖1是本發(fā)明的較佳的實(shí)施例中,一種自適應(yīng)測試方法的流程示意圖;
[0052]圖2是本發(fā)明的較佳的實(shí)施例中,基于圖1的基礎(chǔ)上,選擇移動終端并下發(fā)測試執(zhí)行文件的具體流程示意圖;
[0053]圖3-4是本發(fā)明的較佳的實(shí)施例中,一種自適應(yīng)測試系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0054]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0055]需要說明的是,在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0056]下面結(jié)合附圖和具體實(shí)施例對本發(fā)明作進(jìn)一步說明,但不作為本發(fā)明的限定。
[0057]現(xiàn)有技術(shù)中,對移動終端進(jìn)行自動化測試時(shí),通常只能按照固定的測試腳本進(jìn)行測試,自動化測試過程無法適應(yīng)不同的測試場景,不能符合用戶任意選擇腳本并任意組合的測試需求。
[0058]基于現(xiàn)有技術(shù)中存在的上述問題,現(xiàn)提供一種自適應(yīng)測試方法。該測試方法的應(yīng)用如圖3所示,包括一控制端A,以及多個(gè)分別與該控制端A連接的移動終端B。本發(fā)明的較佳的實(shí)施例中,控制端A可以為計(jì)算機(jī)(PC),移動終端B與控制端A之間的連接可以為有線連接,也可以為無線連接等其他連接方式,在此不限制控制端A與移動終端B之間的連接方式。
[0059]本發(fā)明的較佳的實(shí)施例中,控制端A中預(yù)設(shè)有多個(gè)測試腳本。具體地,本發(fā)明的較佳的實(shí)施例中,移動終端執(zhí)行測試腳本,就可以調(diào)用其內(nèi)部模塊自動執(zhí)行測試腳本中預(yù)先編寫好的測試動作,例如撥號、查看通話狀態(tài)、短信發(fā)送、短信接收以及開閉數(shù)據(jù)流量等動作。
[0060]本發(fā)明的較佳的實(shí)施例中,基于上述設(shè)定,上述自適應(yīng)測試方法的步驟具體如圖1所示,包括:
[0061]步驟SI,根據(jù)外部輸入的測試需求,選擇相應(yīng)的多個(gè)測試腳本,以組成相應(yīng)的至少一個(gè)測試序列;
[0062]本發(fā)明的較佳的實(shí)施例中,外部輸入的測試需求中可以包括多個(gè)測試任務(wù)。對應(yīng)每個(gè)測試任務(wù),可以選擇多個(gè)測試腳本,以組成一個(gè)相應(yīng)的測試序列。
[0063]具體地,本發(fā)明的較佳的實(shí)施例中,所謂測試任務(wù),通常指測試一個(gè)功能模塊的動作的集合。例如測試通話功能的任務(wù)。該測試任務(wù)中即可以包括多個(gè)測試腳本,例如撥號、檢查通話狀態(tài)、保持通話狀態(tài)以及掛斷電話等動作,相應(yīng)地也就對應(yīng)于多個(gè)測試腳本。因此,當(dāng)測試需求中包括上述通話任務(wù),則直接將上述測試腳本組合成一個(gè)相應(yīng)的測試序列。本發(fā)明的較佳的實(shí)施例中,控制端A選中上述測試腳本后,按照一定的執(zhí)行順序?qū)⑦@些測試腳本封裝于一測試序列(Test Sequence)中。當(dāng)相應(yīng)的移動終端B執(zhí)行該測試序列時(shí),即為按照預(yù)定的執(zhí)行順序執(zhí)行其中包括的測試腳本,從而完成相應(yīng)的測試任務(wù)。
[0064]又例如,測試短信收發(fā)功能的任務(wù),該測試任務(wù)中可以包括多個(gè)測試腳本,例如短信發(fā)送、查看發(fā)送狀態(tài)、短信接收以及查看接收狀態(tài)等動作,相應(yīng)地也就對應(yīng)于多個(gè)測試腳本。因此,當(dāng)測試需求中包括上述通話任務(wù),則直接將上述測試腳本組合成一個(gè)相應(yīng)的測試序列。本發(fā)明的較佳的實(shí)施例中,控制端A選中上述測試腳本后,按照一定的執(zhí)行順序?qū)⑦@些測試腳本封裝于一測試序列中。當(dāng)相應(yīng)的移動終端B執(zhí)行該測試序列時(shí),即為按照預(yù)定的執(zhí)行順序執(zhí)行其中包括的測試腳本,從而完成相應(yīng)的測試任務(wù)。
[0065]綜上所述,本發(fā)明的較佳的實(shí)施例中,上述步驟SI中,控制端A根據(jù)外部輸入的測試需求,判斷其中所包括的測試任務(wù),根據(jù)每個(gè)測試任務(wù)選擇控制端A中預(yù)設(shè)的測試腳本中相應(yīng)的至少一個(gè)(以所選擇的測試腳本足以完成該測試任務(wù)為準(zhǔn)),并將所選擇的測試腳本以預(yù)設(shè)的執(zhí)行順序組合形成一測試序列。則移動終端執(zhí)行該測試序列,即能夠完成相應(yīng)的測試任務(wù)。
[0066]本發(fā)明的較佳的實(shí)施例中,一個(gè)測試需求中可以包括多個(gè)測試任務(wù),因此一個(gè)測試需求可以對應(yīng)形成多個(gè)測試序列。
[0067]本發(fā)明的較佳的實(shí)施例中,測試需求可以由使用者輸入,或者系統(tǒng)提供標(biāo)準(zhǔn)模板供使用者設(shè)定。
[0068]步驟S2,根據(jù)測試需求,按照預(yù)定的執(zhí)行順序?qū)⒅辽僖粋€(gè)相應(yīng)的測試序列組合生成一相應(yīng)的測試場景,并進(jìn)而生成一相應(yīng)的測試執(zhí)行文件;
[0069]本發(fā)明的較佳的實(shí)施例中,步驟S2中的測試需求仍然為上述步驟SI中的測試需求。具體地,本發(fā)明的較佳的實(shí)施例中,測試需求中包括使用者設(shè)定的測試邏輯,而測試邏輯實(shí)際用于設(shè)定移動終端進(jìn)行測試時(shí)需要模擬的測試場景(Test Sess1n)。例如,使用者設(shè)定此時(shí)移動終端需要模擬進(jìn)行先通話后收發(fā)短信的測試場景,因此控制端A將表示進(jìn)行通話過程測試的測試序列與表示進(jìn)行短信收發(fā)過程測試的測試序列進(jìn)行組合,以形成一個(gè)相應(yīng)的測試執(zhí)行文件(Runner),該測試執(zhí)行文件即對應(yīng)于上述測試場景。
[0070]又例如,使用者設(shè)定此時(shí)移動終端需要模擬進(jìn)行先測試短信收發(fā)再測試聯(lián)網(wǎng)功能的測試場景,則控制端A將表示進(jìn)行測試短信收發(fā)過程測試的測試序列與表示進(jìn)行聯(lián)網(wǎng)功能測試的測試序列(可以包括打開數(shù)據(jù)流量、查看聯(lián)網(wǎng)狀態(tài)以及關(guān)閉數(shù)據(jù)流量等動作)進(jìn)行組合,以形成一個(gè)相應(yīng)的測試執(zhí)行文件,該測試執(zhí)行文件即對應(yīng)于上述測試場景。
[0071 ] 綜上所述,上述步驟S2中,控制端A根據(jù)測試需求中包括的測試邏輯,創(chuàng)建一個(gè)相應(yīng)的需要移動終端去模擬的測試場景,該測試場景由相應(yīng)的至少一個(gè)測試序列組成。本發(fā)明的較佳的實(shí)施例中,創(chuàng)建好的測試場景被包括在相應(yīng)的測試執(zhí)行文件中,換言之,根據(jù)創(chuàng)建好的測試場景生成相應(yīng)的測試執(zhí)行文件。
[0072]步驟S3,向連接至控制端的相應(yīng)的至少一個(gè)移動終端發(fā)送測試執(zhí)行文件,以控制移動終端按照下發(fā)的測試執(zhí)行文件執(zhí)行自動化測試操作。
[0073]本發(fā)明的較佳的實(shí)施例中,如圖2所示,上述步驟S3具體包括:
[0074]步驟S31,控制端根據(jù)形成的測試執(zhí)行文件選擇相應(yīng)的至少一個(gè)移動終端;
[0075]本發(fā)明的較佳的實(shí)施例中,控制端A形成的測試執(zhí)行文件表示上述測試場景,而該測試場景反映了使用者的測試需求。具體地,本發(fā)明的較佳的實(shí)施例中,使用者的測試需求中除了包括上述測試任務(wù)(例如測試通話功能模塊,和/或測試短信收發(fā)功能模塊等),還包括系統(tǒng)需要在哪個(gè)平臺上進(jìn)行測試。本發(fā)明的較佳的實(shí)施例中,所謂平臺,可以理解為系統(tǒng)的運(yùn)行環(huán)境,不同的測試需要在相應(yīng)不同的運(yùn)行環(huán)境上進(jìn)行。則本發(fā)明的較佳的實(shí)施例中,控制端A根據(jù)上文中所述的測試執(zhí)行文件對應(yīng)的測試模塊,以及對應(yīng)的測試平臺,在所連接的移動終端中選擇適合測試的移動終端。
[0076]步驟S32,控制端分別向每個(gè)被選擇的移動終端下發(fā)一個(gè)測試執(zhí)行文件,以控制移動終端按照下發(fā)的測試執(zhí)行文件執(zhí)行自動化測試操作。
[0077]本發(fā)明的較佳的實(shí)施例中,在一些情況下,可能存在控制端A連接多個(gè)適合測試的移動終端B,即控制端A選中了多個(gè)移動終端B進(jìn)行測試,則控制端A分別向被選中的每個(gè)移動終端B下發(fā)相應(yīng)的一個(gè)測試執(zhí)行文件。因此,在這種情況下,控制端A下發(fā)的測試執(zhí)行文件可以包括多個(gè),該多個(gè)測試執(zhí)行文件均對應(yīng)于此時(shí)需要模擬的測試場景。
[0078]本發(fā)明的較佳的實(shí)施例中,在測試前以及測試過程中,控制端A均對移動終端B的工作狀態(tài)進(jìn)行監(jiān)控,例如監(jiān)控移動終端是否掉線,是否接入控制端,是否在執(zhí)行自動化測試過程中或者處于空閑狀態(tài)。本發(fā)明的較佳的實(shí)施例中,控制端A還對移動終端B進(jìn)行測試設(shè)備資源的分配和回收,并且可以對移動終端執(zhí)行任何adb操作。
[0079]本發(fā)明的較佳的實(shí)施例中,在上述測試執(zhí)行文件中,控制端A還可以設(shè)定每個(gè)測試腳本和/或每個(gè)測試序列的起始時(shí)刻和結(jié)束時(shí)刻,即提供了預(yù)約測試的功能,以滿足一些特殊測試需要大量測試設(shè)備同時(shí)開始測試和/或同時(shí)結(jié)束測試的測試要求。
[0080]本發(fā)明的較佳的實(shí)施例中,在執(zhí)行完上述步驟S3后,即控制端A下發(fā)測試執(zhí)行文件至相應(yīng)的移動終端B后,控制端A開始對正在進(jìn)行測試的移動終端B進(jìn)行主動監(jiān)控,監(jiān)控的內(nèi)容為:
[0081]I)移動終端B于執(zhí)行該測試執(zhí)行文件的過程中是否產(chǎn)生相應(yīng)的阻塞事件(Crash),以及阻塞事件的具體內(nèi)容,換言之,監(jiān)控移動終端在執(zhí)行自動化測試過程中是否產(chǎn)生阻塞事件,并獲取記錄該阻塞事件具體內(nèi)容的報(bào)告信息。
[0082]具體地,本發(fā)明的較佳的實(shí)施例中,上述阻塞事件可以為自動化測試過程中發(fā)生的各種阻塞,例如 Java CrashNNative Crash、Kernel Crash、ANR 異常以及 modem 異常等。
[0083]2)移動終端B于執(zhí)行該測試執(zhí)行文件的過程中產(chǎn)生的測試結(jié)果信息。本發(fā)明的較佳的實(shí)施例中,所謂測試結(jié)果信息,可以包括移動終端B執(zhí)行每個(gè)測試腳本的測試結(jié)果(Pass or Fail),和/或移動終端B執(zhí)行每條測試序列的測試結(jié)果(Pass or Fail),和/或移動終端B模擬整個(gè)測試場景(即執(zhí)行整個(gè)測試執(zhí)行文件)的測試結(jié)果(Pass or Fail)。
[0084]本發(fā)明的較佳的實(shí)施例中,控制端A監(jiān)控并獲取上述信息,隨后進(jìn)行相應(yīng)的處理,以形成相應(yīng)的測試報(bào)告并輸出。
[0085]本發(fā)明的較佳的實(shí)施例中,上述測試報(bào)告可以采用一定形式顯示給使用者查看,例如預(yù)設(shè)一顯示模板,并將已經(jīng)生成的測試報(bào)告填充于該顯示模板內(nèi),并向使用者顯示已經(jīng)填充完畢的顯示模板,即采用一固定的可顯示測試報(bào)告中具體內(nèi)容的顯示界面向使用者顯不O
[0086]綜上所述,本發(fā)明的目的在于:
[0087]控制端根據(jù)使用者設(shè)定的測試需求,選擇其中預(yù)設(shè)的相應(yīng)的至少一個(gè)測試腳本,并將選擇的至少一個(gè)測試腳本按照測試需求中包括的不同的測試任務(wù)組合形成相應(yīng)不同的測試序列;
[0088]隨后控制端將不同的測試序列進(jìn)行組合以形成對應(yīng)于測試需求中設(shè)定的需要移動終端進(jìn)行模擬的測試場景,并根據(jù)表示該測試場景的至少一個(gè)測試序列的組合形成相應(yīng)的測試執(zhí)行文件。
[0089]最后控制端根據(jù)測試執(zhí)行文件對應(yīng)的測試模塊以及測試平臺選擇相應(yīng)的移動終端,并向該被選中的移動終端下發(fā)該測試執(zhí)行文件;移動終端根據(jù)下發(fā)的測試執(zhí)行文件執(zhí)行自動化測試。在測試過程中控制端監(jiān)控測試情況,獲得測試結(jié)果,以及測試中產(chǎn)生的阻塞事件的報(bào)告,從而處理形成完整的測試報(bào)告并顯示。
[0090]本發(fā)明的較佳的實(shí)施例中,基于上述自適應(yīng)測試方法,現(xiàn)提供一種自適應(yīng)測試系統(tǒng),該系統(tǒng)的總體結(jié)構(gòu)如圖3所示,包括控制端A和多個(gè)移動終端B。本發(fā)明的較佳的實(shí)施例中,控制端A分別與每個(gè)移動終端B連接。連接的方式可以為遠(yuǎn)程無線連接,也可以為有線連接,在此不對連接方式作出限制。
[0091 ] 本發(fā)明的較佳的實(shí)施例中,進(jìn)一步地,如圖4所示,上述控制端A中包括:
[0092]腳本管理單元I。本發(fā)明的較佳的實(shí)施例中,腳本管理單元I中預(yù)設(shè)有多個(gè)測試腳本,腳本管理單元I供使用者編輯測試腳本。具體地,本發(fā)明的較佳的實(shí)施例中,所謂編輯測試腳本,可以包括添加和刪除測試腳本,以及對其中預(yù)設(shè)的測試腳本進(jìn)行修改等操作。
[0093]第一管理單元2,連接腳本管理單元I。本發(fā)明的較佳的實(shí)施例中,第一管理單元2用于根據(jù)外部輸入的測試需求選擇相應(yīng)的多個(gè)測試腳本并封裝于至少一個(gè)測試序列中輸出。
[0094]本發(fā)明的較佳的實(shí)施例中,如上文中所述,第一管理單元2根據(jù)外部輸入或者設(shè)定的測試需求,首先選擇至少一個(gè)預(yù)設(shè)的測試腳本,并且將用于完成一個(gè)測試任務(wù)的測試腳本組合形成一相應(yīng)的測試序列,在該測試序列中,測試腳本之間按照一定的執(zhí)行順序排列。本發(fā)明的較佳的實(shí)施例中,若測試需求中設(shè)定有多個(gè)測試任務(wù),則相應(yīng)地就會生成多個(gè)測試序列。
[0095]第二管理單元3,連接第二管理單元2。本發(fā)明的較佳的實(shí)施例中,第二管理單元3用于根據(jù)測試需求,將至少一個(gè)測試序列組合形成一相應(yīng)的測試執(zhí)行文件并輸出。
[0096]本發(fā)明的較佳的實(shí)施例中,如上文中所述,第二管理單元3根據(jù)外部輸入或者設(shè)定的測試需求,將第一管理單元2輸出的測試序列(對應(yīng)該測試需求的至少一個(gè)測試序列)進(jìn)行組合,以形成本次測試所需要模擬的測試場景。本發(fā)明的較佳的實(shí)施例中,若上述第一管理單元2輸出的測試序列僅為一個(gè),則第二管理單元3處理形成的測試場景即可以采用該測試序列表示。
[0097]本發(fā)明的較佳的實(shí)施例中,上述測試場景以測試執(zhí)行文件的形式實(shí)現(xiàn),即第二管理單元3最終輸出的為測試執(zhí)行文件。控制端A將該測試執(zhí)行文件下發(fā)到相應(yīng)的移動終端B執(zhí)行,以控制移動終端B模擬測試需求所要求的測試場景。
[0098]測試執(zhí)行單元4,連接第二管理單元3。本發(fā)明的較佳的實(shí)施例中,測試執(zhí)行單元4用于選擇相應(yīng)的移動終端并下發(fā)測試執(zhí)行文件,以供移動終端進(jìn)行自動化測試。
[0099]進(jìn)一步地,本發(fā)明的較佳的實(shí)施例中,如圖4所示,上述測試執(zhí)行單元4中包括:
[0100]選擇模塊41,用于根據(jù)待下發(fā)的測試執(zhí)行文件,選擇相應(yīng)的至少一個(gè)移動終端;
[0101]本發(fā)明的較佳的實(shí)施例中,如上文中所述,一個(gè)測試需求對應(yīng)于一個(gè)測試執(zhí)行文件,而每個(gè)測試需求中,使用者可以設(shè)定本次測試過程需要測試何種功能模塊(例如通話模塊和/或短信模塊等),和/或在何種測試平臺上進(jìn)行測試。而與控制端A連接的不同的移動終端B中,搭載有不同的測試平臺,其中可能也開放有不同的功能模塊用于測試。因此,選擇模塊41根據(jù)測試執(zhí)行文件,具體為根據(jù)該測試需求對應(yīng)需要測試的功能模塊和/或測試所依賴的測試平臺,選擇相應(yīng)的移動終端B。
[0102]本發(fā)明的較佳的實(shí)施例中,所選擇的移動終端B可以為一個(gè),也可以為多個(gè)。
[0103]下發(fā)模塊42,連接上述選擇模塊41。本發(fā)明的較佳的實(shí)施例中,下發(fā)模塊42用于向每個(gè)被選擇的移動終端下發(fā)測試執(zhí)行文件。
[0104]本發(fā)明的較佳的實(shí)施例中,當(dāng)選定上述至少一個(gè)移動終端B后,下發(fā)模塊42分別向每個(gè)被選定的移動終端B下發(fā)一個(gè)測試執(zhí)行文件。本發(fā)明的較佳的實(shí)施例中,控制端A向針對同一個(gè)測試需求被選中的多個(gè)移動終端B所下發(fā)的測試執(zhí)行文件是相同的。
[0105]本發(fā)明的較佳的實(shí)施例中,上述控制端A中還包括:
[0106]結(jié)果處理單元5。本發(fā)明的較佳的實(shí)施例中,上述結(jié)果處理單元5用于獲取移動終端執(zhí)行測試執(zhí)行文件后得到的結(jié)果并進(jìn)行處理形成相應(yīng)的測試報(bào)告輸出;
[0107]本發(fā)明的較佳的實(shí)施例中,上述結(jié)果處理單元5進(jìn)一步包括:
[0108]第一獲取模塊51,獲取用于表示相應(yīng)的移動終端執(zhí)行測試執(zhí)行文件的情況的測試結(jié)果信息;
[0109]第二獲取模塊52,獲取用于表示相應(yīng)的移動終端于過程中產(chǎn)生的阻塞事件的報(bào)告
?目息O
[0110]本發(fā)明的較佳的實(shí)施例中,上述測試結(jié)果信息包括執(zhí)行每個(gè)測試腳本后輸出的測試結(jié)果,和/或執(zhí)行每個(gè)測試序列后輸出的測試結(jié)果,和/或執(zhí)行每個(gè)測試執(zhí)行文件后輸出的測試結(jié)果。
[0111]處理模塊53,分別連接第一獲取模塊和第二獲取模塊。本發(fā)明的較佳的實(shí)施例中,處理模塊53用于根據(jù)測試結(jié)果信息和報(bào)告信息處理形成相應(yīng)的測試報(bào)告并輸出。
[0112]本發(fā)明的較佳的實(shí)施例中,仍然如圖4所示,上述控制端A中包括:
[0113]監(jiān)控單元6,連接上述結(jié)果處理單元5。本發(fā)明的較佳的實(shí)施例中,上述監(jiān)控單元6用于對正在進(jìn)行自動化測試的移動終端進(jìn)行監(jiān)控,并將相應(yīng)的監(jiān)控結(jié)果發(fā)送至結(jié)果處理單元;
[0114]本發(fā)明的較佳的實(shí)施例中,上述監(jiān)控結(jié)果包括上文中所述的測試結(jié)果信息和/或報(bào)告信息。
[0115]本發(fā)明的較佳的實(shí)施例中,上述控制端A中包括:
[0116]顯示單元7,連接結(jié)果處理單元6 ;
[0117]顯示單元7中內(nèi)置一預(yù)設(shè)的界面顯示模板,顯示單元7將結(jié)果處理單元5輸出的測試報(bào)告填充至界面顯示模板中,并向使用者顯示經(jīng)過填充的界面顯示模板。
[0118]例如,設(shè)定一個(gè)固定版面的顯示模板,并將處理完成的測試報(bào)告填充至該顯示模板中。最終向使用者顯示的是已經(jīng)填充完畢的、可以完整顯示測試報(bào)告中內(nèi)容的顯示模板。
[0119]本發(fā)明的較佳的實(shí)施例中,上述控制端A中還包括:
[0120]需求輸入單元8,分別連接第一管理單元2和第二管理單元3,需求輸入單元供使用者輸入測試需求;
[0121]本發(fā)明的較佳的實(shí)施例中,需求輸入單元供使用者輸入上述測試需求,例如供使用者設(shè)定本次測試需要用到的功能模塊,以及所依賴的測試平臺等環(huán)境數(shù)據(jù),以及設(shè)定本次測試的測試任務(wù)等測試實(shí)質(zhì)數(shù)據(jù),以及設(shè)定其他需要設(shè)定的數(shù)據(jù)等。
[0122]狀態(tài)監(jiān)控單元9,用于監(jiān)控連接至控制端的移動終端的工作狀態(tài)。
[0123]本發(fā)明的較佳的實(shí)施例中,狀態(tài)監(jiān)控單元9具體監(jiān)控移動終端B是否與控制端A連接(是否掉線、是否接入等),以及監(jiān)控移動終端B當(dāng)前的工作狀態(tài)(處于測試狀態(tài)還是空閑狀態(tài)),以及監(jiān)控移動終端B的其他有用狀態(tài)。
[0124]以上所述僅為本發(fā)明較佳的實(shí)施例,并非因此限制本發(fā)明的實(shí)施方式及保護(hù)范圍,對于本領(lǐng)域技術(shù)人員而言,應(yīng)當(dāng)能夠意識到凡運(yùn)用本發(fā)明說明書及圖示內(nèi)容所作出的等同替換和顯而易見的變化所得到的方案,均應(yīng)當(dāng)包含在本發(fā)明的保護(hù)范圍內(nèi)。
【主權(quán)項(xiàng)】
1.一種自適應(yīng)測試方法,其特征在于,包括控制端和分別與所述控制端連接的多個(gè)移動終端; 所述控制端內(nèi)設(shè)置有多個(gè)測試腳本; 測試方法具體包括: 步驟Si,根據(jù)外部輸入的測試需求,選擇相應(yīng)的多個(gè)所述測試腳本,以組成相應(yīng)的至少一個(gè)測試序列; 步驟S2,根據(jù)所述測試需求,按照預(yù)定的執(zhí)行順序?qū)⒅辽僖粋€(gè)相應(yīng)的所述測試序列組合生成一相應(yīng)的測試場景,并進(jìn)而生成一相應(yīng)的測試執(zhí)行文件; 步驟S3,向連接至所述控制端的相應(yīng)的至少一個(gè)所述移動終端發(fā)送所述測試執(zhí)行文件,以控制所述移動終端按照下發(fā)的所述測試執(zhí)行文件執(zhí)行自動化測試操作。2.如權(quán)利要求1所述的自適應(yīng)測試方法,其特征在于,所述步驟SI中,外部輸入的所述測試需求中包括至少一個(gè)測試任務(wù),所述控制端分別根據(jù)每個(gè)所述測試任務(wù)形成相應(yīng)的一個(gè)所述測試序列。3.如權(quán)利要求1所述的自適應(yīng)測試方法,其特征在于,執(zhí)行所述步驟S3后,所述控制端監(jiān)控相應(yīng)的所述移動終端執(zhí)行所述測試文件的過程,并獲取用于表示相應(yīng)的所述移動終端執(zhí)行所述測試執(zhí)行文件的情況的測試結(jié)果信息。4.如權(quán)利要求3所述的自適應(yīng)測試方法,其特征在于,所述測試結(jié)果信息包括執(zhí)行每個(gè)所述測試腳本后輸出的測試結(jié)果,和/或執(zhí)行每個(gè)所述測試序列后輸出的測試結(jié)果,和/或執(zhí)行每個(gè)所述測試執(zhí)行文件后輸出的測試結(jié)果。5.如權(quán)利要求1所述的自適應(yīng)測試方法,其特征在于,執(zhí)行所述步驟S3后,所述控制端監(jiān)控相應(yīng)的所述移動終端執(zhí)行所述測試執(zhí)行文件的過程,并獲取用于表示相應(yīng)的所述移動終端于過程中產(chǎn)生的阻塞事件的報(bào)告信息。6.如權(quán)利要求1所述的自適應(yīng)測試方法,其特征在于,執(zhí)行所述步驟S3后,所述控制端根據(jù)獲取的于所述移動終端執(zhí)行所述測試執(zhí)行文件的過程中產(chǎn)生的下述信息并進(jìn)行處理形成相應(yīng)的測試報(bào)告輸出: 所述移動終端輸出的用于表示所述測試執(zhí)行文件的執(zhí)行情況的測試結(jié)果信息,和/或 用于表示所述移動終端執(zhí)行所述測試執(zhí)行文件的過程中產(chǎn)生的阻塞事件的報(bào)告信息。7.如權(quán)利要求1所述的自適應(yīng)測試方法,其特征在于,所述步驟S3中,所述控制端下發(fā)的所述測試執(zhí)行文件中包括所述控制端設(shè)定的執(zhí)行所述測試執(zhí)行文件的起始時(shí)刻和/或結(jié)束時(shí)刻。8.如權(quán)利要求1所述的自適應(yīng)測試方法,其特征在于,所述步驟S3具體包括: 步驟S31,所述控制端根據(jù)形成的所述測試執(zhí)行文件選擇相應(yīng)的至少一個(gè)所述移動終端; 步驟S32,所述控制端分別向每個(gè)被選擇的所述移動終端下發(fā)一個(gè)所述測試執(zhí)行文件,以控制所述移動終端按照下發(fā)的所述測試執(zhí)行文件執(zhí)行自動化測試操作。9.一種自適應(yīng)測試系統(tǒng),其特征在于,包括控制端和分別與所述控制端遠(yuǎn)程連接的多個(gè)移動終立而; 所述控制端包括: 腳本管理單元,其中預(yù)設(shè)有多個(gè)測試腳本,所述腳本管理單元供使用者編輯所述測試腳本; 第一管理單元,連接所述腳本管理單元,用于根據(jù)外部輸入的測試需求選擇相應(yīng)的多個(gè)所述測試腳本并封裝于至少一個(gè)測試序列中輸出; 第二管理單元,連接所述第二管理單元,用于根據(jù)所述測試需求,將至少一個(gè)所述測試序列組合形成一相應(yīng)的測試執(zhí)行文件并輸出; 測試執(zhí)行單元,連接所述第二管理單元,用于選擇相應(yīng)的所述移動終端并下發(fā)所述測試執(zhí)行文件,以供所述移動終端進(jìn)行自動化測試。10.如權(quán)利要求9所述的自適應(yīng)測試系統(tǒng),其特征在于,所述控制端中還包括: 結(jié)果處理單元,用于獲取所述移動終端執(zhí)行所述測試執(zhí)行文件后得到的結(jié)果并進(jìn)行處理形成相應(yīng)的測試報(bào)告輸出; 所述結(jié)果處理單元進(jìn)一步包括: 第一獲取模塊,獲取用于表示相應(yīng)的所述移動終端執(zhí)行所述測試執(zhí)行文件的情況的測試結(jié)果信息; 第二獲取模塊,獲取用于表示相應(yīng)的所述移動終端于過程中產(chǎn)生的阻塞事件的報(bào)告信息; 處理模塊,分別連接所述第一獲取模塊和所述第二獲取模塊,用于根據(jù)所述測試結(jié)果信息和所述報(bào)告信息處理形成相應(yīng)的測試報(bào)告并輸出。11.如權(quán)利要求10所述的自適應(yīng)測試系統(tǒng),其特征在于,所述控制端中還包括: 監(jiān)控單元,連接所述結(jié)果處理單元,用于對正在進(jìn)行自動化測試的所述移動終端進(jìn)行監(jiān)控,并將相應(yīng)的監(jiān)控結(jié)果發(fā)送至所述結(jié)果處理單元; 所述監(jiān)控結(jié)果包括所述測試結(jié)果信息和/或所述報(bào)告信息。12.如權(quán)利要求10所述的自適應(yīng)測試系統(tǒng),其特征在于,所述控制端中還包括: 顯示單元,連接所述結(jié)果處理單元; 所述顯示單元中內(nèi)置一預(yù)設(shè)的界面顯示模板,所述顯示單元將所述結(jié)果處理單元輸出的測試報(bào)告填充至所述界面顯示模板中,并向使用者顯示經(jīng)過填充的所述界面顯示模板。13.如權(quán)利要求9所述的自適應(yīng)測試系統(tǒng),其特征在于,所述測試執(zhí)行單元包括: 選擇模塊,用于根據(jù)待下發(fā)的所述測試執(zhí)行文件,選擇相應(yīng)的至少一個(gè)所述移動終端; 下發(fā)模塊,連接所述選擇模塊,用于向每個(gè)被選擇的所述移動終端下發(fā)所述測試執(zhí)行文件。14.如權(quán)利要求9所述的自適應(yīng)測試系統(tǒng),其特征在于,所述控制端中還包括: 需求輸入單元,分別連接所述第一管理單元和所述第二管理單元,所述需求輸入單元供使用者輸入所述測試需求; 狀態(tài)監(jiān)控單元,用于監(jiān)控連接至所述控制端的所述移動終端的工作狀態(tài)。
【文檔編號】G06F11/36GK105988904SQ201510063298
【公開日】2016年10月5日
【申請日】2015年2月6日
【發(fā)明人】陳傳超, 徐敏, 李文超, 韓煥明, 錢輝
【申請人】展訊通信(天津)有限公司