專利名稱:一種基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)測(cè)試方法及其測(cè)試系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于軟件自動(dòng)測(cè)試領(lǐng)域,具體涉及一種用戶根據(jù)自定義關(guān)鍵字定 制自動(dòng)測(cè)試過(guò)程的自動(dòng)測(cè)試方法及其測(cè)試系統(tǒng)。
背景技術(shù):
迭代式開發(fā)過(guò)程比瀑布式開發(fā)過(guò)程具有更大的優(yōu)越性,已逐漸取代傳統(tǒng) 的瀑布式開發(fā)成為目前最流行的軟件開發(fā)過(guò)程。迭代開發(fā)強(qiáng)調(diào)在較短的時(shí)間 間隔中產(chǎn)生多個(gè)可執(zhí)行、可測(cè)試的軟件版本,這意味著測(cè)試人員將面臨更加 繁重的測(cè)試任務(wù)。測(cè)試工作周期縮短,測(cè)試頻率增加,傳統(tǒng)的手工測(cè)試已經(jīng) 滿足不了軟件開發(fā)的需求。自動(dòng)測(cè)試是提高測(cè)試效率,降低重復(fù)勞動(dòng)的有效 方法,目前正被廣泛應(yīng)用,它能夠完成許多手工測(cè)試無(wú)法實(shí)現(xiàn)或難以實(shí)現(xiàn)的 測(cè)試。正確、合理的實(shí)施自動(dòng)測(cè)試,能夠快速、徹底的對(duì)軟件進(jìn)行測(cè)試,從 而提高軟件質(zhì)量,節(jié)約開發(fā)成本,縮短產(chǎn)品發(fā)布周期。
常用的自動(dòng)測(cè)試方法大致分為三種
第一種方法是通過(guò)自動(dòng)測(cè)試工具的錄制-回放功能,生成測(cè)試腳本。該 方法的不足之處在于不具有邏輯判斷能力,,可維護(hù)性差,效率低下,代碼 量大,兼容性差;其可維護(hù)性和可重用性都得不到保證。
第二種方法是通過(guò)對(duì)已錄制的腳本進(jìn)行手工編輯產(chǎn)生結(jié)構(gòu)化腳本,含有 控制腳本執(zhí)行的指令。該方法的不足之處在于腳本更復(fù)雜,而且測(cè)試數(shù)據(jù) 仍然捆綁在腳本中,即鍵盤、鼠標(biāo)動(dòng)作表示的輸入被固化在腳本中,測(cè)試修 改和定制非常困難。
第三種方法是通過(guò)數(shù)據(jù)驅(qū)動(dòng)技術(shù)來(lái)執(zhí)行自動(dòng)測(cè)試。數(shù)據(jù)驅(qū)動(dòng)技術(shù)的核心
思想是將可變部分(數(shù)據(jù))和不變部分(腳本)分離以降低維護(hù)工作量。數(shù) 據(jù)驅(qū)動(dòng)腳本主要作為功能點(diǎn)支持腳本,將測(cè)試輸入存儲(chǔ)在獨(dú)立的數(shù)據(jù)文件
中,而不是綁定在腳本中。這種方法最大的好處是可以用同一個(gè)腳本允許不
同的數(shù)據(jù)進(jìn)行測(cè)試;即使對(duì)數(shù)據(jù)進(jìn)行修改,也不必修改執(zhí)行的腳本。該方法 的不足之處在于初始建立的開銷較大,實(shí)現(xiàn)了數(shù)據(jù)與腳本的分離,但測(cè)試 邏輯依然與腳本捆綁在一起,導(dǎo)致用戶無(wú)法自定義測(cè)試過(guò)程。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是一種基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)測(cè)試方法,解決 自動(dòng)測(cè)試無(wú)法根據(jù)測(cè)試人員的意圖自定義執(zhí)行、測(cè)試邏輯和測(cè)試數(shù)據(jù)無(wú)法與 測(cè)試腳本分開、測(cè)試數(shù)據(jù)難以被修改和定制、測(cè)試腳本的可重用性和可維護(hù) 性得不到保證的問(wèn)題。
本發(fā)明提出一種基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)測(cè)試方法,包含以下步驟
(a) 構(gòu)建測(cè)試數(shù)據(jù)庫(kù),創(chuàng)建關(guān)鍵字規(guī)范;
(b) 將手工測(cè)試用例向自動(dòng)測(cè)試用例轉(zhuǎn)化,從手工測(cè)試用例中提取關(guān) 鍵字信息,然后通過(guò)人機(jī)交互模塊將關(guān)鍵字信息寫入數(shù)據(jù)庫(kù)的數(shù)據(jù)文件中;
(c) 啟動(dòng)自動(dòng)測(cè)試框架,選擇已有的測(cè)試數(shù)據(jù)文件執(zhí)行自動(dòng)測(cè)試,生 成測(cè)試l艮告。
本發(fā)明進(jìn)一步包含如下步驟
(d) 完善測(cè)試數(shù)據(jù)庫(kù),定制自動(dòng)測(cè)試過(guò)程,測(cè)試人員新建測(cè)試數(shù)據(jù)文 件,或修改執(zhí)行數(shù)據(jù)庫(kù)中已有的數(shù)據(jù)文件來(lái)完善測(cè)試數(shù)據(jù)庫(kù),完成自動(dòng)測(cè)試 的定制。
所述步驟(a)中所述測(cè)試數(shù)據(jù)庫(kù)包含兩個(gè)子數(shù)據(jù)庫(kù),當(dāng)前數(shù)據(jù)庫(kù)和執(zhí) 行數(shù)據(jù)庫(kù),當(dāng)前數(shù)據(jù)庫(kù)用于存儲(chǔ)數(shù)據(jù)庫(kù)模塊對(duì)外接口工具生成的數(shù)據(jù)文件, 符合框架的關(guān)鍵字規(guī)范后入執(zhí)行數(shù)據(jù)庫(kù);執(zhí)行數(shù)據(jù)庫(kù)存放的是可被自動(dòng)測(cè)試 框架執(zhí)行的數(shù)據(jù)文件。
所述測(cè)試數(shù)據(jù)庫(kù)進(jìn)一步包含歷史數(shù)據(jù)庫(kù),歷史數(shù)據(jù)庫(kù)與執(zhí)行數(shù)據(jù)庫(kù)同步 更新,用于備份。
所述步驟(a)中關(guān)鍵字規(guī)范包括8個(gè)字段窗口標(biāo)識(shí)、中間標(biāo)識(shí)、控
件標(biāo)識(shí)、錯(cuò)誤標(biāo)識(shí)、注釋描述、控制數(shù)據(jù)、測(cè)試數(shù)據(jù)和記錄類型。
所述步驟(c)進(jìn)一步包含如下步驟
(cl)啟動(dòng)自動(dòng)測(cè)試框架,選擇對(duì)應(yīng)的測(cè)試數(shù)據(jù)文件;
(c2)設(shè)置自動(dòng)測(cè)試框架參數(shù),自動(dòng)測(cè)試過(guò)程開始執(zhí)行;
(c3)讀取(cl)中選擇的測(cè)試數(shù)據(jù)文件中的關(guān)鍵字信息;
(c4)根據(jù)關(guān)鍵字信息驅(qū)動(dòng)腳本回放工具運(yùn)行其相應(yīng)的腳本集合,即對(duì) 軟件界面執(zhí)行相應(yīng)的操作;
(c5 )根據(jù)關(guān)鍵字信息,捕獲腳本回放工具執(zhí)行后被測(cè)軟件的輸出信息, 與關(guān)鍵字對(duì)應(yīng)的基線信息進(jìn)行比較,給出驗(yàn)證結(jié)果;
(c6)根據(jù)關(guān)鍵字信息,記錄驗(yàn)證結(jié)果,同時(shí)記錄每個(gè)模塊的執(zhí)行過(guò)程 以及測(cè)試管理工具與腳本回放工具在執(zhí)行期間的交互信息,產(chǎn)生統(tǒng)計(jì)數(shù)據(jù);
(c7)重復(fù)步驟(c3) ~ (c6),直到執(zhí)行完每個(gè)數(shù)據(jù)文件中的所有記 錄,自動(dòng)測(cè)試過(guò)程結(jié)束,產(chǎn)生測(cè)試報(bào)告。
所述步驟(c2)中的自動(dòng)測(cè)試參數(shù)包含執(zhí)行次數(shù)、是否批量執(zhí)行以及自 動(dòng)測(cè)試執(zhí)行過(guò)程中是否調(diào)用其他軟件程序。
本發(fā)明提出一種基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)測(cè)試系統(tǒng),其特征在于該自動(dòng) 測(cè)試系統(tǒng)包含一自動(dòng)測(cè)試框架,自動(dòng)測(cè)試框架包含六個(gè)模塊,即人機(jī)交互模 塊、總體控制模塊、數(shù)據(jù)庫(kù)模塊、執(zhí)行模塊、結(jié)果驗(yàn)證模塊和信息處理模塊; 所述自動(dòng)測(cè)試框架以關(guān)鍵字形式驅(qū)動(dòng)腳本回^L工具和測(cè)試管理工具,自動(dòng)實(shí) 現(xiàn)對(duì)被測(cè)軟件的執(zhí)行和測(cè)試結(jié)果的產(chǎn)生,其中
所述人機(jī)交互模塊用于接收用戶控制信息,并傳遞給總體控制模塊作為 控制框架工作流程的依據(jù);
所述總體控制模塊負(fù)責(zé)各模塊間的通訊及協(xié)調(diào)其他功能模塊完成測(cè)試 過(guò)程;
所述數(shù)據(jù)庫(kù)模塊用于存儲(chǔ)測(cè)試數(shù)據(jù)信息,同時(shí)接收人機(jī)交互模塊的測(cè)試 數(shù)據(jù)修改信息;
所述執(zhí)行才莫塊用于根據(jù)總體控制模塊傳來(lái)的關(guān)鍵字信息,借助腳本回放工具完成對(duì)被測(cè)軟件界面操作;
所述結(jié)果驗(yàn)證模塊用于根據(jù)總體控制模塊傳來(lái)的關(guān)鍵字信息,捕獲執(zhí)行 模塊執(zhí)行后被測(cè)軟件的輸出信息,與基線信息進(jìn)行比較,并給出相應(yīng)驗(yàn)證結(jié)
果;
所述信息處理模塊用于根據(jù)結(jié)果控制模塊傳來(lái)的關(guān)鍵字信息,將結(jié)果驗(yàn) 證模塊給出的驗(yàn)證結(jié)果寫入測(cè)試管理工具中,產(chǎn)生統(tǒng)計(jì)數(shù)據(jù)。
所述測(cè)試數(shù)據(jù)庫(kù)模塊包含三個(gè)子數(shù)據(jù)庫(kù),當(dāng)前數(shù)據(jù)庫(kù),執(zhí)行數(shù)據(jù)庫(kù)和歷 史數(shù)據(jù)庫(kù);當(dāng)前數(shù)據(jù)庫(kù)用于存儲(chǔ)數(shù)據(jù)庫(kù)模塊對(duì)外接口工具生成的數(shù)據(jù)文件, 符合框架的關(guān)鍵字規(guī)范后入執(zhí)行數(shù)據(jù)庫(kù);執(zhí)行數(shù)據(jù)庫(kù)存放的是可被自動(dòng)測(cè)試 框架執(zhí)行的數(shù)據(jù)文件,歷史數(shù)據(jù)庫(kù)與執(zhí)行數(shù)據(jù)庫(kù)同步更新,用于備份。
與現(xiàn)有技術(shù)相比,采用本發(fā)明提供的關(guān)鍵字驅(qū)動(dòng)的自動(dòng)測(cè)試方法,克服
義執(zhí)行,軟件界面修改后部分腳本失效,測(cè)試數(shù)據(jù)難以被修改和定制,測(cè)試 腳本的可重用性和可維護(hù)性得不到保證的問(wèn)題。本發(fā)明提供的方法可作為軟 件自動(dòng)測(cè)試的系統(tǒng)解決方案,包括手工測(cè)試用例轉(zhuǎn)化為自動(dòng)測(cè)試數(shù)據(jù)文件的 過(guò)程與實(shí)現(xiàn)、真正意義上實(shí)現(xiàn)了自動(dòng)測(cè)試過(guò)程的定制、自動(dòng)測(cè)試框架不受限 于軟件界面的變更,使手工測(cè)試和自動(dòng)測(cè)試達(dá)到了很好的結(jié)合。
圖1是本發(fā)明自動(dòng)測(cè)試框架內(nèi)部結(jié)構(gòu)示意圖; 圖2是本發(fā)明自動(dòng)測(cè)試整體方案示意圖; 圖3是本發(fā)明的一個(gè)具體實(shí)施例流程示意圖。
具體實(shí)施例方式
下面將參照附圖并結(jié)合一個(gè)具體實(shí)施例進(jìn)行詳細(xì)說(shuō)明,以便對(duì)本發(fā)明的 目的、技術(shù)方案及優(yōu)點(diǎn)有更深入的理解。
圖1給出了自動(dòng)測(cè)試框架內(nèi)部結(jié)構(gòu)示意圖。自動(dòng)測(cè)試框架包含六個(gè)模
塊,即人機(jī)交互模塊、總體控制模塊、數(shù)據(jù)庫(kù)模塊、執(zhí)行模塊、結(jié)果驗(yàn)證模 塊和信息處理模塊。以關(guān)鍵字形式驅(qū)動(dòng)腳本回放工具和測(cè)試管理工具,自動(dòng)
實(shí)現(xiàn)對(duì)被測(cè)軟件的執(zhí)行和測(cè)試報(bào)告的產(chǎn)生。其中
人機(jī)交互模塊用于接收用戶控制信息,并傳遞給總體控制模塊作為控 制框架工作流程的依據(jù)。
總體控制模塊負(fù)責(zé)各模塊間的通訊及協(xié)調(diào)其他功能模塊完成測(cè)試過(guò)程。
數(shù)據(jù)庫(kù)模塊用于存儲(chǔ)測(cè)試數(shù)據(jù)信息,同時(shí)接收人機(jī)交互模塊的測(cè)試數(shù) 據(jù)修改信息。
執(zhí)行模塊用于根據(jù)總體控制模塊傳來(lái)的關(guān)鍵字信息,驅(qū)動(dòng)腳本回放工 具完成對(duì)被測(cè)軟件界面操作。
結(jié)果驗(yàn)證模塊用于根據(jù)總體控制模塊傳來(lái)的關(guān)鍵字信息,捕獲執(zhí)行模 塊執(zhí)行后被測(cè)軟件的輸出信息,與基線信息進(jìn)行比較,并給出相應(yīng)驗(yàn)證結(jié)果。
信息處理模塊用于將結(jié)果驗(yàn)證模塊給出的驗(yàn)證結(jié)果寫入測(cè)試管理工具 中,產(chǎn)生統(tǒng)計(jì)數(shù)據(jù)。
圖2給出了自動(dòng)測(cè)試整體方案示意圖。自動(dòng)測(cè)試框架具有整體流程的控 制作用,根據(jù)人機(jī)交互信息利用關(guān)鍵字驅(qū)動(dòng)腳本回放工具,完成測(cè)試的執(zhí)行, 測(cè)試管理工具完成測(cè)試的管理以及測(cè)試報(bào)告的輸出??傮w控制模塊承載其他 各模塊間的通訊,所有模塊間的內(nèi)部通訊被框架封裝。測(cè)試人員使用自動(dòng)測(cè) 試框架對(duì)被測(cè)軟件執(zhí)行自動(dòng)測(cè)試時(shí),通過(guò)人機(jī)交互模塊來(lái)修改數(shù)據(jù)庫(kù)模塊中 的測(cè)試數(shù)據(jù)文件來(lái)定制測(cè)試執(zhí)行過(guò)程;執(zhí)行模塊通過(guò)關(guān)鍵字信息驅(qū)動(dòng)腳本回 放工具來(lái)對(duì)被測(cè)軟件執(zhí)行相應(yīng)的測(cè)試;結(jié)果驗(yàn)證模塊根據(jù)被測(cè)軟件的返回信 息和預(yù)定的關(guān)鍵字信息判斷驗(yàn)證點(diǎn)是否通過(guò);執(zhí)行結(jié)果將通過(guò)信息處理模塊 寫入測(cè)試管理工具中,產(chǎn)生統(tǒng)計(jì)數(shù)據(jù)。
自動(dòng)測(cè)試框架能夠提供包括測(cè)試計(jì)劃、測(cè)試設(shè)計(jì)、測(cè)試構(gòu)建、測(cè)試執(zhí)行 和測(cè)試結(jié)果驗(yàn)i正全過(guò)程的解決方案。
圖3給出了本發(fā)明的一個(gè)具體實(shí)施例流程示意圖。其具體實(shí)施步驟說(shuō)明
第一步構(gòu)建測(cè)試數(shù)據(jù)庫(kù),創(chuàng)建關(guān)^:字規(guī)范。 步驟301構(gòu)建測(cè)試數(shù)據(jù)庫(kù);
數(shù)據(jù)庫(kù)從結(jié)構(gòu)層次上可分為三個(gè)子數(shù)據(jù)庫(kù),即當(dāng)前數(shù)據(jù)庫(kù)、執(zhí)行數(shù)據(jù)庫(kù) 和歷史數(shù)據(jù)庫(kù)。當(dāng)前數(shù)據(jù)庫(kù)用于存儲(chǔ)數(shù)據(jù)庫(kù)模塊對(duì)外接口工具生成的數(shù)據(jù)文 件,符合框架的關(guān)鍵字規(guī)范后入執(zhí)行數(shù)據(jù)庫(kù);執(zhí)行數(shù)據(jù)庫(kù)存放的是可被自動(dòng) 測(cè)試框架執(zhí)行的數(shù)據(jù)文件;歷史數(shù)據(jù)庫(kù)與執(zhí)行數(shù)據(jù)庫(kù)同步更新,起到備份的 作用。
步驟302創(chuàng)建關(guān)鍵字規(guī)范,作為三個(gè)子數(shù)據(jù)庫(kù)間數(shù)據(jù)傳遞的判斷依據(jù)。
關(guān)鍵字規(guī)范主要指有規(guī)范格式的文件,本實(shí)施例中關(guān)鍵字規(guī)范存儲(chǔ)在 Excel文件中。以每行記錄為單位,每個(gè)記錄包含八個(gè)字段,即窗口標(biāo)識(shí)、 中間標(biāo)識(shí)、控件標(biāo)識(shí)、錯(cuò)誤標(biāo)識(shí)、注釋描述、控制數(shù)據(jù)、測(cè)試數(shù)據(jù)和記錄類 型,三個(gè)子數(shù)據(jù)庫(kù)以此規(guī)范為依據(jù)進(jìn)行數(shù)據(jù)轉(zhuǎn)換和傳遞,八個(gè)字段具體說(shuō)明 如下
1 、窗口標(biāo)識(shí)表示窗口選擇代碼,即動(dòng)作執(zhí)行窗口的Caption值;
2、 中間標(biāo)識(shí)表示目標(biāo)窗口中標(biāo)簽頁(yè)選擇代碼,即動(dòng)作執(zhí)行窗口的Tab 頁(yè)名稱;
3、 控件標(biāo)識(shí)表示動(dòng)作控件名稱,即動(dòng)作執(zhí)行窗口中目標(biāo)控件的類型
值;
4、 錯(cuò)誤標(biāo)識(shí)表示預(yù)期錯(cuò)誤碼(驗(yàn)證點(diǎn)),即記錄中需要添加驗(yàn)證點(diǎn) 的名稱;
5、 注釋描述表示該條記錄的注釋,同時(shí)可用于對(duì)異常記錄的定位;
6、 控制數(shù)據(jù)表示相應(yīng)控件的動(dòng)作標(biāo)識(shí)碼,與"控件標(biāo)識(shí)"對(duì)應(yīng),即 動(dòng)作執(zhí)行窗口中需要執(zhí)行的目標(biāo)控件Caption值;
7、 測(cè)試數(shù)據(jù)表示測(cè)試人員在手工測(cè)試過(guò)程中輸入的數(shù)據(jù),這些數(shù)據(jù) 為自動(dòng)測(cè)試提供數(shù)據(jù)源;
8、記錄類型標(biāo)識(shí)記錄性質(zhì),包括標(biāo)準(zhǔn)記錄、斷點(diǎn)記錄和注釋記錄。
第二步手工測(cè)試用例向自動(dòng)測(cè)試用例的轉(zhuǎn)化。
步驟303 手工測(cè)試用例向自動(dòng)測(cè)試用例的轉(zhuǎn)化;
一般來(lái)說(shuō),手工測(cè)試用例庫(kù)的完成時(shí)間早于自動(dòng)測(cè)試用例庫(kù)的完成時(shí) 間。測(cè)試人員創(chuàng)建手工測(cè)試用例時(shí)會(huì)考慮該用例是否容易轉(zhuǎn)化成自動(dòng)測(cè)試用 例,并將容易轉(zhuǎn)化用例做相應(yīng)標(biāo)識(shí)。測(cè)試人員開始執(zhí)行手工測(cè)試,根據(jù)用例 標(biāo)識(shí)判斷是否將該用例轉(zhuǎn)化為自動(dòng)測(cè)試用例。如果不可轉(zhuǎn)化,則執(zhí)行常規(guī)的 手工測(cè)試;否則,可將其轉(zhuǎn)化為自動(dòng)測(cè)試用例。
步驟304從手工測(cè)試用例中提取關(guān)鍵字信息;
從手工測(cè)試用例的每步中分別提取窗口標(biāo)識(shí)、中間標(biāo)識(shí)、控件標(biāo)識(shí)、錯(cuò) 誤標(biāo)識(shí)、注釋描述、控制數(shù)據(jù)、測(cè)試數(shù)據(jù)和記錄類型元素,通過(guò)選項(xiàng)對(duì)應(yīng)關(guān) 4建字信息并記錄手工測(cè)試時(shí)產(chǎn)生的測(cè)試數(shù)據(jù),完成測(cè)試數(shù)據(jù)文件轉(zhuǎn)換,并以 手工測(cè)試用例的名稱來(lái)命名該文件。
步驟305通過(guò)人機(jī)交互模塊將關(guān)鍵字信息寫入數(shù)據(jù)庫(kù)的數(shù)據(jù)文件中。
運(yùn)行自動(dòng)測(cè)試框架工具,通過(guò)人機(jī)交互模塊界面創(chuàng)建測(cè)試數(shù)據(jù)文件,測(cè) 試數(shù)據(jù)文件是帶有規(guī)范格式的Excel文件,將步驟304中提取的元素信息寫 入測(cè)試數(shù)據(jù)文件。
第三步啟動(dòng)自動(dòng)測(cè)試框架,選擇已有的測(cè)試數(shù)據(jù)文件執(zhí)行自動(dòng)測(cè)試, 生成測(cè)試報(bào)告。
步驟306啟動(dòng)自動(dòng)測(cè)試框架選擇已有的測(cè)試數(shù)據(jù)文件;
測(cè)試人員開始執(zhí)行自動(dòng)測(cè)試,運(yùn)行自動(dòng)測(cè)試框架工具,通過(guò)人機(jī)交互模 塊界面,從可執(zhí)行測(cè)試數(shù)據(jù)庫(kù)中選擇目標(biāo)測(cè)試用例對(duì)應(yīng)的測(cè)試數(shù)據(jù)文件。
步驟307 配置自動(dòng)測(cè)試框架參數(shù),自動(dòng)測(cè)試過(guò)程開始執(zhí)行;
根據(jù)測(cè)試需要,設(shè)定執(zhí)行信息,包括執(zhí)行次數(shù)、是否批量執(zhí)行以及自動(dòng) 測(cè)試執(zhí)行過(guò)程中是否調(diào)用其他軟件程序。
步驟308 總體控制模塊接收并處理關(guān)鍵字信息;
接收到人機(jī)交互模塊的執(zhí)行信息,總體控制模塊從數(shù)據(jù)庫(kù)模塊中讀取所 選擇的數(shù)據(jù)文件,以記錄為單位讀取第一條記錄的八個(gè)字段相應(yīng)關(guān)鍵字,并 保存。
步驟309總體控制模塊驅(qū)動(dòng)執(zhí)行模塊進(jìn)入工作狀態(tài);
總體控制模塊將相應(yīng)關(guān)鍵字傳遞給執(zhí)行模塊,執(zhí)行模塊根據(jù)關(guān)鍵字驅(qū)動(dòng) 腳本回放工具運(yùn)行其相應(yīng)的腳本集合,即對(duì)軟件界面執(zhí)行相應(yīng)的操作。
步驟310總體控制模塊驅(qū)動(dòng)結(jié)果驗(yàn)證模塊進(jìn)入工作狀態(tài);
總體控制模塊將相應(yīng)關(guān)鍵字傳遞至結(jié)果驗(yàn)證模塊,結(jié)果驗(yàn)證模塊根據(jù)關(guān) 鍵字信息,捕獲腳本回放工具執(zhí)行后被測(cè)軟件的輸出信息,與關(guān)鍵字對(duì)應(yīng)的 基線信息進(jìn)行比較,并給出是否通過(guò)的驗(yàn)證結(jié)果。
步驟311總體控制模塊驅(qū)動(dòng)信息處理模塊進(jìn)入工作狀態(tài);
總體控制模塊將相應(yīng)關(guān)鍵字傳遞給信息處理模塊,信息處理模塊將所讀 取的記錄信息、驗(yàn)證點(diǎn)是否通過(guò)信息寫入測(cè)試管理工具中,同時(shí)記錄每個(gè)模 塊的執(zhí)行過(guò)程以及測(cè)試管理工具與腳本回放工具在執(zhí)行期間的交互信息,用 于產(chǎn)生統(tǒng)計(jì)數(shù)據(jù)。
步驟312重復(fù)步驟308-311,直到執(zhí)行完每個(gè)數(shù)據(jù)文件中的所有記 錄,自動(dòng)測(cè)試過(guò)程結(jié)束,最終產(chǎn)生詳細(xì)的測(cè)試"^艮告。
第四步完善測(cè)試數(shù)據(jù)庫(kù),定制自動(dòng)測(cè)試過(guò)程。
步驟313新建或修改測(cè)試數(shù)據(jù)文件,完善測(cè)試數(shù)據(jù)庫(kù);
通過(guò)人機(jī)交互模塊,測(cè)試人員新建測(cè)試數(shù)據(jù)文件,也可以修改執(zhí)行數(shù)據(jù) 庫(kù)中已有的數(shù)據(jù)文件來(lái)達(dá)到上述效果。如果作為回歸測(cè)試,可選擇執(zhí)行數(shù)據(jù) 庫(kù)中已有的測(cè)試數(shù)據(jù)文件進(jìn)行自動(dòng)測(cè)試。
步驟314自動(dòng)測(cè)試按預(yù)定義方式執(zhí)行,實(shí)現(xiàn)自動(dòng)測(cè)試過(guò)程定制。
自動(dòng)測(cè)試的定制,主要有兩種實(shí)現(xiàn)方式 一是直接修改執(zhí)行測(cè)試數(shù)據(jù)庫(kù) 中已有的數(shù)據(jù)文件;二是通過(guò)人機(jī)交互模塊界面新建測(cè)試數(shù)據(jù)文件,根據(jù)測(cè)
試人員的意圖填寫相應(yīng)關(guān)鍵字信息并將其保存至執(zhí)行測(cè)試數(shù)據(jù)庫(kù)。具體執(zhí)行 步驟請(qǐng)參考第三步。
在實(shí)際的測(cè)試工作中,通過(guò)關(guān)鍵字驅(qū)動(dòng)技術(shù),使自動(dòng)測(cè)試框架獨(dú)立于商 用測(cè)試軟件和被測(cè)軟件。本發(fā)明使自動(dòng)測(cè)試可以根據(jù)測(cè)試人員意圖自定義執(zhí) 行、測(cè)試邏輯和測(cè)試數(shù)據(jù)與測(cè)試腳本分開、測(cè)試數(shù)據(jù)容易被修改和定制、測(cè) 試腳本的可重用性和可維護(hù)性都得到保證。
權(quán)利要求
1、一種基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)測(cè)試方法,包含以下步驟(a)構(gòu)建測(cè)試數(shù)據(jù)庫(kù),創(chuàng)建關(guān)鍵字規(guī)范;(b)將手工測(cè)試用例向自動(dòng)測(cè)試用例轉(zhuǎn)化,從手工測(cè)試用例中提取關(guān)鍵字信息,然后通過(guò)人機(jī)交互模塊將關(guān)鍵字信息寫入數(shù)據(jù)庫(kù)的數(shù)據(jù)文件中;(c)啟動(dòng)自動(dòng)測(cè)試框架,選擇已有的測(cè)試數(shù)據(jù)文件執(zhí)行自動(dòng)測(cè)試,生成測(cè)試報(bào)告。
2、 如權(quán)利要求1所述的自動(dòng)測(cè)試方法,其特征在于還包含如下步驟(d) 完善測(cè)試數(shù)據(jù)庫(kù),定制自動(dòng)測(cè)試過(guò)程,測(cè)試人員新建測(cè)試數(shù)據(jù)文 件,或修改執(zhí)行數(shù)據(jù)庫(kù)中已有的數(shù)據(jù)文件來(lái)完善測(cè)試數(shù)據(jù)庫(kù),完成自動(dòng)測(cè)試 的定制。
3、 如權(quán)利要求1所述的自動(dòng)測(cè)試方法,其特征在于所述步驟(a)中 所述測(cè)試數(shù)據(jù)庫(kù)包含兩個(gè)子數(shù)據(jù)庫(kù),當(dāng)前數(shù)據(jù)庫(kù)和執(zhí)行數(shù)據(jù)庫(kù),當(dāng)前數(shù)據(jù)庫(kù) 用于存儲(chǔ)數(shù)據(jù)庫(kù)模塊對(duì)外接口工具生成的數(shù)據(jù)文件,符合框架的關(guān)鍵字規(guī)范 后入執(zhí)行數(shù)據(jù)庫(kù);執(zhí)行數(shù)據(jù)庫(kù)存放的是可被自動(dòng)測(cè)試框架執(zhí)行的數(shù)據(jù)文件。
4、 如權(quán)利要求3所述的自動(dòng)測(cè)試方法,其特征在于所述測(cè)試數(shù)據(jù)庫(kù) 進(jìn)一步包含歷史數(shù)據(jù)庫(kù),歷史數(shù)據(jù)庫(kù)與執(zhí)行數(shù)據(jù)庫(kù)同步更新,用于備份。
5、 如權(quán)利要求1所述的自動(dòng)測(cè)試方法,其特征在于所述步驟(a)中 關(guān)鍵字規(guī)范包括8個(gè)字段窗口標(biāo)識(shí)、中間標(biāo)識(shí)、控件標(biāo)識(shí)、錯(cuò)誤標(biāo)識(shí)、注 釋描述、控制數(shù)據(jù)、測(cè)試數(shù)據(jù)和記錄類型。
6、 如權(quán)利要求1所述的自動(dòng)測(cè)試方法,其特征在于所述步驟(c)進(jìn) 一步包含如下步驟(cl)啟動(dòng)自動(dòng)測(cè)試框架,選擇對(duì)應(yīng)的測(cè)試數(shù)據(jù)文件;(c2)設(shè)置自動(dòng)測(cè)試框架參數(shù),自動(dòng)測(cè)試過(guò)程開始執(zhí)行;(c3)讀取(cl)中選擇的測(cè)試數(shù)據(jù)文件中的關(guān)鍵字信息;(c4)根據(jù)關(guān)鍵字信息驅(qū)動(dòng)腳本回放工具運(yùn)行其相應(yīng)的腳本集合,即對(duì) 軟件界面執(zhí)行相應(yīng)的操作; (c5 )根據(jù)關(guān)鍵字信息,捕獲腳本回放工具執(zhí)行后被測(cè)軟件的輸出信息, 與關(guān)鍵字對(duì)應(yīng)的基線信息進(jìn)行比較,給出驗(yàn)證結(jié)果;(c6)根據(jù)關(guān)鍵字信息,記錄驗(yàn)證結(jié)杲,同時(shí)記錄每個(gè)模塊的執(zhí)行過(guò)程 以及測(cè)試管理工具與腳本回放工具在執(zhí)行期間的交互信息,產(chǎn)生統(tǒng)計(jì)數(shù)據(jù);(c7)重復(fù)步驟(c3) ~ (c6),直到執(zhí)行完每個(gè)數(shù)據(jù)文件中的所有記 錄,自動(dòng)測(cè)試過(guò)程結(jié)束,產(chǎn)生測(cè)試報(bào)告。
7、 如權(quán)利要求6所述的方法,其特征在于所述步驟(c2)中的自動(dòng) 測(cè)試參數(shù)包含執(zhí)行次數(shù)、是否批量執(zhí)行以及自動(dòng)測(cè)試執(zhí)行過(guò)程中是否調(diào)用其 他軟件程序。
8、 一種基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)測(cè)試系統(tǒng),其特征在于該自動(dòng)測(cè)試系 統(tǒng)包含一自動(dòng)測(cè)試框架,自動(dòng)測(cè)試框架包含六個(gè)模塊,即人機(jī)交互模塊、總 體控制模塊、數(shù)據(jù)庫(kù)模塊、執(zhí)行模塊、結(jié)果驗(yàn)證模塊和信息處理模塊;所述 自動(dòng)測(cè)試框架以關(guān)鍵字形式驅(qū)動(dòng)腳本回放工具和測(cè)試管理工具,自動(dòng)實(shí)現(xiàn)對(duì) ;故測(cè)軟件的執(zhí)行和測(cè)試結(jié)果的產(chǎn)生,其中所述人機(jī)交互模塊用于接收用戶控制信息,并傳遞給總體控制模塊作為 控制框架工作流程的依據(jù);所述總體控制模塊負(fù)責(zé)各模塊間的通訊及協(xié)調(diào)其他功能模塊完成測(cè)試 過(guò)程;所述數(shù)據(jù)庫(kù)模塊用于存儲(chǔ)測(cè)試數(shù)據(jù)信息,同時(shí)接收人機(jī)交互模塊的測(cè)試 數(shù)據(jù)修改信息;所述執(zhí)行模塊用于根據(jù)總體控制模塊傳來(lái)的關(guān)鍵字信息,借助腳本回放 工具完成對(duì)被測(cè)軟件界面操作;所述結(jié)果驗(yàn)證模塊用于根據(jù)總體控制模塊傳來(lái)的關(guān)鍵字信息,捕獲執(zhí)行 模塊執(zhí)行后被測(cè)軟件的輸出信息,與基線信息進(jìn)行比較,并給出相應(yīng)驗(yàn)證結(jié) 果;所述信息處理模塊用于根據(jù)結(jié)杲控制模塊傳來(lái)的關(guān)鍵字信息,將結(jié)果驗(yàn) 證模塊給出的驗(yàn)證結(jié)果寫入測(cè)試管理工具中,產(chǎn)生統(tǒng)計(jì)數(shù)據(jù)。
9、 如權(quán)利要求8所述的自動(dòng)測(cè)試系統(tǒng),其特征在于所述測(cè)試數(shù)據(jù)庫(kù) 模塊包含三個(gè)子數(shù)據(jù)庫(kù),當(dāng)前數(shù)據(jù)庫(kù),執(zhí)行數(shù)據(jù)庫(kù)和歷史數(shù)據(jù)庫(kù);當(dāng)前數(shù)據(jù) 庫(kù)用于存儲(chǔ)數(shù)據(jù)庫(kù)模塊對(duì)外接口工具生成的數(shù)據(jù)文件,符合框架的關(guān)鍵字規(guī) 范后入執(zhí)行數(shù)據(jù)庫(kù);執(zhí)行數(shù)據(jù)庫(kù)存放的是可被自動(dòng)測(cè)試框架執(zhí)行的數(shù)據(jù)文 件,歷史數(shù)據(jù)庫(kù)與執(zhí)行數(shù)據(jù)庫(kù)同步更新,用于備份。
全文摘要
一種基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)測(cè)試系統(tǒng)和測(cè)試方法,首先構(gòu)建測(cè)試數(shù)據(jù)庫(kù),創(chuàng)建關(guān)鍵字規(guī)范;其次將手工測(cè)試用例向自動(dòng)測(cè)試用例轉(zhuǎn)化,從手工測(cè)試用例中提取關(guān)鍵字信息,然后通過(guò)人機(jī)交互模塊將關(guān)鍵字信息寫入數(shù)據(jù)庫(kù)的數(shù)據(jù)文件中;最后啟動(dòng)自動(dòng)測(cè)試框架,選擇已有的測(cè)試數(shù)據(jù)文件執(zhí)行自動(dòng)測(cè)試,生成測(cè)試報(bào)告,測(cè)試人員對(duì)被測(cè)軟件執(zhí)行自動(dòng)測(cè)試時(shí),通過(guò)人機(jī)交互模塊來(lái)修改數(shù)據(jù)庫(kù)模塊中的測(cè)試數(shù)據(jù)文件來(lái)定制測(cè)試執(zhí)行過(guò)程,執(zhí)行模塊通過(guò)關(guān)鍵字信息驅(qū)動(dòng)腳本回放工具來(lái)對(duì)被測(cè)軟件執(zhí)行相應(yīng)的測(cè)試,結(jié)果驗(yàn)證模塊根據(jù)被測(cè)軟件的返回信息和預(yù)定的關(guān)鍵字信息判斷驗(yàn)證點(diǎn)是否通過(guò),執(zhí)行結(jié)果將通過(guò)信息處理模塊寫入測(cè)試管理工具中,產(chǎn)生統(tǒng)計(jì)數(shù)據(jù)。
文檔編號(hào)G06F11/36GK101187894SQ200610145160
公開日2008年5月28日 申請(qǐng)日期2006年11月15日 優(yōu)先權(quán)日2006年11月15日
發(fā)明者左婧婧, 徐振良, 王曉婷, 程兵旺 申請(qǐng)人:中興通訊股份有限公司