專利名稱:加速手動(dòng)測(cè)試?yán)龍?zhí)行的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及加速手動(dòng)測(cè)試?yán)龍?zhí)行的方法和裝置,更具體地涉及一種通過避免重復(fù)手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)械闹睾喜僮鞫铀偈謩?dòng)測(cè)試?yán)龍?zhí)行的方法和裝置。
背景技術(shù):
測(cè)試?yán)怯脩糁付ò凑仗囟樞驁?zhí)行的 一 系列操作,其中每個(gè)操作是用戶與被測(cè)系統(tǒng)的一次或多次交互。用戶與系統(tǒng)的交互可以是通
過操作被測(cè)系統(tǒng)的用戶界面來執(zhí)行,例如,打開url、填表格、然后點(diǎn)擊提交按鈕。
測(cè)試?yán)梢允謩?dòng)執(zhí)行或自動(dòng)執(zhí)行。自動(dòng)執(zhí)行測(cè)試?yán)窃跓o人工干預(yù)的情況下自動(dòng)地執(zhí)行測(cè)試?yán)?,通常運(yùn)行較快。然而,實(shí)際中,測(cè)試多數(shù)是手動(dòng)執(zhí)行過程。主要原因在于,手動(dòng)測(cè)試?yán)淖詣?dòng)化需要一定的投入,而且在原始功能或者界面改變的情況下自動(dòng)化的測(cè)試?yán)苋菀自獾狡茐?,即,自?dòng)化的測(cè)試?yán)趹?yīng)用程序改變的情況下將變得無效。因此目前,在測(cè)試領(lǐng)域中,手動(dòng)測(cè)試執(zhí)行仍然是主導(dǎo)的。而手動(dòng)測(cè)試?yán)龍?zhí)行面臨的最主要的問題在于投入到測(cè)試?yán)龍?zhí)行上的時(shí)間和花費(fèi)巨大。如何提高手動(dòng)測(cè)試?yán)龍?zhí)行的效率成為測(cè)試領(lǐng)域的研究熱點(diǎn)。
題為 "System and method enabling execution stop and restart ofa test executive sequence"的美國(guó)專利No.7076692中7>開了 一種通過存儲(chǔ)測(cè)試?yán)龍?zhí)行過程中的被測(cè)系統(tǒng)快照,當(dāng)有重復(fù)的測(cè)試?yán)僮?在本領(lǐng)域中亦稱為測(cè)試?yán)襟E)出現(xiàn)時(shí),恢復(fù)被保存的系統(tǒng)快照,從而減少重復(fù)操作執(zhí)行的時(shí)間和花費(fèi)的系統(tǒng)和方法。執(zhí)行"快照"包括保存被測(cè)系統(tǒng)在測(cè)試?yán)龍?zhí)行的某個(gè)階段相應(yīng)點(diǎn)恢復(fù)和重啟執(zhí)行所需的所有數(shù)據(jù)。在其它測(cè)試?yán)龍?zhí)行期間,如果前面幾步已經(jīng)被執(zhí)行過,則可以恢復(fù)相關(guān)快照,來避免對(duì)這些操作的冗余執(zhí)行。然而該方案的缺點(diǎn)
在于,針對(duì)復(fù)雜的應(yīng)用程序,尤其是J2EE、 Web和SOA程序,難以存儲(chǔ)和恢復(fù)快照。而且這種方法僅僅減少了測(cè)試者的測(cè)試執(zhí)行花費(fèi),而減少的測(cè)試執(zhí)行時(shí)間受限于恢復(fù)系統(tǒng)所需的時(shí)間。
另夕卜,在題為 "Method and system for optimizing configurationclassification of software"的美國(guó)專利No.7370039以及題為"Methodand system for optimizing configuration classification of software"的美國(guó)專利No.20060224359中提出了通過優(yōu)化測(cè)試?yán)O(shè)計(jì),從而減少測(cè)試?yán)龜?shù),由此來提高手動(dòng)測(cè)試?yán)龍?zhí)行的效率。然而,這種方法是從測(cè)試?yán)O(shè)計(jì)的角度出發(fā)的,不涉及測(cè)試?yán)龍?zhí)行過程的優(yōu)化。
因此,希望提供 一 種同時(shí)減少手動(dòng)測(cè)試?yán)龍?zhí)行成本和時(shí)間的方法和裝置。
發(fā)明內(nèi)容
本發(fā)明的一個(gè)目的在于提供一種加速手動(dòng)測(cè)試?yán)龍?zhí)行的方法和裝置,用于消除或部分地消除現(xiàn)有技術(shù)中的上述問題。
本發(fā)明為了提高手動(dòng)測(cè)試?yán)龍?zhí)行效率而提供了 一種通過自動(dòng)地同時(shí)執(zhí)行多個(gè)測(cè)試?yán)械闹睾喜僮鞯姆椒ê脱b置。具體而言,本發(fā)明通過分析在同 一被測(cè)系統(tǒng)上運(yùn)行的多個(gè)測(cè)試?yán)g的構(gòu)成關(guān)系,找出可以并行執(zhí)行的重合操作,從而加速多個(gè)測(cè)試?yán)诒粶y(cè)系統(tǒng)上的手動(dòng)執(zhí)行。
在本發(fā)明的第 一方面中,提供了 一種加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)姆椒?,所述多個(gè)測(cè)試?yán)糜谠诒粶y(cè)系統(tǒng)上執(zhí)行以對(duì)該被測(cè)系統(tǒng)進(jìn)行測(cè)試,該方法包括以下步驟分析所述多個(gè)測(cè)試?yán)g的測(cè)試?yán)僮麝P(guān)系,以確定所述多個(gè)測(cè)試?yán)g重合的測(cè)試?yán)僮?;并且?dāng)手動(dòng)執(zhí)行到所述多個(gè)測(cè)試?yán)腥我粋€(gè)所包含的測(cè)試?yán)僮鲿r(shí),自動(dòng)地同時(shí)執(zhí)行其他測(cè)試?yán)信c該測(cè)試?yán)僮髦睾系臏y(cè)試?yán)僮鳌?br>
優(yōu)選地,在本發(fā)明第一方面中的加速手動(dòng)測(cè)試?yán)龍?zhí)行的方法中,所述自動(dòng)地同時(shí)執(zhí)行所述重合操作包括創(chuàng)建一個(gè)或多個(gè)關(guān)于所述被
7測(cè)系統(tǒng)的副本系統(tǒng);根據(jù)分析出的測(cè)試?yán)僮麝P(guān)系以及副本系統(tǒng)的數(shù)目,計(jì)算測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā);按照計(jì)算出的測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)向所創(chuàng)建的副本系統(tǒng)分發(fā)測(cè)試?yán)僮鳎灰约霸跍y(cè)試?yán)僮鞅环职l(fā)到的副本系統(tǒng)上執(zhí)行所分發(fā)的測(cè)試?yán)僮?。更?yōu)選地,根據(jù)分析出的測(cè)試?yán)僮麝P(guān)系以及副本系統(tǒng)的數(shù)目,計(jì)算測(cè)試?yán)龍?zhí)行順序;以及按照計(jì)算出的測(cè)試?yán)龍?zhí)行順序手動(dòng)地執(zhí)行多個(gè)測(cè)試?yán)?br>
在本發(fā)明的第二方面中,提供了一種加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)难b置,所述多個(gè)測(cè)試?yán)糜谠诒粶y(cè)系統(tǒng)上執(zhí)行以對(duì)該被測(cè)系統(tǒng)進(jìn)行測(cè)試,該裝置包括測(cè)試?yán)治銎?,用于分析所述多個(gè)測(cè)試?yán)g的測(cè)試?yán)僮麝P(guān)系,以確定所述多個(gè)測(cè)試?yán)g重合的測(cè)試?yán)僮?;和測(cè)試?yán)刂破鳎糜谶M(jìn)行控制以使得當(dāng)手動(dòng)執(zhí)行到所述多個(gè)測(cè)試?yán)腥我粋€(gè)所包含的測(cè)試?yán)僮鲿r(shí),自動(dòng)地同時(shí)執(zhí)行其他測(cè)試?yán)信c該測(cè)試?yán)僮髦睾系臏y(cè)試?yán)僮鳌?br>
在本發(fā)明的第三方面中,提供了 一種手動(dòng)測(cè)試系統(tǒng),該系統(tǒng)包括手動(dòng)測(cè)試平臺(tái);和嵌入到手動(dòng)測(cè)試平臺(tái)上的加速手動(dòng)測(cè)試?yán)龍?zhí)行裝置,該加速手動(dòng)測(cè)試?yán)龍?zhí)行裝置用于加速在被測(cè)系統(tǒng)上針對(duì)多個(gè)測(cè)試?yán)氖謩?dòng)執(zhí)行,該加速手動(dòng)測(cè)試?yán)龍?zhí)行裝置包括測(cè)試?yán)治銎?,用于分析所述多個(gè)測(cè)試?yán)g的測(cè)試?yán)僮麝P(guān)系,以確定所述多個(gè)測(cè)試?yán)g重合的測(cè)試?yán)僮?;和測(cè)試?yán)刂破?,用于進(jìn)行控制以使得當(dāng)手動(dòng)執(zhí)行到所述多個(gè)測(cè)試?yán)腥我粋€(gè)所包含的測(cè)試?yán)僮鲿r(shí),自動(dòng)地同時(shí)執(zhí)行其他測(cè)試?yán)信c該測(cè)試?yán)僮髦睾系臏y(cè)試?yán)僮鳌?br>
與現(xiàn)有的手動(dòng)測(cè)試?yán)龍?zhí)行方法相比,本發(fā)明通過避免重復(fù)執(zhí)行多個(gè)測(cè)試?yán)械闹睾喜僮?,既減少了執(zhí)行的成本,也減少了測(cè)試執(zhí)行時(shí)間。
根據(jù)以下參照附圖對(duì)本發(fā)明示例性實(shí)施方式的詳細(xì)描述,將更好地理解以上和其他示例目的、方面和優(yōu)點(diǎn)。
圖l示出了具有重合操作的多個(gè)測(cè)試?yán)g的構(gòu)成關(guān)系;圖2示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的加速手動(dòng)測(cè)試?yán)龍?zhí)行的方法 的總流程圖3示出了根據(jù)本發(fā)明一實(shí)施例的避免重復(fù)執(zhí)行多個(gè)測(cè)試?yán)g 的重合操作的方法的流程圖4A和圖4B以列表的形式分別示出了在系統(tǒng)資源不受限和受 限情況下計(jì)算出的測(cè)試?yán)龍?zhí)行順序及測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā);
圖5示出了根據(jù)本發(fā)明另 一優(yōu)選實(shí)施例的避免重復(fù)執(zhí)行重合操作 的方法的流程圖;以及
圖6是示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)?的裝置的框圖。
具體實(shí)施例方式
應(yīng)當(dāng)理解,本發(fā)明的附圖和描述已經(jīng)簡(jiǎn)化,以例示有助于清楚地 理解本發(fā)明的步驟或部件,同時(shí)出于清楚的目的,除去了典型的軟件 分析技術(shù)中的其他步驟或部件。本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到,為了實(shí)施 本發(fā)明,其他步驟或部件是希望的和/或是必需的。然而,由于這些步 驟或部件是本領(lǐng)域所公知的,并且由于它們并不助于更好地理解本發(fā) 明,所以本文中并未給出關(guān)于它們的描述。還應(yīng)當(dāng)理解,本文所包括 的附圖僅僅給出了對(duì)于本發(fā)明的當(dāng)前優(yōu)選實(shí)施例的圖形表示,落入本 發(fā)明的范圍內(nèi)的步驟或部件可包括不同于這些附圖中示出的步驟或部 件。下面將參照附圖,其中對(duì)類似的步驟或部件給予類似的附圖標(biāo)記。
本發(fā)明的發(fā)明人發(fā)現(xiàn),在通常情況下,針對(duì)某一被測(cè)系統(tǒng)所設(shè)計(jì) 的一組測(cè)試?yán)g存在多個(gè)重合操作。例如,在訂單管理系統(tǒng)中,存 在兩個(gè)測(cè)試?yán)?一個(gè)是"同意訂單",另一個(gè)是"拒絕訂單"。這兩 個(gè)測(cè)試?yán)季哂?登錄"和"提交訂單"兩個(gè)相同的操作。在實(shí)際系 統(tǒng)測(cè)試中,多個(gè)測(cè)試?yán)g可能具有更多的重合操作。圖l例示了針 對(duì)某個(gè)被測(cè)系統(tǒng)的三個(gè)測(cè)試?yán)瑴y(cè)試?yán)?、 2和3,其中每個(gè)測(cè)試?yán)?包含必須依次執(zhí)行的多個(gè)操作。如圖1中的測(cè)試?yán)龢渌?,測(cè)試?yán)?、 2、 3都具有相同的頭兩個(gè)操作"打開"和"登錄",測(cè)試?yán)?和2還具有相同的操作"同意,,。若按照現(xiàn)有技術(shù)一步步執(zhí)行這三個(gè)測(cè)試?yán)?br>
總共需要執(zhí)行12個(gè)操作。設(shè)想如果能通過避免重復(fù)執(zhí)行這些測(cè)試?yán)?間的重合操作,將會(huì)大大提高手動(dòng)測(cè)試?yán)龍?zhí)行的效率。
圖2示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的加速手動(dòng)測(cè)試?yán)龍?zhí)行的方法 的總流程圖。系統(tǒng)測(cè)試執(zhí)行開始于步驟20處。首先,在步驟22處, 構(gòu)造要在被測(cè)系統(tǒng)上運(yùn)行的m個(gè)測(cè)試?yán)@里m為正整數(shù)。本發(fā)明 中所稱測(cè)試?yán)梢允侨我膺m合形式的,只要包含彼此獨(dú)立的測(cè)試?yán)?作即可。本領(lǐng)域技術(shù)人員應(yīng)該理解,可以通過從測(cè)試?yán)僮鲙?kù)中調(diào)取 多個(gè)測(cè)試?yán)僮?,也可以接收通過輸入設(shè)備輸入的多個(gè)測(cè)試?yán)僮鳎?來構(gòu)造要測(cè)試運(yùn)行的測(cè)試?yán)?。這里,輸入設(shè)備例如是鍵盤、鼠標(biāo)、控 制桿、手寫輸入板以及語(yǔ)音輸入設(shè)備等中的一個(gè)或多個(gè)。
接著,在步驟24處,分析在步驟22處構(gòu)造的m個(gè)測(cè)試?yán)g 的關(guān)系,識(shí)別出重合操作。如圖1所示,可以構(gòu)建描述多個(gè)測(cè)試?yán)?間的關(guān)系的測(cè)試?yán)龢?,通過存儲(chǔ)表或鏈接等形式來記錄這多個(gè)測(cè)試?yán)?之間的構(gòu)成關(guān)系。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)明白,除了測(cè)試?yán)龢湟酝猓?他適合的描述測(cè)試?yán)g的構(gòu)成關(guān)系的方式也是可以的。
最后,在步驟26處,當(dāng)執(zhí)行到所分析出的重合操作時(shí),在包含 該重合操作的那些測(cè)試?yán)凶詣?dòng)地同時(shí)執(zhí)行該重合操作。如圖1所示, 例如在執(zhí)行測(cè)試?yán)齦的"打開"和"登錄"操作時(shí),同時(shí)將自動(dòng)執(zhí)行 測(cè)試?yán)?和3中的"打開"和"登錄"操作,并且例如在執(zhí)行測(cè)試?yán)?1中的"同意"操作時(shí),將自動(dòng)執(zhí)行測(cè)試?yán)?中的"同意"操作。下 文中將更詳細(xì)地描述在步驟26處如何利用分析出的多個(gè)測(cè)試?yán)g 的重合操作信息而自動(dòng)地同時(shí)執(zhí)行這些重合操作。
目前,隨著計(jì)算機(jī)硬件計(jì)算能力的提高以及系統(tǒng)虛擬化的發(fā)展, 保持多個(gè)被測(cè)系統(tǒng)的成本和計(jì)算開銷大大降低。下面參照?qǐng)D3來詳細(xì) 說明在步驟26處如何自動(dòng)同時(shí)執(zhí)行重合操作。圖3示出了根據(jù)本發(fā)明
方法的流程圖。
在步驟302處,根據(jù)在圖2中的步驟24處分析出的重合操作數(shù)
10目以及系統(tǒng)資源狀況,來創(chuàng)建n個(gè)副本系統(tǒng),這里n為正整數(shù)。本領(lǐng) 域技術(shù)人員應(yīng)當(dāng)理解,在假設(shè)系統(tǒng)資源無限大的情況下,從最優(yōu)化手 動(dòng)測(cè)試?yán)龍?zhí)行的效率來看,副本系統(tǒng)的數(shù)目應(yīng)僅僅由測(cè)試?yán)g的重合 操作數(shù)目和關(guān)系來決定。但實(shí)際上,測(cè)試系統(tǒng)資源必定是有限的,因 而不可能采用任意數(shù)量的副本系統(tǒng)。本發(fā)明中,在步驟302處,還可 以允許用戶輸入副本系統(tǒng)數(shù)上限。構(gòu)建副本系統(tǒng)的技術(shù)是本領(lǐng)域所公 知的,為了避免使得本發(fā)明雜亂不清楚,在此不對(duì)構(gòu)建副本系統(tǒng)進(jìn)行 詳細(xì)描述。本領(lǐng)域技術(shù)人員還將理解可以通過虛擬技術(shù)來構(gòu)建被測(cè)系 統(tǒng)的副本系統(tǒng)。
這里,需要指出的是,在本發(fā)明實(shí)施例中,就執(zhí)行測(cè)試?yán)裕?副本系統(tǒng)與被測(cè)系統(tǒng)的功能是相同的。因而,在創(chuàng)建了副本系統(tǒng)之后, 可以不必再區(qū)分"被測(cè)系統(tǒng)"和創(chuàng)建的"副本系統(tǒng)",而是可以將它 們通稱為"副本系統(tǒng)"。
創(chuàng)建了副本系統(tǒng)之后,接下來,在步驟304處,根據(jù)分析出的重 合操作以及所創(chuàng)建^副本系統(tǒng)的數(shù)目,計(jì)算測(cè)試?yán)龍?zhí)行順序以及測(cè)試 例操作到副本系統(tǒng)的分發(fā)。在本實(shí)施例中,采用變量Worklist來記錄 計(jì)算出的測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā),例如 Worklist中每一條記錄存儲(chǔ)有執(zhí)行順序Order、當(dāng)前執(zhí)行的操作號(hào) OperationNo、分發(fā)指示符DistrnFlag、分發(fā)到多少個(gè)副本系統(tǒng)k以及 分發(fā)哪些副本系統(tǒng)RaplicaNo,即〈Order, OperationNo, DistrnFlag, k, ReplicaInfo>,其中分發(fā)指示符DistrnFlag - O表示不向其他副本系統(tǒng) 分發(fā)該測(cè)試?yán)僮?,DistrnFlag-1表示該測(cè)試?yán)僮鳛橹睾喜僮鳎?要向其他副本系統(tǒng)分發(fā)。還例如,為了確保操作執(zhí)行順序的準(zhǔn)確性, 可以釆用冗余^己錄的形式的Worklist,即〈Order, OperationNol, OperationNo2, DistrnFlag, k, ReplicaInfo>, 其中OperationNol是當(dāng) 前要執(zhí)行的操作,OperationNo2是接下去要執(zhí)行的操作。本領(lǐng)域技術(shù) 人員應(yīng)該明白以任意其他適合方法存儲(chǔ)測(cè)試?yán)龍?zhí)行順序和測(cè)試?yán)僮?到副本系統(tǒng)的分發(fā)的Worklist都是可行的,并不限于本發(fā)明所公開的 具體形式。步驟304中的計(jì)算操作例如可以按照多個(gè)測(cè)試?yán)目倛?zhí)行操作數(shù) 最少來執(zhí)行,也可以通過檢索測(cè)試?yán)懈鱾€(gè)執(zhí)行操作的先前存儲(chǔ)的執(zhí) 行時(shí)間而按照總執(zhí)行時(shí)間最短來執(zhí)行。本領(lǐng)域技術(shù)人員應(yīng)該理解,任 意其他適合的計(jì)算執(zhí)行準(zhǔn)則都是可行的。當(dāng)計(jì)算執(zhí)行準(zhǔn)則確定后,可 利用運(yùn)籌統(tǒng)計(jì)學(xué)中現(xiàn)有成熟的統(tǒng)計(jì)分析方法來計(jì)算測(cè)試?yán)龍?zhí)行順序以 及測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā),在此不再累述。
在步驟306處,初始化n個(gè)副本系統(tǒng)。然后,進(jìn)行到步驟308, 逐條讀取步驟304處獲得的Worklist中的數(shù)據(jù)記錄<Order, OperationNo, DistrnFlag, k, ReplicaInfo>。在步驟310處,從測(cè)試?yán)?樹讀取該條記錄中操作號(hào)OperationNo指示的操作。接下去,在步驟 312處判斷分發(fā)指示符DistrnFlag是否為0。如果DistrnFlag = 0,則 表明不向其他副本系統(tǒng)分發(fā)該操作,流程進(jìn)行到步驟322,無需復(fù)制
測(cè)試?yán)僮?,而僅在Replicalnfo指示的副本系統(tǒng)上執(zhí)行該操作,然后 流程轉(zhuǎn)至步驟320。
返回到步驟312,如果DistrnFlag不為0,則表明該測(cè)試?yán)僮?為重合操作,需要分發(fā)到其他副本系統(tǒng)。流程進(jìn)行到步驟314,讀取 該條數(shù)據(jù)記錄中指示的k (k為正整數(shù))值,將該測(cè)試?yán)僮鲝?fù)制k 、份。接著在步驟316處,將復(fù)制的k個(gè)測(cè)試?yán)僮鞣职l(fā)到記錄中 R印licalnfo指示的k個(gè)副本系統(tǒng),這里k^n。在本實(shí)施例中,可以將 所復(fù)制的k個(gè)測(cè)試?yán)僮骷捌浞职l(fā)信息包含在一請(qǐng)求信號(hào)中,通過與 測(cè)試客戶端可通信地連接的截獲器來獲取該請(qǐng)求信號(hào),并根據(jù)該請(qǐng)求 信號(hào)中包含的分發(fā)信息來執(zhí)行對(duì)所復(fù)制的k個(gè)測(cè)試?yán)僮鞯姆职l(fā)。當(dāng) 然,本領(lǐng)域技術(shù)人員應(yīng)該理解,以任何其他適當(dāng)方式傳送分發(fā)信息也 是可以的。
需要指出的是,參量Replicalnfo可以由兩部分構(gòu)成,即 Replicalnfo(ReplicaNo, Replndicator),其中ReplicaNo指示要分發(fā)到 的副本系統(tǒng)的編號(hào),而Replndicator表示在分發(fā)該測(cè)試?yán)僮髦笆?否要對(duì)ReplicaNo指示的副本系統(tǒng)進(jìn)行初始化。當(dāng)完成某個(gè)測(cè)試?yán)?后,通過令參量Replndicator = 0來指示初始化該測(cè)試?yán)谄渖线\(yùn)4亍系統(tǒng)可以用于運(yùn)行其他測(cè)試?yán)?。這樣,可以
最大化對(duì)副本系統(tǒng)資源的利用率。接下去,步驟318處,在k個(gè)副本 系統(tǒng)上自動(dòng)地同時(shí)執(zhí)行該測(cè)試?yán)僮?。然后流程進(jìn)行到步驟320。
在步驟320中,判斷是否已經(jīng)讀取完Worklist中的所有條記錄, 即是否執(zhí)行完所有的測(cè)試?yán)?。如果Worklist還有記錄沒有被讀取,即 還有測(cè)試?yán)龥]有被執(zhí)行完,則流程返回至步驟308,繼續(xù)讀取新一條 記錄,然后針對(duì)新記錄中的測(cè)試?yán)僮鲌?zhí)行步驟310至318。當(dāng)在步 驟320處判定已經(jīng)讀取Worklist中的所有條記錄即Worlist為空 (Null),則針對(duì)被測(cè)系統(tǒng)的整個(gè)測(cè)試處理流程結(jié)束。
下面將針對(duì)圖1所示的測(cè)試實(shí)例來說明圖2和圖3中示出的自動(dòng) 同時(shí)執(zhí)行重合操作的方法。在圖l所示的示例中,假設(shè)在圖2中的步 驟22處共構(gòu)造了 m - 3個(gè)測(cè)試?yán)瑴y(cè)試?yán)?具有測(cè)試?yán)僮鱋ptl(打 開)、Opt2 (登錄)、Opt3 (同意)和Opt4 (提交),測(cè)試?yán)?具 有測(cè)試?yán)僮鱋ptl (打開)、Opt2 (登錄)、Opt3 (同意)和Opt5 (退出),而測(cè)試?yán)?具有測(cè)試?yán)僮鱋ptl (打開)、Opt2 (登錄)、 Opt6 (拒絕)和Opt7 (查詢)。在步驟24處,分析這三個(gè)測(cè)試?yán)?間的重合操作,繪制如圖1中示出的測(cè)試?yán)龢?,其中測(cè)試?yán)?、測(cè)試 例2和測(cè)試?yán)?中的頭兩個(gè)操作Optl和Opt2是重合的,而測(cè)試?yán)? 和測(cè)試?yán)?中的Opt3這個(gè)操作也是重合的。
如果按理想情況不限制副本系統(tǒng)的數(shù)目,則根據(jù)上述分析出的重 合操作數(shù)和測(cè)試?yán)龜?shù),在步驟302處,創(chuàng)建n -3個(gè)副本系統(tǒng)Replical、 Replica2和Replica3。在步驟304處,按照理想上總執(zhí)行時(shí)間最短且 總執(zhí)行操作最少的原則計(jì)算得到如圖4A所示的Worlist,即將三個(gè)測(cè) 試?yán)謩e分發(fā)到三個(gè)副本系統(tǒng)上。在步驟306處初始化三個(gè)副本系統(tǒng) Replical、 Replica2和Replica3。
接著在步驟308處讀取Worklist中的第一條記錄<1, Optl, 1, 3, (1,2,3;1)>。接著執(zhí)行步驟312到318,由DistrnFlag-l可知,該條記 錄中的測(cè)試?yán)?的測(cè)試?yán)僮鱋ptl是重合操作,要復(fù)制k-3份,并 分發(fā)到Replical、 Replica2和Replica3三個(gè)副本系統(tǒng),然后在這三個(gè)
13副本系統(tǒng)上自動(dòng)地同時(shí)執(zhí)行該測(cè)試?yán)僮鱋ptl。然后,經(jīng)過在步驟 320處對(duì)Worklist是否為空的判斷,流程轉(zhuǎn)至步驟308繼續(xù)讀取新一 條記錄<2, Opt2,1,3, (1,2,3;1)>。重復(fù)執(zhí)行步驟310至318,與Optl 類似,測(cè)試?yán)僮鱋pt2也是測(cè)試?yán)?、 2和3都具有的重合步驟,將 其復(fù)制3'份然后分發(fā)到三個(gè)副本系統(tǒng)上,并在三個(gè)副本系統(tǒng)上同時(shí)執(zhí) 行該測(cè)試?yán)僮鱋pt2。
然后讀取到記錄<3, Opt3, 1, 2, (1, 2;1)>,該測(cè)試?yán)僮鱋pt3是 測(cè)試?yán)?和測(cè)試?yán)?所共有的,應(yīng)被復(fù)制2份,分別分發(fā)到副本系統(tǒng) Replical和Replica2,并在這兩個(gè)副本系統(tǒng)上同時(shí)執(zhí)行操作Opt3。然 后流程進(jìn)行到記錄<4, Opt4, 0, 1, (1;1)>,從DistrnFlag-0可知,該條 記錄中的測(cè)試?yán)僮鱋pt4不是重合操作,而是測(cè)試?yán)?所特有的操 作,因而無需復(fù)制操作Opt4,僅僅在記錄中指示的副本系統(tǒng)Replical 上執(zhí)行該操作Opt4。接下來,才艮據(jù)記錄<5, Opt5, 0, 1, (2;1)>、 <6, Opt6, 0, 1, (3;1)>和<7, Opt7, 0, 1, (3;1)>的內(nèi)容依次在相應(yīng)的副本系統(tǒng)上執(zhí) 4亍操作Opt5、 Opt6和Opt7。
針對(duì)以上示例,在不采用本發(fā)明的避免重復(fù)執(zhí)行多個(gè)測(cè)試?yán)g 的重合操作的方法的情況下,將需要總共執(zhí)行12個(gè)操作,需要花費(fèi)的
為執(zhí)行操作Optj所需的時(shí)間(j=l,2,...,7)。而采用本發(fā)明的自動(dòng)避 免重復(fù)執(zhí)行重合操作的方法后,如圖4A所示,總共只需執(zhí)行7個(gè)操 作,總執(zhí)行時(shí)間為(T1+T2+T3+T4+T5+T6+T7))。采用本發(fā)明后,無論 是總執(zhí)行操作數(shù)還是總執(zhí)行時(shí)間都得到了顯著縮小。
以上參照?qǐng)D4A描述的是副本系統(tǒng)資源不受限制的理想情況,正 如前所述,實(shí)際上系統(tǒng)資源都是有限的,這樣就不可能達(dá)到理想的總 執(zhí)行操作數(shù)或總執(zhí)行時(shí)間的最小值,而是需要在圖3中的步驟304處 針對(duì)總執(zhí)行操作數(shù)或總執(zhí)行時(shí)間來優(yōu)化測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)?作到副本系統(tǒng)的分發(fā)。下面將參照?qǐng)D4B來說明圖1中的測(cè)試實(shí)例在 副本系統(tǒng)數(shù)限定為n = 2的情況下如何應(yīng)用本發(fā)明。在此僅說明與圖 4A中情況不同的步驟。在圖3的步驟302處,根據(jù)系統(tǒng)資源的限制,僅僅創(chuàng)建n-2個(gè) 副本系統(tǒng)Replical和Replica2。接下去,在步驟304處,假設(shè)按照總 執(zhí)行操作數(shù)最少的原則來優(yōu)化測(cè)試?yán)龍?zhí)行順序和到副本系統(tǒng)的分發(fā)。 在各種執(zhí)行順序和分發(fā)的情況下,確定所需執(zhí)行的操作數(shù),然后比較 各種情況下的總執(zhí)行操作數(shù),最后選取總執(zhí)行操作數(shù)最少的執(zhí)行順序 和分發(fā)。當(dāng)然在各個(gè)測(cè)試?yán)械臏y(cè)試?yán)僮鞯膱?zhí)行時(shí)間可知道的情況 下,也可以通過相加得到各種執(zhí)行順序和分發(fā)情況下的執(zhí)行時(shí)間,然 后比較各種情況下的總執(zhí)行時(shí)間,從而按照總執(zhí)行時(shí)間最短的原則來 選取最優(yōu)的測(cè)試?yán)龍?zhí)行順序和到副本系統(tǒng)的分發(fā)。
針對(duì)圖1所示的測(cè)試?yán)闆r,為了保證總執(zhí)行操作數(shù)最少,需要 先在副本系統(tǒng)Replical和Replica2上分別執(zhí)行測(cè)試?yán)?和測(cè)試?yán)?, 然后初始化執(zhí)行完測(cè)試?yán)娜我桓北鞠到y(tǒng),從而在該副本系統(tǒng)上執(zhí)行 測(cè)試?yán)?,圖4B給出了這種執(zhí)行情況下的Worklist。
下面針對(duì)圖1中的示例,按照?qǐng)D4B給出的Worklist來繼續(xù)執(zhí)行 圖3中的步驟。在步驟306處,初始化兩個(gè)副本系統(tǒng)Replical和 Replica2。然后在步驟308,讀取Worklist中的第一條記錄<1, Optl, 1, 2,(1,2;1)>,將Optl分發(fā)到兩個(gè)副本系統(tǒng)上,并在這兩個(gè)副本系統(tǒng)同 時(shí)執(zhí)行。接下去讀取Worklist中的第二條和第三條記錄,類似地,將 Opt2和Opt3分發(fā)到兩個(gè)副本系統(tǒng)上,并在這兩個(gè)副本系統(tǒng)上同時(shí)執(zhí) 行。然后,讀取Worklist中的第四、第五條記錄〈4,Opt4,0,l,(l;1)〉、 <5, Opt5, 0, 1, (2;1)>,依次分別在副本系統(tǒng)Replical和Replica2上執(zhí) 行操作Opt4和Opt5。由此,執(zhí)行完測(cè)試?yán)?和測(cè)試?yán)?。
之后,讀取Worklist中的第六條記錄〈6,Optl,0,l,(l;0)〉,從這 條記錄開始執(zhí)行測(cè)試?yán)?中的測(cè)試?yán)僮?。在?zhí)行測(cè)試?yán)?中的第一 步操作Optl之前先初始化副本系統(tǒng)Replical,使得可在其上執(zhí)行測(cè) 試?yán)?。在該副本系統(tǒng)Replical上依次執(zhí)行測(cè)試?yán)?中的操作Optl、 Opt2、 Opt6和Opt7,從而完成測(cè)試?yán)?、 2和3在測(cè)試系統(tǒng)上的運(yùn)行。
從圖4B中可見,在副本系統(tǒng)資源限制在n-2的情況下,總共執(zhí) 行了9個(gè)操作,所花費(fèi)的總執(zhí)行時(shí)間為(T1+T2+T3+T4+T5+(T1+T2+T6+T7))。較之不采用本發(fā)明的避免重復(fù) 執(zhí)行重合操作的情況,圖4B的資源受限情況下的執(zhí)行效果仍然有優(yōu) 勢(shì),只是與圖4A中的效果相比,執(zhí)行操作數(shù)和執(zhí)行時(shí)間都有所增加。 由此可知副本系統(tǒng)資源受限程度越大,本發(fā)明的加速手動(dòng)測(cè)試?yán)龍?zhí)行 的優(yōu)勢(shì)越不突出。在副本系統(tǒng)數(shù)n-l的極限情況下,本發(fā)明就失去了 相對(duì)于現(xiàn)有技術(shù)的優(yōu)勢(shì)。因此,本發(fā)明的加速手動(dòng)測(cè)試?yán)龍?zhí)行的方法 在系統(tǒng)資源豐富的情況下尤為有利。
圖5示出了根據(jù)本發(fā)明另 一優(yōu)選實(shí)施例的避免重復(fù)執(zhí)行重合操作 的方法的流程圖。該實(shí)施例與圖3中所示的實(shí)施例基本相同,只是增 加了在數(shù)據(jù)庫(kù)中查找是否曾計(jì)算過測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯?副本系統(tǒng)的分發(fā)的步驟。對(duì)于與圖3中相同的步驟不再累述,在此僅 僅描述與圖3中實(shí)施例不同的步驟。
具體地,在系統(tǒng)中設(shè)置一數(shù)據(jù)庫(kù)DB,用于存儲(chǔ)和管理對(duì)于被測(cè) 系統(tǒng)的測(cè)試日志,該測(cè)試日志除了包括先前存儲(chǔ)的測(cè)試?yán)龍?zhí)行順序和 測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)之外,例如還可以包括以下中的任一個(gè) 或多個(gè)系統(tǒng)先前測(cè)試執(zhí)行時(shí)間、系統(tǒng)測(cè)試結(jié)果、系統(tǒng)修改記錄,等 等。在步驟302中創(chuàng)建了 n個(gè)副本系統(tǒng)之后,測(cè)試流程在步驟510處 訪問數(shù)據(jù)庫(kù)DB,以讀取針對(duì)步驟22中構(gòu)造的m個(gè)測(cè)試?yán)臏y(cè)試日志, 從而獲得先前存儲(chǔ)的測(cè)試?yán)龍?zhí)行順序和測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分 發(fā)。
在步驟520處,可以根據(jù)讀取出的測(cè)試日志來判斷是否采用先前 存儲(chǔ)的測(cè)試?yán)龍?zhí)行順序和測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)。測(cè)試者例如 可以根據(jù)本次測(cè)試距所存儲(chǔ)的系統(tǒng)測(cè)試執(zhí)行的時(shí)間、系統(tǒng)資源變化狀 況、與本次測(cè)試考察目標(biāo)的相關(guān)性等等因素來進(jìn)行判斷。本領(lǐng)域技術(shù) 人員應(yīng)該理解,任意其他適合的判斷準(zhǔn)則都是可行的。
若在步驟520處判定本次測(cè)試可以采用先前存儲(chǔ)的測(cè)試?yán)龍?zhí)行順 序和測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā),則流程轉(zhuǎn)至步驟306。否則,流 程進(jìn)行到步驟304,新計(jì)算測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯礁北鞠?統(tǒng)的分發(fā)。
16在本實(shí)施例中,如圖5所示,在步驟314判定讀取完Worklist 中的所有記錄之后,增加一步驟530。在步驟530中,更新數(shù)據(jù)庫(kù)DB 中針對(duì)該測(cè)試系統(tǒng)的測(cè)試日志。例如可以將本次測(cè)試日期、采用的測(cè) 試?yán)龢?、釆用的副本系統(tǒng)狀況、計(jì)算出的測(cè)試?yán)龍?zhí)行順序和到副本系 統(tǒng)的分發(fā)以及測(cè)試結(jié)果等等相關(guān)聯(lián)地存儲(chǔ)到數(shù)據(jù)庫(kù)DB中。
圖5中示出的實(shí)施例與圖3中的實(shí)施例相比,省去了重復(fù)計(jì)算測(cè) 試?yán)龍?zhí)行順序和到副本系統(tǒng)的分發(fā)。在需要多次執(zhí)行相同的多個(gè)測(cè)試 例以及多個(gè)測(cè)試?yán)臉?gòu)成關(guān)系復(fù)雜的情況下,圖5所例示的這種測(cè)試 執(zhí)行方法尤為有利,可以顯著地節(jié)省系統(tǒng)資源并提高測(cè)試效率。
圖6是示出了根據(jù)本發(fā)明優(yōu)選實(shí)施例的加速手動(dòng)測(cè)試?yán)龍?zhí)行的裝 置600的示意圖。如圖6所示,該加速手動(dòng)測(cè)試?yán)龍?zhí)行裝置600包括 測(cè)試?yán)治銎?10和測(cè)試?yán)刂破?20,其中測(cè)試?yán)刂破?20包括 副本系統(tǒng)創(chuàng)建器622、優(yōu)化器624以及測(cè)試?yán){(diào)度處理器626。
測(cè)試者可通過諸如鍵盤的輸入設(shè)備或從測(cè)試?yán)龓?kù)中調(diào)用來向加 速手動(dòng)測(cè)試?yán)龍?zhí)行裝置600輸入多個(gè)測(cè)試?yán)y(cè)試?yán)治銎?10對(duì)輸 入的多個(gè)測(cè)試?yán)M(jìn)行分析,通過構(gòu)建這多個(gè)測(cè)試?yán)g的構(gòu)成關(guān)系, 從而找出多個(gè)測(cè)試?yán)g的重合操作。然后將分析出的重合操作的信 息以及輸入的多個(gè)測(cè)試?yán)黄疠斎氲綔y(cè)試?yán)刂破?20。在測(cè)試?yán)?制器620中,首先利用副本系統(tǒng)創(chuàng)建器622根據(jù)測(cè)試?yán)治銎?10分 析出的重合操作的信息以及測(cè)試者輸入的由系統(tǒng)資源狀況決定的副本 系統(tǒng)數(shù)上限,創(chuàng)建對(duì)于被測(cè)系統(tǒng)的n個(gè)副本系統(tǒng)。然后優(yōu)化器624基 于重合操作信息以及副本系統(tǒng)數(shù)n,來按照總執(zhí)行操作數(shù)最少或總執(zhí) 行時(shí)間最短等準(zhǔn)則,計(jì)算最優(yōu)的測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯礁?本系統(tǒng)的分發(fā)。測(cè)試?yán){(diào)度處理器626按照優(yōu)化器624計(jì)算出的測(cè)試 例執(zhí)行順序執(zhí)行多個(gè)測(cè)試?yán)?,并根?jù)計(jì)算出的測(cè)試?yán)僮鞯礁北鞠到y(tǒng) 的分發(fā),調(diào)度哪些操作需要復(fù)制幾份并需要分發(fā)到哪些副本系統(tǒng),最 后在副本系統(tǒng)上執(zhí)行多個(gè)測(cè)試?yán)渲兄睾喜僮魇窃谙嚓P(guān)的多個(gè)副本 系統(tǒng)上同時(shí)執(zhí)行的。
應(yīng)當(dāng)注意,圖6中示出的加速手動(dòng)測(cè)試?yán)龍?zhí)行裝置600僅僅是示例性的。本領(lǐng)域技術(shù)人員通過閱讀對(duì)圖2至圖5的描述,可以構(gòu)想出 包括實(shí)現(xiàn)這些圖中所示步驟的功能的模塊的加速手動(dòng)測(cè)試?yán)龍?zhí)行裝
本發(fā)明的加速手動(dòng)測(cè)試?yán)龍?zhí)行的方法及裝置可以與目前的手動(dòng) 測(cè)試工具相結(jié)合地應(yīng)用,例如嵌入到IBM公司的手動(dòng)測(cè)試工具 Rational Manual Tester 中0
出于例示和說明的目的給出了對(duì)本發(fā)明的各種方面的以上描述。 這并非旨在窮舉或?qū)⒈景l(fā)明限于所公開的精確形式,并且顯然可以進(jìn) 行很多修改和變化。例如,上述多個(gè)實(shí)施例中的步驟和模塊的各種適 當(dāng)組合也是可行的。另外,針對(duì)測(cè)試?yán)跍y(cè)試執(zhí)行過程中發(fā)生改變的 情況下,可以實(shí)時(shí)地構(gòu)建多個(gè)測(cè)試?yán)g的構(gòu)成關(guān)系,得到多個(gè)測(cè)試 例的實(shí)時(shí)的重合操作信息,并根據(jù)該實(shí)時(shí)重合操作信息以及系統(tǒng)資源 狀況,實(shí)時(shí)地計(jì)算當(dāng)前最優(yōu)測(cè)試?yán)龍?zhí)行順序以及到副本系統(tǒng)的分發(fā)。 由此可以獲得手動(dòng)測(cè)試?yán)龍?zhí)行效率的最大提高。因此,應(yīng)當(dāng)理解,本 發(fā)明并不限于以上公開的特定實(shí)施例,而是旨在覆蓋由以下權(quán)利要求 所限定的修改和變型。
權(quán)利要求
1、一種加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)姆椒?,所述多個(gè)測(cè)試?yán)糜谠诒粶y(cè)系統(tǒng)上執(zhí)行以對(duì)該被測(cè)系統(tǒng)進(jìn)行測(cè)試,該方法包括以下步驟分析所述多個(gè)測(cè)試?yán)g的測(cè)試?yán)僮麝P(guān)系,以確定所述多個(gè)測(cè)試?yán)g重合的測(cè)試?yán)僮?;并且?dāng)手動(dòng)執(zhí)行到所述多個(gè)測(cè)試?yán)腥我粋€(gè)所包含的測(cè)試?yán)僮鲿r(shí),自動(dòng)地同時(shí)執(zhí)行其他測(cè)試?yán)信c該測(cè)試?yán)僮髦睾系臏y(cè)試?yán)僮鳌?br>
2、 根據(jù)權(quán)利要求1所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)姆椒ǎ?中所述自動(dòng)地同時(shí)執(zhí)行重合測(cè)試?yán)僮靼▌?chuàng)建 一 個(gè)或多個(gè)關(guān)于所述被測(cè)系統(tǒng)的副本系統(tǒng);根據(jù)分析出的測(cè)試?yán)僮麝P(guān)系以及副本系統(tǒng)的數(shù)目,計(jì)算測(cè)試?yán)?操作到副本系統(tǒng)的分發(fā);按照計(jì)算出的測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)向所創(chuàng)建的副本系 統(tǒng)分發(fā)測(cè)試?yán)僮?;以及在測(cè)試?yán)僮鞅环职l(fā)到的副本系統(tǒng)上執(zhí)行所分發(fā)的測(cè)試?yán)僮鳌?br>
3、 根據(jù)權(quán)利要求2所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)姆椒ǎ€包括根據(jù)分析出的測(cè)試?yán)僮麝P(guān)系以及副本系統(tǒng)的數(shù)目,計(jì)算測(cè)試?yán)?執(zhí)4亍順序;以及按照計(jì)算出的測(cè)試?yán)龍?zhí)行順序手動(dòng)地執(zhí)行多個(gè)測(cè)試?yán)?br>
4、 根據(jù)權(quán)利要求3所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)姆椒?,?中,按照所述多個(gè)測(cè)試?yán)目倛?zhí)行操作數(shù)最少或者所述多個(gè)測(cè)試?yán)?總執(zhí)行時(shí)間最短來計(jì)算測(cè)試?yán)龍?zhí)行順序。
5、 根據(jù)權(quán)利要求2或4所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)姆椒ǎ?其中,按照所述多個(gè)測(cè)試?yán)目倛?zhí)行操作數(shù)最少或者所述多個(gè)測(cè)試?yán)?的總執(zhí)行時(shí)間最短來計(jì)算測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)。
6、 根據(jù)權(quán)利要求3所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)姆椒?,?述計(jì)算測(cè)試?yán)龍?zhí)行順序以及計(jì)算測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)還包括調(diào)用存儲(chǔ)的測(cè)試日志,該測(cè)試日志中記錄有先前的測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā);并且按照預(yù)定準(zhǔn)則來判斷是否采用先前記錄的測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)。
7、 根據(jù)權(quán)利要求6所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)姆椒?,其中,所述測(cè)試日志還包括以下中的任一個(gè)或多個(gè)系統(tǒng)先前測(cè)試執(zhí)行時(shí)間、系統(tǒng)測(cè)試結(jié)果、系統(tǒng)修改記錄。
8、 一種加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)难b置,所述多個(gè)測(cè)試?yán)糜谠诒粶y(cè)系統(tǒng)上執(zhí)行以對(duì)該被測(cè)系統(tǒng)進(jìn)行測(cè)試,該裝置包括測(cè)試?yán)治銎鳎糜诜治鏊龆鄠€(gè)測(cè)試?yán)g的測(cè)試?yán)僮麝P(guān)系,以確定所述多個(gè)測(cè)試?yán)g重合的測(cè)試?yán)僮?;和測(cè)試?yán)刂破?,用于進(jìn)行控制以使得當(dāng)手動(dòng)執(zhí)行到所述多個(gè)測(cè)試?yán)腥我粋€(gè)所包含的測(cè)試?yán)僮鲿r(shí),自動(dòng)地同時(shí)執(zhí)行其他測(cè)試?yán)信c該測(cè)試?yán)僮髦睾系臏y(cè)試?yán)僮鳌?br>
9、 根據(jù)權(quán)利要求8所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)难b置,其中所述測(cè)試?yán)刂破靼ǜ北鞠到y(tǒng)創(chuàng)建器,用于創(chuàng)建一個(gè)或多個(gè)關(guān)于所述被測(cè)系統(tǒng)的副本系統(tǒng);優(yōu)化器,用于根據(jù)所述測(cè)試?yán)治銎鞣治龀龅臏y(cè)試?yán)僮麝P(guān)系以及所述副本系統(tǒng)創(chuàng)建器創(chuàng)建的副本系統(tǒng)的數(shù)目,計(jì)算測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā);以及測(cè)試?yán){(diào)度處理器,按照所述優(yōu)化器計(jì)算出的測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)向所創(chuàng)建的副本系統(tǒng)分發(fā)測(cè)試?yán)僮?,并且在測(cè)試?yán)僮鞅环职l(fā)到的副本系統(tǒng)上執(zhí)行所分發(fā)的測(cè)試?yán)僮鳌?br>
10、 根據(jù)權(quán)利要求9所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)难b置,所述優(yōu)化器還被構(gòu)造為用于根據(jù)所述測(cè)試?yán)治銎鞣治龀龅臏y(cè)試?yán)僮麝P(guān)系以及所述副本系統(tǒng)創(chuàng)建器創(chuàng)建的副本系統(tǒng)的數(shù)目,計(jì)算測(cè)試?yán)龍?zhí)行順序,其中,按照計(jì)算出的測(cè)試?yán)龍?zhí)行順序手動(dòng)地執(zhí)行多個(gè)測(cè)試?yán)?br>
11、 根據(jù)權(quán)利要求10所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)难b置,其中所述優(yōu)化器按照所述多個(gè)測(cè)試?yán)目倛?zhí)行操作數(shù)最少或者來所述多個(gè)測(cè)試?yán)目倛?zhí)行時(shí)間最短計(jì)算測(cè)試?yán)龍?zhí)行順序。
12、 根據(jù)權(quán)利要求9或11所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)难b置,其中所述優(yōu)化器按照所述多個(gè)測(cè)試?yán)目倛?zhí)行操作數(shù)最少或者來所述多個(gè)測(cè)試?yán)目倛?zhí)行時(shí)間最短計(jì)算測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)。
13、 根據(jù)權(quán)利要求10所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)难b置,所述優(yōu)化器還包括存儲(chǔ)單元,用于存儲(chǔ)測(cè)試日志,其中該測(cè)試日志中記錄有先前的測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā);檢索器,用于從存儲(chǔ)單元中調(diào)用針對(duì)所述被測(cè)系統(tǒng)的測(cè)試日志;以及分析判斷器,用于按照預(yù)定準(zhǔn)則來判斷是否釆用所述檢索器檢索出的先前記錄的測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)。
14、 根據(jù)權(quán)利要求13所述的加速手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)难b置,其中,所述測(cè)試日志還包括以下中的任一個(gè)或多個(gè)系統(tǒng)先前測(cè)試執(zhí)行時(shí)間、系統(tǒng)測(cè)試結(jié)果、系統(tǒng)修改記錄。
15、 一種手動(dòng)測(cè)試系統(tǒng),該系統(tǒng)包括手動(dòng)測(cè)試平臺(tái);和嵌入到手動(dòng)測(cè)試平臺(tái)上的加速手動(dòng)測(cè)試?yán)龍?zhí)行裝置,該加速手動(dòng)測(cè)試?yán)龍?zhí)行裝置用于加速在被測(cè)系統(tǒng)上針對(duì)多個(gè)測(cè)試?yán)氖謩?dòng)執(zhí)行,該加速手動(dòng)測(cè)試?yán)龍?zhí)行裝置包括測(cè)試?yán)治銎?,用于分析所述多個(gè)測(cè)試?yán)g的測(cè)試?yán)僮麝P(guān)系,以確定所述多個(gè)測(cè)試?yán)g重合的測(cè)試?yán)僮鳎缓蜏y(cè)試?yán)刂破?,用于進(jìn)行控制以使得當(dāng)手動(dòng)執(zhí)行到所述多個(gè)測(cè)試?yán)腥我粋€(gè)所包含的測(cè)試?yán)僮鲿r(shí),自動(dòng)地同時(shí)執(zhí)行其他測(cè)試?yán)信c該測(cè)試?yán)僮髦睾系臏y(cè)試?yán)僮鳌?br>
16、 才艮據(jù)權(quán)利要求15所述的手動(dòng)測(cè)試系統(tǒng),其中所述測(cè)試?yán)刂破靼ǜ北鞠到y(tǒng)創(chuàng)建器,用于創(chuàng)建一個(gè)或多個(gè)關(guān)于所述被測(cè)系統(tǒng)的副本系統(tǒng);優(yōu)化器,用于根據(jù)所述測(cè)試?yán)治銎鞣治龀龅臏y(cè)試?yán)僮麝P(guān)系以及所述副本系統(tǒng)創(chuàng)建器創(chuàng)建的副本系統(tǒng)的數(shù)目,計(jì)算測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā);以及測(cè)試?yán){(diào)度處理器,按照所述優(yōu)化器計(jì)算出的測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)向所創(chuàng)建的副本系統(tǒng)分發(fā)測(cè)試?yán)僮?,并且在測(cè)試?yán)僮鞅环职l(fā)到的副本系統(tǒng)上執(zhí)行所分發(fā)的測(cè)試?yán)僮鳌?br>
17、 根據(jù)權(quán)利要求16所述的手動(dòng)測(cè)試系統(tǒng),其中,所述優(yōu)化器還被構(gòu)造為用于根據(jù)所述測(cè)試?yán)治銎鞣治龀龅臏y(cè)試?yán)僮麝P(guān)系以及所述副本系統(tǒng)創(chuàng)建器創(chuàng)建的副本系統(tǒng)的數(shù)目,計(jì)算測(cè)試?yán)龍?zhí)行順序,其中,按照計(jì)算出的測(cè)試?yán)龍?zhí)行順序手動(dòng)地執(zhí)行多個(gè)測(cè)試?yán)?br>
18、 根據(jù)權(quán)利要求17所述的手動(dòng)測(cè)試系統(tǒng),其中,所述優(yōu)化器還包括存儲(chǔ)單元,用于存儲(chǔ)測(cè)試日志,其中該測(cè)試日志中記錄有先前的測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā);檢索器,用于從存儲(chǔ)單元中調(diào)用針對(duì)所述被測(cè)系統(tǒng)的測(cè)試日志;以及分析判斷器,用于按照預(yù)定準(zhǔn)則來判斷是否釆用所述檢索器檢索出的先前記錄的測(cè)試?yán)龍?zhí)行順序以及測(cè)試?yán)僮鞯礁北鞠到y(tǒng)的分發(fā)。
全文摘要
本發(fā)明公開了一種通過避免重復(fù)手動(dòng)執(zhí)行多個(gè)測(cè)試?yán)械闹睾喜僮鞫铀偈謩?dòng)測(cè)試?yán)龍?zhí)行的方法和裝置。在本發(fā)明中,首先分析所述多個(gè)測(cè)試?yán)g的重合操作,然后在執(zhí)行到測(cè)試?yán)械闹睾喜僮鲿r(shí),自動(dòng)地在包含該重合操作的測(cè)試?yán)g同時(shí)執(zhí)行所述重合操作。與現(xiàn)有技術(shù)相比,利用本發(fā)明的方法和裝置,不僅減少了手動(dòng)測(cè)試?yán)僮鳎矞p少了手動(dòng)測(cè)試執(zhí)行時(shí)間,從而大大提高了手動(dòng)測(cè)試?yán)龍?zhí)行的效率。
文檔編號(hào)G06F11/28GK101685416SQ20081016812
公開日2010年3月31日 申請(qǐng)日期2008年9月28日 優(yōu)先權(quán)日2008年9月28日
發(fā)明者劉鶴輝, 俊 朱, 李中杰, 李少春, 談華芳, 勝 黃 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司