亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

軟件測(cè)試方法和測(cè)試裝置的制作方法

文檔序號(hào):6384783閱讀:251來源:國(guó)知局
專利名稱:軟件測(cè)試方法和測(cè)試裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及軟件測(cè)試領(lǐng)域,尤其涉及一種軟件測(cè)試方法和測(cè)試裝置。
背景技術(shù)
軟件測(cè)試,一直都是軟件開發(fā)中非常關(guān)鍵也是非常繁瑣的一環(huán);隨著軟件公司的發(fā)展,產(chǎn)品線不斷擴(kuò)大,軟件新版本不斷推出,支持的平臺(tái)越來越豐富,如何高效、快速的對(duì)軟件產(chǎn)品進(jìn)行測(cè)試成為軟件測(cè)試團(tuán)隊(duì)所面臨的問題。越來越多的項(xiàng)目組在考慮對(duì)軟件軟件產(chǎn)品進(jìn)行自動(dòng)化回歸測(cè)試,考慮選取適合自己項(xiàng)目組的自動(dòng)化工具。面對(duì)數(shù)目繁多、各式各樣的自動(dòng)化工具,選擇也不是件很容易的事情。開源自動(dòng)化測(cè)試工具有Selenium、Watir 等測(cè)試工具,商業(yè)的測(cè)試工具如國(guó)際商業(yè)機(jī)器公司IBM的Rational Functional Tester> Rational Robot、惠普 HP 公司的 QuickTest Professional、Borland 公司的 SilkTest 等等。開源工具使用成本比較低,但功能不如商業(yè)工具豐富。商業(yè)工具可以提供強(qiáng)大的錄制功能,為初學(xué)者所喜愛,但錄制腳本并不是自動(dòng)化測(cè)試最優(yōu)方案。錄制腳本中的測(cè)試數(shù)據(jù)和腳本程序混雜在一起,很難進(jìn)行維護(hù);此外,當(dāng)測(cè)試用例發(fā)生較大的變更時(shí),維護(hù)用例和重新錄制用例所花費(fèi)的精力不分上下。但是不管使用開源的還是商業(yè)的自動(dòng)化測(cè)試工具,都需要測(cè)試人員熟悉開發(fā)編程語言。編程門檻讓很大一部分的優(yōu)秀業(yè)務(wù)測(cè)試專家只能對(duì)自動(dòng)化測(cè)試駐足遙望。
因此,在Wb (網(wǎng)絡(luò))應(yīng)用軟件或Android (安卓)應(yīng)用軟件的測(cè)試領(lǐng)域,越來越多的測(cè)試系統(tǒng)開發(fā)團(tuán)隊(duì)在研究如何讓不熟悉編程的業(yè)務(wù)專家也能編寫自動(dòng)化回歸測(cè)試用例?,F(xiàn)在流行的工作模式是測(cè)試人員使用XML (ExtensiveMakeupLanguage,可擴(kuò)展標(biāo)示語言)維護(hù)測(cè)試用例、只需要維護(hù)測(cè)試邏輯與數(shù)據(jù)相關(guān)的內(nèi)容;測(cè)試系統(tǒng)開發(fā)人員提供處理XML用例腳本文件的測(cè)試引擎。測(cè)試人員使用測(cè)試引擎執(zhí)行XML用例腳本文件完成測(cè)試過程。
但在復(fù)雜的測(cè)試情景下,為了確保測(cè)試步驟正確執(zhí)行,需要增添各種驗(yàn)證點(diǎn)。比如,需要驗(yàn)證Web頁(yè)面上的控件是否存在、或需要比較期望值與實(shí)際字符串是否相等、是否包含,是否包含前綴、后綴、或需要比較期望與實(shí)際數(shù)字是否相等,是否大于、等于、小于等。 然而現(xiàn)有技術(shù)的基于XML用例腳本的測(cè)試引擎并不能提供對(duì)驗(yàn)證點(diǎn)進(jìn)行驗(yàn)證的功能;為了對(duì)測(cè)試步驟執(zhí)行結(jié)果進(jìn)行驗(yàn)證,測(cè)試人員不得不進(jìn)行復(fù)雜的編程工作來實(shí)現(xiàn)驗(yàn)證點(diǎn)的自動(dòng)驗(yàn)證;這使得測(cè)試人員無法專注于測(cè)試邏輯相關(guān)的內(nèi)容,并且,也無法高效、快速的完成測(cè)試任務(wù)。
綜上所述,現(xiàn)有技術(shù)的基于XML用例腳本的測(cè)試方法無法為測(cè)試人員提供驗(yàn)證測(cè)試步驟執(zhí)行結(jié)果的功能,使得測(cè)試人員無法高效、快速的完成比較復(fù)雜的測(cè)試任務(wù)。發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供了一種軟件測(cè)試方法和測(cè)試裝置,用以提供具有驗(yàn)證測(cè)試步驟執(zhí)行結(jié)果的功能的基于測(cè)試用例腳本的測(cè)試方法,以便于測(cè)試人員高效、快速的完成比較復(fù)雜的測(cè)試任務(wù)。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種軟件測(cè)試方法,包括
對(duì)被測(cè)軟件的測(cè)試用例腳本進(jìn)行解析;所述測(cè)試用例腳本中記載了為各測(cè)試步驟 配置的步驟執(zhí)行信息,以及為所述測(cè)試步驟中的需驗(yàn)證步驟配置的步驟驗(yàn)證信息,所述步 驟驗(yàn)證信息中包括驗(yàn)證方法名稱、期望值、驗(yàn)證對(duì)象信息;
在根據(jù)解析結(jié)果依次執(zhí)行各測(cè)試步驟的過程中,若當(dāng)前的測(cè)試步驟為需驗(yàn)證步 驟,則根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行完畢該測(cè)試步驟,得到執(zhí)行結(jié)果后,調(diào)用該測(cè)試 步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和驗(yàn)證對(duì)象信息傳入到該方 法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證。
其中,所述驗(yàn)證對(duì)象信息具體為變量名;以及
所述調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和 驗(yàn)證對(duì)象信息傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證,具體為
調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值,以及 該測(cè)試步驟的驗(yàn)證對(duì)象信息傳入到該方法中;該方法根據(jù)所述期望值,對(duì)所述執(zhí)行結(jié)果中 由所述變量名指示的變量的值進(jìn)行驗(yàn)證;
或者,所述驗(yàn)證對(duì)象信息具體為驗(yàn)證對(duì)象的定位信息;以及
所述調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和 驗(yàn)證對(duì)象信息傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證,具體為
調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值,以及 該測(cè)試步驟的驗(yàn)證對(duì)象的定位信息傳入到該方法中,由該方法根據(jù)所述驗(yàn)證對(duì)象的定位信 息從作為執(zhí)行結(jié)果的頁(yè)面中定位驗(yàn)證對(duì)象,并根據(jù)所述期望值對(duì)定位的驗(yàn)證對(duì)象的值進(jìn)行 驗(yàn)證。
進(jìn)一步,所述步驟驗(yàn)證信息還包括重試次數(shù)設(shè)定值;以及
在所述將該測(cè)試步驟的期望值傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證后,還包 括
若該方法返回的驗(yàn)證結(jié)果為失敗,則依據(jù)該測(cè)試步驟的重試次數(shù)設(shè)定值進(jìn)行重 試
在一次重試過程中,重新根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行該測(cè)試步驟后,再 調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,重新根據(jù)該測(cè)試步驟的期望值對(duì)該測(cè)試步 驟的執(zhí)行結(jié)果進(jìn)行驗(yàn)證;
若確定該次重試過程中該方法返回的驗(yàn)證結(jié)果仍為失敗,則在確定重試的次數(shù)小 于該測(cè)試步驟的重試次數(shù)設(shè)定值后,進(jìn)行下次重試過程;
若確定該次重試過程中該方法返回的驗(yàn)證結(jié)果為成功,則確定該測(cè)試步驟的最終 驗(yàn)證結(jié)果為成功。
進(jìn)一步,所述步驟驗(yàn)證信息還包括驗(yàn)證點(diǎn)類別;以及
在所述依據(jù)該測(cè)試步驟的重試次數(shù)設(shè)定值進(jìn)行重試后,還包括
若得到的該測(cè)試步驟的最終驗(yàn)證結(jié)果為失敗,則
若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為斷言類別,則終止所述測(cè)試用例腳本的執(zhí)行, 報(bào)告失敗結(jié)果;
若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為驗(yàn)證類別,則根據(jù)下個(gè)測(cè)試步驟的步驟執(zhí)行信息執(zhí)行下個(gè)測(cè)試步驟。
進(jìn)一步,所述步驟驗(yàn)證信息還包括驗(yàn)證工具信息;以及
在所述調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法之前,還包括
確定所述方法所屬工具;以及
所述測(cè)試用例腳本為可擴(kuò)展標(biāo)示語言XML格式的。
根據(jù)本發(fā)明的另一個(gè)方面,還提供了一種軟件測(cè)試裝置,包括
測(cè)試用例解析模塊,用于對(duì)被測(cè)軟件的測(cè)試用例腳本進(jìn)行解析;所述測(cè)試用例腳 本中記載了為各測(cè)試步驟配置的步驟執(zhí)行信息,以及為所述測(cè)試步驟中的需驗(yàn)證步驟配置 的步驟驗(yàn)證信息,所述步驟驗(yàn)證信息中包括驗(yàn)證方法名稱、期望值、驗(yàn)證對(duì)象信息;
測(cè)試執(zhí)行模塊,用于在根據(jù)所述測(cè)試用例解析模塊的解析結(jié)果依次執(zhí)行各測(cè)試步 驟的過程中,若當(dāng)前的測(cè)試步驟為需驗(yàn)證步驟,則根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行完 畢該測(cè)試步驟,得到執(zhí)行結(jié)果后,調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè) 試步驟的期望值和和驗(yàn)證對(duì)象信息傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證。
進(jìn)一步,所述步驟驗(yàn)證信息還包括重試次數(shù)設(shè)定值;以及
所述測(cè)試執(zhí)行模塊在所述將該測(cè)試步驟的期望值傳入到該方法中對(duì)所述執(zhí)行結(jié) 果進(jìn)行驗(yàn)證后,還用于若確定該方法返回的驗(yàn)證結(jié)果為失敗,則依據(jù)該測(cè)試步驟的重試次 數(shù)設(shè)定值進(jìn)行重試
在一次重試過程中,所述測(cè)試執(zhí)行模塊重新根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行 該測(cè)試步驟后,再調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,重新根據(jù)該測(cè)試步驟的 期望值對(duì)該測(cè)試步驟的執(zhí)行結(jié)果進(jìn)行驗(yàn)證;
若所述測(cè)試執(zhí)行模塊確定該次重試過程中該方法返回的驗(yàn)證結(jié)果仍為失敗,則在 確定重試的次數(shù)小于該測(cè)試步驟的重試次數(shù)設(shè)定值后,進(jìn)行下次重試過程;
若所述測(cè)試執(zhí)行模塊確定該次重試過程中該方法返回的驗(yàn)證結(jié)果為成功,則確定 該測(cè)試步驟的最終驗(yàn)證結(jié)果為成功。
進(jìn)一步,所述步驟驗(yàn)證信息還包括驗(yàn)證點(diǎn)類別;以及
所述測(cè)試執(zhí)行模塊還用于在所述依據(jù)該測(cè)試步驟的重試次數(shù)設(shè)定值進(jìn)行重試后, 若得到的該測(cè)試步驟的最終驗(yàn)證結(jié)果為失敗,則若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為斷言 類別,則終止所述測(cè)試用例腳本的執(zhí)行,報(bào)告失敗結(jié)果;若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為 驗(yàn)證類別,則根據(jù)下個(gè)測(cè)試步驟的步驟執(zhí)行信息執(zhí)行下個(gè)測(cè)試步驟。
其中,所述測(cè)試執(zhí)行模塊包括測(cè)試步驟執(zhí)行單元、驗(yàn)證單元、重試單元;
所述測(cè)試步驟執(zhí)行單元用于根據(jù)所述解析結(jié)果依次執(zhí)行各測(cè)試步驟的過程中,若 當(dāng)前的測(cè)試步驟為需驗(yàn)證步驟,則根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行完畢該測(cè)試步驟, 得到執(zhí)行結(jié)果后,發(fā)送驗(yàn)證通知;
所述驗(yàn)證單元用于在接收到所述測(cè)試步驟執(zhí)行單元發(fā)送的驗(yàn)證通知后,調(diào)用該測(cè) 試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和和驗(yàn)證對(duì)象信息傳入到 該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證;以及
所述驗(yàn)證單元還用于在所述將該測(cè)試步驟的期望值傳入到該方法中對(duì)所述執(zhí)行 結(jié)果進(jìn)行驗(yàn)證后,還用于若確定該方法返回的驗(yàn)證結(jié)果為失敗,則向所述重試單元發(fā)送重 試通知;
所述重試單元用于對(duì)該測(cè)試步驟的重試次數(shù)計(jì)數(shù),并在接收所述重試通知后,若 確定該測(cè)試步驟的重試次數(shù)小于該測(cè)試步驟的重試次數(shù)設(shè)定值,則決定對(duì)該測(cè)試步驟進(jìn)行 一次重試,向所述測(cè)試步驟執(zhí)行單元發(fā)送重試通知;
所述測(cè)試步驟執(zhí)行單元還用于在接收到所述重試通知后,重新根據(jù)該測(cè)試步驟的 步驟執(zhí)行信息執(zhí)行該測(cè)試步驟,并得到執(zhí)行結(jié)果后,發(fā)送所述驗(yàn)證通知;以及
所述重試單元還用于在接收所述重試通知后,若確定該測(cè)試步驟的重試次數(shù)等于 或大于該測(cè)試步驟的重試次數(shù)設(shè)定值,則若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為斷言類別,則 向所述測(cè)試執(zhí)行模塊發(fā)送終止通知;若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為驗(yàn)證類別,則向所 述測(cè)試執(zhí)行模塊發(fā)送繼續(xù)通知;以及
所述測(cè)試步驟執(zhí)行單元還用于根據(jù)所述終止通知,終止所述測(cè)試用例腳本的執(zhí) 行,報(bào)告失敗結(jié)果;或根據(jù)所述繼續(xù)通知執(zhí)行下個(gè)測(cè)試步驟。
進(jìn)一步,所述裝置還包括
測(cè)試用例生成模塊,用于接收測(cè)試人員為各測(cè)試步驟配置的步驟執(zhí)行信息,以及 測(cè)試步驟中的需驗(yàn)證步驟的步驟驗(yàn)證信息;根據(jù)接收的信息按預(yù)定格式生成所述測(cè)試用例 腳本;
測(cè)試用例存儲(chǔ)模塊,用于存儲(chǔ)所述測(cè)試用例生成模塊生成的測(cè)試用例腳本;以及
所述測(cè)試用例解析模塊還用于根據(jù)測(cè)試指令從所述測(cè)試用例存儲(chǔ)模塊獲取所述 測(cè)試用例腳本。
本發(fā)明實(shí)施例的技術(shù)方案中,由于測(cè)試人員可以根據(jù)驗(yàn)證需求,在測(cè)試用例腳本 中配置相應(yīng)的驗(yàn)證方法名稱;在對(duì)測(cè)試用例腳本進(jìn)行解析后,利用Java反射機(jī)制可動(dòng)態(tài) 調(diào)用方法、類的特性,實(shí)現(xiàn)根據(jù)配置的驗(yàn)證方法名稱調(diào)用相應(yīng)方法的功能,從而實(shí)現(xiàn)驗(yàn)證需 求;在此過程中,測(cè)試人員不用涉及編程,而只需了解一些可實(shí)現(xiàn)驗(yàn)證需求的方法的名稱, 使得測(cè)試人員更專注于測(cè)試邏輯相關(guān)的內(nèi)容,可以高效、快速的完成比較復(fù)雜的測(cè)試任務(wù)。
進(jìn)一步,測(cè)試人員還可在測(cè)試用例腳本中配置重試次數(shù)預(yù)定值;根據(jù)配置的重試 次數(shù)預(yù)定值來控制驗(yàn)證重試的次數(shù),測(cè)試人員可以方便地實(shí)現(xiàn)驗(yàn)證的多次重試;進(jìn)一步有 助于測(cè)試人員高效、快速的完成比較復(fù)雜的測(cè)試任務(wù)。


