專利名稱:基于測試執(zhí)行機(jī)能力度的測試任務(wù)自動分配方法
技術(shù)領(lǐng)域:
本發(fā)明涉及軟件測試任務(wù)自動分配方法,尤其是指適用于分布式自 動化測試框架的,基于測試執(zhí)行機(jī)能力度的測試任務(wù)自動分配的方法。
背景技術(shù):
通過對國內(nèi)外研究人員在分布式系統(tǒng)測試研究領(lǐng)域內(nèi)提出的各種測 試框架的分析可知,自動化測試框架由兩部分功能組成, 一部分為測試 腳本的生成,另一部分為測試腳本執(zhí)行和執(zhí)行管理。測試腳本執(zhí)行和執(zhí) 行管理部分完成測試任務(wù)的定義、任務(wù)分配、部署、調(diào)度,自動化執(zhí)行、 測試結(jié)果收集和分析等測試執(zhí)行管理功能?,F(xiàn)有研究主要集中于測試腳 本的生成和重用、測試的自動執(zhí)行,測試的協(xié)同工作三個方向。當(dāng)前研 究集中于腳本的自動化執(zhí)行和測試結(jié)果的自動化收集和分析,而對于分 布式測試任務(wù)的自動化分配、部署、調(diào)度方向還未見研究,主要采用人
工分配、部署和調(diào)度的方式。當(dāng)前的測試執(zhí)行框架,包括著名的Rational Test Manager等都采用人工分配測試任務(wù)的方式。測試任務(wù)人工分配方 式增加了測試人員的負(fù)擔(dān),分配策略只能采用靜態(tài)任務(wù)分配策略,而且 和測試人員的經(jīng)驗(yàn)直接相關(guān),有可能不是最佳的分配方案,導(dǎo)致測試機(jī) 的資源浪費(fèi),增加測試執(zhí)行時間。測試任務(wù)人工分配方式一方面存在效 率的問題,另一方面人工調(diào)度可能導(dǎo)致任務(wù)分配、調(diào)度對資源的利用不 合理。若能實(shí)現(xiàn)測試任務(wù)自動化分配將進(jìn)一步提高自動化測試框架的自 動化程度。
發(fā)明內(nèi)容
為了解決上述問題,進(jìn)一步提高分布式自動化測試框架的自動化程 度,提高測試任務(wù)分配的效率,本發(fā)明的主要目的在于提出一種基于測
4試執(zhí)行機(jī)能力度的測試任務(wù)自動分配方法。
在本發(fā)明中,測試主控機(jī)通過分析測試任務(wù)對測試執(zhí)行機(jī)能力的要 求,按照測試執(zhí)行能力度大小自動選擇適合的測試執(zhí)行機(jī),完成測試任
務(wù)的自動分配。具體步驟如下
(1)通過GUI控制臺定義測試任務(wù)時,分解復(fù)雜測試任務(wù)T,表示 為and-or-tree(T)結(jié)構(gòu),并描述相應(yīng)的ECA規(guī)則集合,寫入測試執(zhí)行場 景文件。
(2 )測試主控4幾解析測試執(zhí)4亍場景文件,對and-or-tree(T)中的每 個原子測試任務(wù),迭代執(zhí)行如下步驟獲取當(dāng)前各測試執(zhí)行機(jī)所擁有的 資源情況,計(jì)算得到各測試執(zhí)行機(jī)對該原子測試任務(wù)的測試執(zhí)行能力度, 然后按照基于測試執(zhí)行機(jī)能力度的測試任務(wù)分配標(biāo)準(zhǔn)將該測試任務(wù)分配 給一個測試執(zhí)行機(jī),并將任務(wù)分配情況寫入測試執(zhí)行場景文件中。
測試任務(wù)的分配為僅對and-or-tree(T)中所有原子測試任務(wù)進(jìn)行分
配,將原子測試任務(wù)分配給各測試執(zhí)行機(jī),而樹上其它非原子測試任務(wù) 的執(zhí)行與協(xié)調(diào),例如同步"與"任務(wù),選擇"或"任務(wù)等,均由測試主
控機(jī)根據(jù)測試執(zhí)行場景文件中ECA規(guī)則的描述來完成。
本發(fā)明的技術(shù)效果是,為分布式自動化測試框架提供了 一種自動化 測試任務(wù)分配方法,進(jìn)一步提高了自動化測試框架的自動化程度。
相關(guān)定義
定義1測試任務(wù)
為實(shí)現(xiàn)特定測試目標(biāo)所要執(zhí)行的測試用例集。如完成操作系統(tǒng)和數(shù) 據(jù)庫之間的兼容性測試所需要執(zhí)行的測試用例集。測試任務(wù)分為原子測 試任務(wù)和復(fù)雜任務(wù)。
定義2原子測試任務(wù)
原子測試任務(wù)7^皮定義為在執(zhí)行測試任務(wù)分配時的一個不可再分的測試用例的最小集合,它是參與分配的最小單位。任務(wù)7]可以是一個與其 它測試用例不相關(guān)的單獨(dú)測試用例,也可以是一組相關(guān)聯(lián)的測試用例。 定義3復(fù)雜測試任務(wù)
是由 一 系列邏輯相關(guān)的原子測試任務(wù)所構(gòu)成的有序集合。 定義4復(fù)雜任務(wù)的"與-或樹"(and-or-tree)描述 將復(fù)雜測試任務(wù)分解為原子測試任務(wù),復(fù)雜測試任務(wù)分解為原子測 試任務(wù)描述為
ComplicatedTask=<DecomID, AtomTaskSet, Relation, 0THERS> 其中,DecomID表示復(fù)雜測試任務(wù)的標(biāo)識,用以區(qū)分各個不同的,皮分 解復(fù)雜測試任務(wù);AtomTaskSet 表示原子測試任務(wù)集; Relation={And, Or, Enable, Facilitae, ...},表示原子測試任務(wù)的各種相 互依賴關(guān)系;OTHERS描述了復(fù)雜任務(wù)的其它屬性特征,包括任務(wù)的難度、 重要性等屬性。
原子測試任務(wù)及任務(wù)間各種相互依賴關(guān)系共同構(gòu)成了被分解復(fù)雜測 試任務(wù)的結(jié)構(gòu)特征。通常釆用領(lǐng)域無關(guān)的任務(wù)表達(dá)框架TAEMS來描述復(fù) 雜任務(wù)分解,TAEMS采用"與-或樹"表示任務(wù)的分解過程和分解任務(wù)。 它將方法作為最小的任務(wù)執(zhí)行單位,用概率的方式量化了方法對應(yīng)的質(zhì) 量、費(fèi)用、時間等屬性值;同時它利用累積函數(shù)表達(dá)上下層任務(wù)間的連 接,揭示這些任務(wù)間的"與-或,,關(guān)系。本發(fā)明的方法是將原子測試任務(wù) 與TAEMS中的方法相對應(yīng),并定義分解的復(fù)雜測試任務(wù)T對應(yīng)的"與-或 樹,,(and-or-tree )描述如下
設(shè)任一測試任務(wù)T的結(jié)構(gòu)都可以描述為一棵"與-或樹",記作 and-or-tree (T),樹的根節(jié)點(diǎn)表示任務(wù)T,樹的葉子節(jié)點(diǎn)表示可以被單個 測試執(zhí)行機(jī)獨(dú)立完成的原子測試任務(wù),并且約定如果樹的某個節(jié)點(diǎn)有 兒子任務(wù),那么其兒子任務(wù)之間的執(zhí)行邏輯要么全"與,,,要么全"或",記作0^/-尸( 1"2,...,")或0"-F仏,,2,…,0,其中F是節(jié)點(diǎn)標(biāo)識,f,.是F的兒子 節(jié)點(diǎn)。
4奪and—or—tree(T)等^f介;l也用ECA(event—condition—action)MJ寸集 合表示,ECA規(guī)則通過條件的組合,例如條件的合取(a)、析取(v),描 述組合條件關(guān)系,同時也描述了執(zhí)行活動的執(zhí)行依賴關(guān)系。
定義5測試執(zhí)行機(jī)的執(zhí)行能力和執(zhí)行能力度
測試執(zhí)行機(jī)的執(zhí)行能力度描述了測試執(zhí)行機(jī)的系統(tǒng)資源狀況,表示 測試執(zhí)行機(jī)完成任務(wù)的能力大小。記測試執(zhí)行機(jī)a具有執(zhí)行任務(wù)t的執(zhí) 行能力為屈zV ,測試執(zhí)行機(jī)a對于任務(wù)t的執(zhí)行能力度為《,當(dāng)ct: 時, 測試執(zhí)行機(jī)a具有執(zhí)行任務(wù)t的能力。
測試執(zhí)行機(jī)a對于任務(wù)t的執(zhí)行能力度《=cv7 + w2;i,其中
(1)
"i ( 2 )
仏是完成任務(wù)t所需的最長時間,;/。是測試執(zhí)行機(jī)a完成任務(wù)t所需 的時間,《是任務(wù)t對第k類資源的需求,《是測試執(zhí)行機(jī)a當(dāng)前所擁有 的第k類資源(當(dāng)前所擁有的第k類資源為測試執(zhí)行機(jī)a擁有的該類 資源的總數(shù)減去被已接受任務(wù)占用的資源數(shù),例如測試執(zhí)行機(jī)a當(dāng)前所 擁有的自由內(nèi)存為擁有的總內(nèi)存減去已用的內(nèi)存),^是相應(yīng)資源的權(quán)
重,^^=1; w,和化按時間和資源在任務(wù)t中的重要性確定比例,
q + G)2 = 1 。
若屜Z7。J a JMJ且o"" 2《2 ,則稱測試執(zhí)行機(jī)a,的執(zhí)行能力度大于測試 執(zhí)行機(jī)。2的執(zhí)行能力度。
定義6測試任務(wù)分配標(biāo)準(zhǔn)伊本方法采用基于測試執(zhí)行能力度的任務(wù)分配標(biāo)準(zhǔn)。
給定原子測試任務(wù)"AT ( AT為原子測試任務(wù)集),任意兩個測試執(zhí) 行機(jī)al和a2,基于測試執(zhí)行能力度的任務(wù)分配標(biāo)準(zhǔn)伊定義為
優(yōu)先于
伊v4Mfllf a XMa2, a《2 cr:2 => a〃oc(f,al)-alloc(t,a2)。
圖1為自動化測試執(zhí)行框架的總體架構(gòu)設(shè)計(jì)。 圖2為任務(wù)(T)的"與-或樹"表示。
圖3為基于測試機(jī)能力度測試任務(wù)自動分配方法的流程圖。
具體實(shí)施例方式
在 一 個分布式自動化測試執(zhí)行系統(tǒng)中,每臺參與測試任務(wù)的機(jī)器稱 為測試機(jī),測試機(jī)分為測試主控機(jī)和測試執(zhí)行機(jī)。測試主控機(jī)是運(yùn)行GUI 測試控制臺、測試主控部件和測試結(jié)果收集與集成部件的測試^li,測試 執(zhí)行4幾為運(yùn)行測試執(zhí)行部件的測試才幾。系統(tǒng)中有且只有一個主控才幾,可 以有1到N臺測試才幾。構(gòu)建測試執(zhí)行系統(tǒng)時,在一臺測試機(jī)上部署GUI 測試控制臺、測試主控部件和測試結(jié)果收集部件形成測試主控機(jī),負(fù)責(zé) 測試任務(wù)的定義、測試任務(wù)的分配、測試結(jié)果收集與集成等主要工作。 在1到N臺測試機(jī)上部署測試執(zhí)行部件,作為測試執(zhí)行機(jī),負(fù)責(zé)測試任 務(wù)的具體執(zhí)行,也可在測試主控機(jī)上部署測試執(zhí)行部件,這時,該機(jī)器 具有測試主控和測試執(zhí)行雙重功能。
系統(tǒng)配置文件中定義了每臺參與的測試機(jī)的環(huán)境參數(shù)和系統(tǒng)標(biāo)識 符,測試執(zhí)行模式(編譯、執(zhí)行、清除)以及執(zhí)行模式所用到的應(yīng)用程 序。測試執(zhí)行場景文件記載了所有的測試任務(wù),描述了測試任務(wù)的部署 和執(zhí)行流程,是測試調(diào)度和執(zhí)行控制的依據(jù)。執(zhí)行結(jié)果日志文件記錄了 測試執(zhí)行過程中產(chǎn)生的測試用例輸出信息和測試執(zhí)行日志信息。通過圖形用戶接口的測試控制臺定義測試任務(wù)、分布式測試系統(tǒng)中 各測試機(jī)的配置信息,并將定義的信息寫入測試執(zhí)行配置和測試執(zhí)行場 景文件中。在測試執(zhí)行場景文件中,復(fù)雜測試任務(wù)被表示為"與-或樹"
和ECA規(guī)則集合。
將復(fù)雜測試任務(wù)被表示為"與-或樹"和ECA規(guī)則集合的方法 具體是將復(fù)雜測試任務(wù)分解為原子測試任務(wù),復(fù)雜測試任務(wù)分解為
原子測試任務(wù)
ComplicatedTask=<DecomID, AtomTaskSet, Relation, 0THERS> 其中,DecomID表示復(fù)雜測試任務(wù)的標(biāo)識,用以區(qū)分各個不同的凈皮分 解復(fù)雜測試任務(wù);AtomTaskSet 表示原子測試任務(wù)集; Relation-{And, 0r, Enable, Facilitae, ...},表示原子測試l壬務(wù)的各種相 互依賴關(guān)系;OTHERS描述了復(fù)雜任務(wù)的其它屬性特征,包括任務(wù)的難度、 重要性等屬性。
原子測試任務(wù)及任務(wù)間各種相互依賴關(guān)系共同構(gòu)成了被分解復(fù)雜測 試任務(wù)的結(jié)構(gòu)特征。通常采用領(lǐng)域無關(guān)的任務(wù)表達(dá)框架TAEMS來描述復(fù) 雜任務(wù)分解,TAEMS采用"與-或樹"表示任務(wù)的分解過程和分解任務(wù)。 它將方法作為最小的任務(wù)執(zhí)行單位,用概率的方式量化了方法對應(yīng)的質(zhì) 量、費(fèi)用、時間等屬性值;同時它利用累積函數(shù)表達(dá)上下層任務(wù)間的連 接,揭示這些任務(wù)間的"與-或"關(guān)系。本發(fā)明的方法是將原子測試任務(wù) 與TAEMS中的方法相對應(yīng),并定義分解的復(fù)雜測試任務(wù)T對應(yīng)的"與-或 樹,,(and-or-tree )描述如下
設(shè)任一測試任務(wù)T的結(jié)構(gòu)都可以描述為一棵"與-或樹,,,記作 and-or-tree (T),樹的根節(jié)點(diǎn)表示任務(wù)T,樹的葉子節(jié)點(diǎn)表示可以被單個 測試執(zhí)行機(jī)獨(dú)立完成的原子測試任務(wù),并且約定如果樹的某個節(jié)點(diǎn)有 兒子任務(wù),那么其兒子任務(wù)之間的執(zhí)行邏輯要么全"與,,,要么全"或,,,
9記作- F(q ,G,…,")或or - F" ,f2 ,…人),其中F是節(jié)點(diǎn)標(biāo)識,^是F的兒子 節(jié)點(diǎn),例如圖2中的and-T(l, 2) , and-l (3, 4, 5) , or-2(6,7)等。
^1夸and—or—tree(T)等^f介;也用ECA (event—condi t ion—act ion)步見貝'J集 合表示,ECA規(guī)則通過條件的組合,例如條件的合取(a)、析取(v),描 述組合條件關(guān)系,同時也描述了執(zhí)行活動的執(zhí)行依賴關(guān)系。圖2所示 and—or—tree(T)的部分ECA關(guān)見則表示為On done (1) AND done (2) if imion(l, 2)=TRUE then done (T) ; On done (8) OR done (9) if choice (8, 9)-TRUE then done (6)。其中,done(完成),union (同步與) 和choice (選擇或)都是一階謂詞。
如圖3所示,為基于測試機(jī)能力度測試任務(wù)自動分配方法的流程圖。 當(dāng)測試工作啟動時,測試主控機(jī)讀取并解析測試人員定義的測試執(zhí)行配 置和測試執(zhí)行場景文件,測試主控機(jī)解析當(dāng)前測試執(zhí)行配置文件定義的 各測試執(zhí)行機(jī)的信息,并通過通信系統(tǒng)獲取測試執(zhí)行機(jī)的當(dāng)前所擁有的 資源情況,對測試執(zhí)行場景中的每個原子測試任務(wù),計(jì)算各測試執(zhí)行機(jī) 的執(zhí)行能力度,按照基于執(zhí)行能力度的任務(wù)分配標(biāo)準(zhǔn)將測試任務(wù)分配相 應(yīng)的各測試執(zhí)行機(jī)上進(jìn)行測試,并將任務(wù)分配和部署信息寫入測試執(zhí)行 場景文件。
其中,關(guān)于計(jì)算各測試執(zhí)行機(jī)的執(zhí)行能力度的方法 測試執(zhí)行機(jī)的執(zhí)行能力度描述了測試執(zhí)行機(jī)的系統(tǒng)資源狀況,表示 測試執(zhí)行機(jī)完成任務(wù)的能力大小。記測試執(zhí)行機(jī)a具有執(zhí)行任務(wù)t的執(zhí) 行能力為乂&V ,測試執(zhí)行機(jī)a對于任務(wù)t的執(zhí)行能力度為《,當(dāng)o": si時, 測試執(zhí)行機(jī)a具有執(zhí)行任務(wù)t的能力。
測試執(zhí)行機(jī)a對于任務(wù)t的執(zhí)行能力度《=ov7 + fy2;i,其中
〃 =77, a ( 1 )<formula>formula see original document page 11</formula>
仏是完成任務(wù)t所需的最長時間,;/。是測試執(zhí)行機(jī)a完成任務(wù)t所需 的時間,《是任務(wù)t對第k類資源的需求,《是測試執(zhí)行機(jī)a當(dāng)前所擁有 的第k類資源(當(dāng)前所擁有的第k類資源為測試執(zhí)行機(jī)a擁有的該類 資源的總數(shù)減去被已接受任務(wù)占用的資源數(shù),例如測試執(zhí)行機(jī)a當(dāng)前所 擁有的自由內(nèi)存為擁有的總內(nèi)存減去已用的內(nèi)存),^是相應(yīng)資源的權(quán)
重,|^t=l; w,和^按時間和資源在任務(wù)t中的重要性確定比例,
+ 2 = 1 。
若爿M。/ a ^6//。2 且2《2,則稱測試執(zhí)行機(jī)a,的執(zhí)行能力度大于測試 執(zhí)行機(jī)"2的執(zhí)行能力度。
其中,關(guān)于基于執(zhí)行能力度的任務(wù)分配標(biāo)準(zhǔn) 本方法采用基于測試執(zhí)行能力度的任務(wù)分配標(biāo)準(zhǔn)。 給定原子測試任務(wù)"AT ( AT為原子測試任務(wù)集),任意兩個測試執(zhí)
行機(jī)al和a2,基于測試執(zhí)行能力度的任務(wù)分配標(biāo)準(zhǔn)伊定義為<formula>formula see original document page 11</formula>在測試執(zhí)行過程中,主控端監(jiān)控各測試執(zhí)行機(jī)的執(zhí)行。各測試執(zhí)行 機(jī)接收到測試任務(wù)后按照一定順序進(jìn)行測試,測試過程中,測試執(zhí)行機(jī) 將測試執(zhí)行信息和測試結(jié)果反饋給主控機(jī)。如果需要與其它的測試機(jī)進(jìn) 行同步,則需要發(fā)送同步請求給主控機(jī),由主控機(jī)來控制測試執(zhí)行機(jī)之 間的同步,并完成測試執(zhí)行場景中所定義的各個非原子測試任務(wù)的執(zhí)行。
測試控制臺是針對測試執(zhí)行任務(wù)進(jìn)行定義、管理和報(bào)告的圖形用戶 接口。通過控制臺完成測試執(zhí)行任務(wù)的創(chuàng)建和管理,進(jìn)行測試執(zhí)行配置, 并把測試任務(wù)和測試配置信息發(fā)送給測試執(zhí)行服務(wù)器,完成測試執(zhí)行服務(wù)器返回的測試結(jié)果日志分析工作,提供測試執(zhí)行報(bào)告信息,并對整個 測試的流程和通信進(jìn)行統(tǒng)一管理。
測試執(zhí)行服務(wù)器接收控制臺傳送過來的測試任務(wù)、測試執(zhí)行配置和 測試執(zhí)行場景信息,依據(jù)測試任務(wù)和測試執(zhí)行配置信息,測試執(zhí)行服務(wù) 器進(jìn)行測試任務(wù)的分配、測試腳本的部署、測試任務(wù)的調(diào)度和執(zhí)行,并 收集測試結(jié)果信息,測試結(jié)束后把最終測試結(jié)果日志回送到控制臺。
測試控制臺與測試執(zhí)行服務(wù)器之間,以及測試執(zhí)行服務(wù)器中測試主 控與測試執(zhí)行器間信息交互通過通信子系統(tǒng)完成。通信子系統(tǒng)是分布式 測試執(zhí)行的基礎(chǔ),為測試腳本部署、測試調(diào)度、測試結(jié)果收集等各項(xiàng)活 動提供了支持。
權(quán)利要求
1.一種基于測試執(zhí)行機(jī)能力度的測試任務(wù)自動分配方法,用于分布式自動化測試框架,其特征在于包含以下步驟(1)首先,通過測試控制臺定義測試任務(wù),對復(fù)雜測試任務(wù)(T)進(jìn)行分解,將該復(fù)雜測試任務(wù)(T)表示為and-or-tree(T)結(jié)構(gòu),并描述為相應(yīng)的ECA規(guī)則集合,寫入測試執(zhí)行場景文件中;(2)測試主控機(jī)解析該測試執(zhí)行場景文件,對and-or-tree(T)結(jié)構(gòu)中的每個原子測試任務(wù),迭代執(zhí)行如下步驟獲取當(dāng)前各測試執(zhí)行機(jī)所擁有的資源情況,計(jì)算得到各測試執(zhí)行機(jī)對該原子測試任務(wù)的測試執(zhí)行能力度,然后按照基于測試執(zhí)行機(jī)能力度的測試任務(wù)分配標(biāo)準(zhǔn)將該測試任務(wù)分配給一個測試執(zhí)行機(jī),并將任務(wù)分配情況寫入測試執(zhí)行場景文件中;其中,and-or-tree(T)結(jié)構(gòu)為樹的根節(jié)點(diǎn)表示復(fù)雜測試任務(wù)(T),樹的葉子節(jié)點(diǎn)表示可以被單個測試執(zhí)行機(jī)獨(dú)立完成的原子測試任務(wù),并且,如果樹的某個節(jié)點(diǎn)有兒子任務(wù),那么其兒子任務(wù)之間的執(zhí)行邏輯為全“與”或全“或”關(guān)系;其中,測試執(zhí)行機(jī)(a)對于任務(wù)(t)的執(zhí)行能力度為<maths id="math0001" num="0001" ><math><![CDATA[ <mrow><msubsup> <mi>σ</mi> <mi>a</mi> <mi>t</mi></msubsup><mo>=</mo><msub> <mi>ω</mi> <mn>1</mn></msub><mi>η</mi><mo>+</mo><msub> <mi>ω</mi> <mn>2</mn></msub><mi>λ</mi><mo>,</mo> </mrow>]]></math> id="icf0001" file="A2009101699770002C1.tif" wi="29" he="5" top= "175" left = "154" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>測試執(zhí)行機(jī)的執(zhí)行能力度描述了測試執(zhí)行機(jī)的系統(tǒng)資源狀況,表示測試執(zhí)行機(jī)完成任務(wù)的能力大??;其中η=ηt/ηa<maths id="math0002" num="0002" ><math><![CDATA[ <mrow><mi>λ</mi><mo>=</mo><munderover> <mi>Σ</mi> <mrow><mi>k</mi><mo>=</mo><mn>1</mn> </mrow> <mrow><mi>q</mi><mo>-</mo><mn>1</mn> </mrow></munderover><msub> <mi>μ</mi> <mi>k</mi></msub><mrow> <mo>(</mo> <msubsup><mi>λ</mi><mi>a</mi><mi>k</mi> </msubsup> <mo>/</mo> <msubsup><mi>λ</mi><mi>t</mi><mi>k</mi> </msubsup> <mo>)</mo></mrow> </mrow>]]></math></maths>ηt是完成任務(wù)t所需的最長時間,ηa是測試執(zhí)行機(jī)a完成任務(wù)t所需的時間,λtk是任務(wù)t對第k類資源的需求,λak是測試執(zhí)行機(jī)a當(dāng)前所擁有的第k類資源,即當(dāng)前所擁有的第k類資源為測試執(zhí)行機(jī)a擁有的該類資源的總數(shù)減去被已接受任務(wù)占用的資源數(shù),μk是相應(yīng)資源的權(quán)重,<maths id="math0003" num="0003" ><math><![CDATA[ <mrow><munderover> <mi>Σ</mi> <mrow><mi>k</mi><mo>=</mo><mn>1</mn> </mrow> <mrow><mi>q</mi><mo>-</mo><mn>1</mn> </mrow></munderover><msub> <mi>μ</mi> <mi>k</mi></msub><mo>=</mo><mn>1</mn><mo>;</mo> </mrow>]]></math> id="icf0003" file="A2009101699770003C1.tif" wi="17" he="10" top= "30" left = "22" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>ω1和ω2按時間和資源在任務(wù)t中的重要性確定比例,ω1+ω2=1;其中,測試任務(wù)分配標(biāo)準(zhǔn)為測試執(zhí)行機(jī)a具有執(zhí)行任務(wù)t的執(zhí)行能力為Abilat,測試執(zhí)行機(jī)a對于任務(wù)t的執(zhí)行能力度為σat,當(dāng)<maths id="math0004" num="0004" ><math><![CDATA[ <mrow><msubsup> <mi>σ</mi> <mi>a</mi> <mi>t</mi></msubsup><mo>≥</mo><mn>1</mn> </mrow>]]></math> id="icf0004" file="A2009101699770003C2.tif" wi="10" he="4" top= "56" left = "164" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/></maths>時,測試執(zhí)行機(jī)a具有執(zhí)行任務(wù)t的能力;給定原子測試任務(wù)t∈AT,AT為原子測試任務(wù)集,任意兩個測試執(zhí)行機(jī)a1和a2,基于測試執(zhí)行能力度的任務(wù)分配標(biāo)準(zhǔn) id="icf0005" file="A2009101699770003C3.tif" wi="2" he="3" top= "85" left = "48" img-content="drawing" img-format="tif" orientation="portrait" inline="yes"/>為
2.依權(quán)利要求1所述的基于測試執(zhí)行機(jī)能力度的測試任務(wù)自動分配 方法,其特征在于,步驟(2 )所述的對測試任務(wù)的分配為僅對 and-or-tree(T)中所有原子測試任務(wù)進(jìn)行分配,將原子測試任務(wù)分配給 各測試執(zhí)行機(jī),而樹上其它非原子測試任務(wù)的執(zhí)行與協(xié)調(diào)均由測試主控 機(jī)根據(jù)測試執(zhí)行場景文件中EC A規(guī)則的描述來完成。
全文摘要
本發(fā)明公開了一種基于測試執(zhí)行機(jī)能力度的測試任務(wù)自動分配方法,其面向分布式自動化測試框架,用于提高分布式自動化測試框架的自動化程度。該方法包含以下步驟(1)首先,通過測試控制臺定義測試任務(wù),分解復(fù)雜測試任務(wù)T,表示為and-or-tree(T)結(jié)構(gòu),并描述為相應(yīng)的ECA規(guī)則,寫入測試執(zhí)行場景文件中。(2)測試主控機(jī)解析測試執(zhí)行場景文件,對and-or-tree(T)中的每個原子測試任務(wù),迭代執(zhí)行如下步驟獲取當(dāng)前各測試執(zhí)行機(jī)所擁有的資源情況,計(jì)算得到各測試執(zhí)行機(jī)對該原子測試任務(wù)的測試執(zhí)行能力度,然后按照基于測試執(zhí)行機(jī)能力度的測試任務(wù)分配標(biāo)準(zhǔn)將該測試任務(wù)分配給一個測試執(zhí)行機(jī),并將任務(wù)分配情況寫入測試執(zhí)行場景文件中。
文檔編號G06F11/36GK101645036SQ20091016997
公開日2010年2月10日 申請日期2009年9月11日 優(yōu)先權(quán)日2009年9月11日
發(fā)明者蘭雨晴, 靜 高 申請人:蘭雨晴