圖1為本發(fā)明實(shí)施例的對(duì)被測(cè)軟件進(jìn)行測(cè)試的方法流程圖2為本發(fā)明實(shí)施例的軟件測(cè)試裝置的內(nèi)部結(jié)構(gòu)框圖3為本發(fā)明實(shí)施例的測(cè)試執(zhí)行模塊的內(nèi)部結(jié)構(gòu)框圖。
具體實(shí)施方式
為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉出優(yōu)選實(shí) 施例,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。然而,需要說明的是,說明書中列出的許多細(xì)節(jié)僅僅是為 了使讀者對(duì)本發(fā)明的一個(gè)或多個(gè)方面有一個(gè)透徹的理解,即便沒有這些特定的細(xì)節(jié)也可以 實(shí)現(xiàn)本發(fā)明的這些方面。
本申請(qǐng)使用的“模塊”、“系統(tǒng)”等術(shù)語旨在包括與計(jì)算機(jī)相關(guān)的實(shí)體,例如但不限 于硬件、固件、軟硬件組合、軟件或者執(zhí)行中的軟件。例如,模塊可以是,但并不僅限于處理器上運(yùn)行的進(jìn)程、處理器、對(duì)象、可執(zhí)行程序、執(zhí)行的線程、程序和/或計(jì)算機(jī)。舉例來說,計(jì) 算設(shè)備上運(yùn)行的應(yīng)用程序和此計(jì)算設(shè)備都可以是模塊。一個(gè)或多個(gè)模塊可以位于執(zhí)行中的 一個(gè)進(jìn)程和/或線程內(nèi),一個(gè)模塊也可以位于一臺(tái)計(jì)算機(jī)上和/或分布于兩臺(tái)或更多臺(tái)計(jì) 算機(jī)之間。
本發(fā)明的發(fā)明人發(fā)現(xiàn)測(cè)試過程中不同的驗(yàn)證需求需要不同的功能函數(shù)來實(shí)現(xiàn);而 多數(shù)驗(yàn)證需求可通過利用Java (—種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言)反射機(jī)制動(dòng)態(tài)調(diào)用所提供 的功能函數(shù)來實(shí)現(xiàn)。
例如,對(duì)于驗(yàn)證控件是否存在的驗(yàn)證需求,以開放源代碼的自動(dòng)化測(cè)試工具 Selenium為例,可調(diào)用的方法包括如下
isElementPresent (String argO),用于判斷某個(gè)頁(yè)面元素是否存在;
isAlertPresent (String argO),用于判斷某個(gè)提示對(duì)話框是否存在;
isConfirmationPresent O (String argO),用于判斷某個(gè)確認(rèn)對(duì)話框是否存在;
isTextPresent (String argO),用于判斷某個(gè)文本字段是否存在。
對(duì)于字符串的驗(yàn)證需求,則可以利用JUnit (Java語言的單元測(cè)試框架)的 assertThat斷言語法,其可調(diào)用的方法包括如下
assertThat (testedString, containsString (〃 期待值〃)),用于判斷字符串是否 包含;
assertThat (testedString, endsWith(〃后綴〃)),用于判斷字符串是否包含某個(gè)后綴;
assertThat (testedString, startsffith (〃 前綴〃)),用于判斷字符串是否包含某 個(gè)前綴;
assertThat (testedValue, equalToIgnoringCase (expectedValue)),用于判斷字 符串是否相等,并忽略大小寫。
對(duì)于數(shù)值的驗(yàn)證需求,利用JUnit assertThat斷言語法提供的可調(diào)用的方法包 括
assertThat (testedNumber, greaterThan (16. 0)),用于判斷數(shù)值是否大于某個(gè)數(shù) 值比如數(shù)值16.0 ;
assertThat (testedNumber, IessThan (16. 0)),用于判斷數(shù)值是否小于某個(gè)數(shù)值 比如數(shù)值16. O ;
assertThat (testedNumber, greaterThanOrEqualTo (16. 0)),用于判斷數(shù)值是否 大于或等于某個(gè)數(shù)值比如數(shù)值16. O ;
assertThat (testedNumber, IessThanOrEqualTo (16. 0)),用于判斷數(shù)值是否小于 或等于某個(gè)數(shù)值比如數(shù)值16.0;
JUnit assertThat斷言語法提供的可調(diào)用方法還可以支持其他驗(yàn)證需求,比如集 合和列表等等。
利用Java反射機(jī)制動(dòng)態(tài)調(diào)用Selenium、JUnit等提供的具有較佳的可讀性的方 法,測(cè)試人員根據(jù)某個(gè)方法的方法名稱就可以了解到該方法的大概功能;如果測(cè)試人員根 據(jù)驗(yàn)證需求編寫程序代碼來調(diào)用這些方法,并不能顯著提高測(cè)試效率;然而,如果允許測(cè)試 人員將可以實(shí)現(xiàn)驗(yàn)證需求的方法的方法名稱配置到測(cè)試用例腳本中;并對(duì)測(cè)試用例腳本進(jìn)行解析后,利用Java反射機(jī)制可動(dòng)態(tài)調(diào)用方法、類的特性,實(shí)現(xiàn)根據(jù)配置的方法名稱調(diào)用 相應(yīng)方法的功能,從而實(shí)現(xiàn)驗(yàn)證需求。這樣,測(cè)試人員在實(shí)現(xiàn)驗(yàn)證需求時(shí),只需在測(cè)試用例 腳本中配置相應(yīng)的方法名稱,而不用涉及編程;使得測(cè)試人員更專注于測(cè)試邏輯相關(guān)的內(nèi) 容,可以高效、快速的完成比較復(fù)雜的測(cè)試任務(wù)。
下面結(jié)合附圖詳細(xì)說明本發(fā)明實(shí)施例的技術(shù)方案。本發(fā)明實(shí)施例提供的軟件測(cè) 試裝置可以為測(cè)試人員提供測(cè)試用例的配置界面;通過配置界面,測(cè)試人員可以輸入各測(cè) 試步驟的步驟執(zhí)行信息;測(cè)試步驟的步驟執(zhí)行信息可以包括步驟編號(hào)(index)、步驟類型 (type)、步驟名稱(name)、步驟參數(shù)。若測(cè)試步驟所涉及的是頁(yè)面控件,則步驟參數(shù)為測(cè)試 元素對(duì)象的定位信息,在測(cè)試用例腳本中以XPath (XML Path Language,XML路徑語言)標(biāo) 簽標(biāo)示;若測(cè)試步驟需要輸入數(shù)據(jù),則步驟參數(shù)為需要輸入的數(shù)據(jù),以VALUE (數(shù)據(jù))標(biāo)簽標(biāo)/Jn ο
對(duì)于測(cè)試步驟中的需驗(yàn)證步驟,測(cè)試人員還可通過配置界面,輸入該測(cè)試步驟的 步驟驗(yàn)證信息。測(cè)試步驟的步驟驗(yàn)證信息可以包括驗(yàn)證方法名稱、期望值;
進(jìn)一步,測(cè)試步驟的步驟驗(yàn)證信息還可包括重試次數(shù)設(shè)定值、驗(yàn)證點(diǎn)類別、驗(yàn)證 對(duì)象的定位信息;進(jìn)一步,步驟驗(yàn)證信息還可包括驗(yàn)證工具信息。
配置界面在接收了測(cè)試人員輸入的各測(cè)試步驟的相關(guān)信息后,軟件測(cè)試裝置按預(yù) 定格式生成測(cè)試用例腳本。
下面示出了一個(gè)具體的XML格式的測(cè)試用例腳本示例
權(quán)利要求
1.一種軟件測(cè)試方法,包括 對(duì)被測(cè)軟件的測(cè)試用例腳本進(jìn)行解析;所述測(cè)試用例腳本中記載了為各測(cè)試步驟配置的步驟執(zhí)行信息,以及為所述測(cè)試步驟中的需驗(yàn)證步驟配置的步驟驗(yàn)證信息,所述步驟驗(yàn)證信息中包括驗(yàn)證方法名稱、期望值、驗(yàn)證對(duì)象信息; 在根據(jù)解析結(jié)果依次執(zhí)行各測(cè)試步驟的過程中,若當(dāng)前的測(cè)試步驟為需驗(yàn)證步驟,則根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行完畢該測(cè)試步驟,得到執(zhí)行結(jié)果后,調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和驗(yàn)證對(duì)象信息傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證。
2.如權(quán)利要求I所述的方法,其特征在于,所述驗(yàn)證對(duì)象信息具體為變量名;以及 所述調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和驗(yàn)證對(duì)象信息傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證,具體為 調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值,以及該測(cè)試步驟的驗(yàn)證對(duì)象信息傳入到該方法中;該方法根據(jù)所述期望值,對(duì)所述執(zhí)行結(jié)果中由所述變量名指示的變量的值進(jìn)行驗(yàn)證; 或者,所述驗(yàn)證對(duì)象信息具體為驗(yàn)證對(duì)象的定位信息;以及 所述調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和驗(yàn)證對(duì)象信息傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證,具體為 調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值,以及該測(cè)試步驟的驗(yàn)證對(duì)象的定位信息傳入到該方法中,由該方法根據(jù)所述驗(yàn)證對(duì)象的定位信息從作為執(zhí)行結(jié)果的頁(yè)面中定位驗(yàn)證對(duì)象,并根據(jù)所述期望值對(duì)定位的驗(yàn)證對(duì)象的值進(jìn)行驗(yàn)證。
3.如權(quán)利要求I或2所述的方法,其特征在于,所述步驟驗(yàn)證信息還包括重試次數(shù)設(shè)定值;以及在所述將該測(cè)試步驟的期望值傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證后,還包括若該方法返回的驗(yàn)證結(jié)果為失敗,則依據(jù)該測(cè)試步驟的重試次數(shù)設(shè)定值進(jìn)行重試在一次重試過程中,重新根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行該測(cè)試步驟后,再調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,重新根據(jù)該測(cè)試步驟的期望值對(duì)該測(cè)試步驟的執(zhí)行結(jié)果進(jìn)行驗(yàn)證; 若確定該次重試過程中該方法返回的驗(yàn)證結(jié)果仍為失敗,則在確定重試的次數(shù)小于該測(cè)試步驟的重試次數(shù)設(shè)定值后,進(jìn)行下次重試過程; 若確定該次重試過程中該方法返回的驗(yàn)證結(jié)果為成功,則確定該測(cè)試步驟的最終驗(yàn)證結(jié)果為成功。
4.如權(quán)利要求3所述的方法,其特征在于,所述步驟驗(yàn)證信息還包括驗(yàn)證點(diǎn)類別;以及 在所述依據(jù)該測(cè)試步驟的重試次數(shù)設(shè)定值進(jìn)行重試后,還包括 若得到的該測(cè)試步驟的最終驗(yàn)證結(jié)果為失敗,則 若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為斷言類別,則終止所述測(cè)試用例腳本的執(zhí)行,報(bào)告失敗結(jié)果; 若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為驗(yàn)證類別,則根據(jù)下個(gè)測(cè)試步驟的步驟執(zhí)行信息執(zhí)行下個(gè)測(cè)試步驟。
5.如權(quán)利要求4所述的方法,其特征在于,所述步驟驗(yàn)證信息還包括驗(yàn)證工具信息;以及 在所述調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法之前,還包括 確定所述方法所屬工具;以及 所述測(cè)試用例腳本為可擴(kuò)展標(biāo)示語言XML格式的。
6.一種軟件測(cè)試裝置,包括 測(cè)試用例解析模塊,用于對(duì)被測(cè)軟件的測(cè)試用例腳本進(jìn)行解析;所述測(cè)試用例腳本中記載了為各測(cè)試步驟配置的步驟執(zhí)行信息,以及為所述測(cè)試步驟中的需驗(yàn)證步驟配置的步驟驗(yàn)證信息,所述步驟驗(yàn)證信息中包括驗(yàn)證方法名稱、期望值、驗(yàn)證對(duì)象信息; 測(cè)試執(zhí)行模塊,用于在根據(jù)所述測(cè)試用例解析模塊的解析結(jié)果依次執(zhí)行各測(cè)試步驟的過程中,若當(dāng)前的測(cè)試步驟為需驗(yàn)證步驟,則根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行完畢該測(cè)試步驟,得到執(zhí)行結(jié)果后,調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和和驗(yàn)證對(duì)象信息傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證。
7.如權(quán)利要求6所述的裝置,其特征在于,所述步驟驗(yàn)證信息還包括重試次數(shù)設(shè)定值;以及 所述測(cè)試執(zhí)行模塊在所述將該測(cè)試步驟的期望值傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證后,還用于若確定該方法返回的驗(yàn)證結(jié)果為失敗,則依據(jù)該測(cè)試步驟的重試次數(shù)設(shè)定值進(jìn)行重試 在一次重試過程中,所述測(cè)試執(zhí)行模塊重新根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行該測(cè)試步驟后,再調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,重新根據(jù)該測(cè)試步驟的期望值對(duì)該測(cè)試步驟的執(zhí)行結(jié)果進(jìn)行驗(yàn)證; 若所述測(cè)試執(zhí)行模塊確定該次重試過程中該方法返回的驗(yàn)證結(jié)果仍為失敗,則在確定重試的次數(shù)小于該測(cè)試步驟的重試次數(shù)設(shè)定值后,進(jìn)行下次重試過程; 若所述測(cè)試執(zhí)行模塊確定該次重試過程中該方法返回的驗(yàn)證結(jié)果為成功,則確定該測(cè)試步驟的最終驗(yàn)證結(jié)果為成功。
8.如權(quán)利要求7所述的裝置,其特征在于,所述步驟驗(yàn)證信息還包括驗(yàn)證點(diǎn)類別;以及 所述測(cè)試執(zhí)行模塊還用于在所述依據(jù)該測(cè)試步驟的重試次數(shù)設(shè)定值進(jìn)行重試后,若得到的該測(cè)試步驟的最終驗(yàn)證結(jié)果為失敗,則若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為斷言類別,則終止所述測(cè)試用例腳本的執(zhí)行,報(bào)告失敗結(jié)果;若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為驗(yàn)證類別,則根據(jù)下個(gè)測(cè)試步驟的步驟執(zhí)行信息執(zhí)行下個(gè)測(cè)試步驟。
9.如權(quán)利要求8所述的裝置,其特征在于,所述測(cè)試執(zhí)行模塊包括測(cè)試步驟執(zhí)行單元、驗(yàn)證單元、重試單元; 所述測(cè)試步驟執(zhí)行單元用于根據(jù)所述解析結(jié)果依次執(zhí)行各測(cè)試步驟的過程中,若當(dāng)前的測(cè)試步驟為需驗(yàn)證步驟,則根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行完畢該測(cè)試步驟,得到執(zhí)行結(jié)果后,發(fā)送驗(yàn)證通知; 所述驗(yàn)證單元用于在接收到所述測(cè)試步驟執(zhí)行單元發(fā)送的驗(yàn)證通知后,調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和和驗(yàn)證對(duì)象信息傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證;以及 所述驗(yàn)證單元還用于在所述將該測(cè)試步驟的期望值傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證后,還用于若確定該方法返回的驗(yàn)證結(jié)果為失敗,則向所述重試單元發(fā)送重試通知; 所述重試單元用于對(duì)該測(cè)試步驟的重試次數(shù)計(jì)數(shù),并在接收所述重試通知后,若確定該測(cè)試步驟的重試次數(shù)小于該測(cè)試步驟的重試次數(shù)設(shè)定值,則決定對(duì)該測(cè)試步驟進(jìn)行一次重試,向所述測(cè)試步驟執(zhí)行單元發(fā)送重試通知; 所述測(cè)試步驟執(zhí)行單元還用于在接收到所述重試通知后,重新根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行該測(cè)試步驟,并得到執(zhí)行結(jié)果后,發(fā)送所述驗(yàn)證通知;以及 所述重試單元還用于在接收所述重試通知后,若確定該測(cè)試步驟的重試次數(shù)等于或大于該測(cè)試步驟的重試次數(shù)設(shè)定值,則若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為斷言類別,則向所述測(cè)試執(zhí)行模塊發(fā)送終止通知;若確定該測(cè)試步驟的驗(yàn)證點(diǎn)類別為驗(yàn)證類別,則向所述測(cè)試執(zhí)行模塊發(fā)送繼續(xù)通知;以及 所述測(cè)試步驟執(zhí)行單元還用于根據(jù)所述終止通知,終止所述測(cè)試用例腳本的執(zhí)行,報(bào)告失敗結(jié)果;或根據(jù)所述繼續(xù)通知執(zhí)行下個(gè)測(cè)試步驟。
10.如權(quán)利要求6-9任一所述的裝置,其特征在于,還包括 測(cè)試用例生成模塊,用于接收測(cè)試人員為各測(cè)試步驟配置的步驟執(zhí)行信息,以及測(cè)試步驟中的需驗(yàn)證步驟的步驟驗(yàn)證信息;根據(jù)接收的信息按預(yù)定格式生成所述測(cè)試用例腳本; 測(cè)試用例存儲(chǔ)模塊,用于存儲(chǔ)所述測(cè)試用例生成模塊生成的測(cè)試用例腳本;以及所述測(cè)試用例解析模塊還用于根據(jù)測(cè)試指令從所述測(cè)試用例存儲(chǔ)模塊獲取所述測(cè)試用例腳本。
全文摘要
本發(fā)明公開了一種軟件測(cè)試方法和測(cè)試裝置,所述方法包括對(duì)被測(cè)軟件的測(cè)試用例腳本進(jìn)行解析;在根據(jù)解析結(jié)果依次執(zhí)行各測(cè)試步驟的過程中,若當(dāng)前的測(cè)試步驟為需驗(yàn)證步驟,則根據(jù)該測(cè)試步驟的步驟執(zhí)行信息執(zhí)行完畢該測(cè)試步驟,得到執(zhí)行結(jié)果后,調(diào)用該測(cè)試步驟的驗(yàn)證方法名稱所指示的方法,并將該測(cè)試步驟的期望值和驗(yàn)證對(duì)象信息傳入到該方法中對(duì)所述執(zhí)行結(jié)果進(jìn)行驗(yàn)證。由于測(cè)試人員可以根據(jù)驗(yàn)證需求,在測(cè)試用例腳本中方便地配置相應(yīng)的驗(yàn)證方法名稱;在對(duì)測(cè)試用例腳本進(jìn)行解析后,可根據(jù)配置的驗(yàn)證方法名稱動(dòng)態(tài)調(diào)用相應(yīng)方法實(shí)現(xiàn)驗(yàn)證需求;此過程中,測(cè)試人員不用涉及編程,使得測(cè)試人員更專注于測(cè)試邏輯相關(guān)的內(nèi)容,高效、快速完成復(fù)雜測(cè)試任務(wù)。
文檔編號(hào)G06F11/36GK102981958SQ201210557000
公開日2013年3月20日 申請(qǐng)日期2012年12月19日 優(yōu)先權(quán)日2012年12月19日
發(fā)明者祝尚元 申請(qǐng)人:青島海信傳媒網(wǎng)絡(luò)技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1