一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試系統(tǒng)及測(cè)試方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試系統(tǒng)及測(cè)試方法,屬于自動(dòng)化測(cè)試【技術(shù)領(lǐng)域】。本發(fā)明的測(cè)試系統(tǒng)包括測(cè)試請(qǐng)求端和測(cè)試響應(yīng)端,測(cè)試請(qǐng)求端包括Selenium?RC單元、Extended?SeleniumRC單元、數(shù)據(jù)驅(qū)動(dòng)文件存儲(chǔ)單元和測(cè)試結(jié)果存儲(chǔ)單元;本發(fā)明的測(cè)試步驟為:一、編寫(xiě)數(shù)據(jù)驅(qū)動(dòng)文件;二、Extended?SeleniumRC單元對(duì)數(shù)據(jù)驅(qū)動(dòng)文件進(jìn)行解析;三、Selenium?RC單元執(zhí)行網(wǎng)頁(yè)自動(dòng)化測(cè)試操作;四、測(cè)試結(jié)果由測(cè)試結(jié)果存儲(chǔ)單元進(jìn)行比對(duì)保存;五、測(cè)試人員查看對(duì)比結(jié)果。本發(fā)明的數(shù)據(jù)驅(qū)動(dòng)文件編寫(xiě)規(guī)則簡(jiǎn)單,自動(dòng)化測(cè)試工程的開(kāi)發(fā)難度大大降低,測(cè)試執(zhí)行的次數(shù)越多,效率越高、測(cè)試成本越低。
【專(zhuān)利說(shuō)明】一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試系統(tǒng)及測(cè)試方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及自動(dòng)化測(cè)試【技術(shù)領(lǐng)域】,更具體地說(shuō),涉及一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng) 用自動(dòng)化測(cè)試系統(tǒng)及測(cè)試方法。
【背景技術(shù)】
[0002] 軟件測(cè)試是保證軟件質(zhì)量的重要手段,以"瘦客戶端"為特點(diǎn)的B/S架構(gòu)Web應(yīng)用 在"云計(jì)算"迅速發(fā)展的大環(huán)境下逐漸成為大眾客戶的首選。Web應(yīng)用能否正常高效地工作 對(duì)于其開(kāi)發(fā)、運(yùn)營(yíng)企業(yè)來(lái)講有著重要的意義。因此,對(duì)Web應(yīng)用自動(dòng)化測(cè)試技術(shù)的研究與應(yīng) 用具有十分重要的理論與應(yīng)用價(jià)值。自動(dòng)化測(cè)試系統(tǒng)作為保證軟件質(zhì)量的關(guān)鍵技術(shù)手段也 正日益受到廣泛重視。
[0003] 傳統(tǒng)的Web程序手工測(cè)試的主要實(shí)施方法是人工點(diǎn)擊Web頁(yè)面,操作程序,用肉眼 確認(rèn)測(cè)試結(jié)果的正確性,這種測(cè)試方法在面對(duì)大量的重復(fù)性測(cè)試工作時(shí)效率低,復(fù)用性差。 自動(dòng)化測(cè)試編寫(xiě)好測(cè)試程序后,就可以自動(dòng)執(zhí)行,在面對(duì)重復(fù)性的測(cè)試工作方面以其相對(duì) 于手工測(cè)試的低成本、高復(fù)用性、高效率等諸多優(yōu)點(diǎn)逐漸成為軟件界的研究熱點(diǎn)之一。
[0004] Selenium RC是ThoughtWorks公司專(zhuān)門(mén)為Web應(yīng)用程序編寫(xiě)的一款自動(dòng)化測(cè)試系 統(tǒng)。其應(yīng)用原理大致為:用戶編寫(xiě)測(cè)試程序,利用測(cè)試程序去調(diào)用Selenium RC提供的API, 對(duì)待測(cè)試Web頁(yè)面進(jìn)行測(cè)試,整個(gè)測(cè)試程序直接運(yùn)行在瀏覽器中,就像真正的用戶在操作 一樣。Selenium RC支持的瀏覽器包括IE、Google、Chrome、Firefox等,其主要功能有:
[0005] (1)與瀏覽器兼容性的測(cè)試:測(cè)試Web應(yīng)用是否能夠在多種瀏覽器與操作系統(tǒng)上 正常工作;
[0006] (2)系統(tǒng)功能的測(cè)試:創(chuàng)建衰退測(cè)試檢驗(yàn)軟件功能和用戶需求,支持自動(dòng)錄制動(dòng) 作和自動(dòng)生成,支持Net、Java、Perl等不同語(yǔ)言的測(cè)試腳本。
[0007] 使用Selenium RC在瀏覽器上運(yùn)行測(cè)試主要有兩個(gè)好處:
[0008] (1)通過(guò)編寫(xiě)模仿用戶操作的Selenium RC測(cè)試腳本,幫助測(cè)試人員從終端用戶 的視角出發(fā)去測(cè)試Web應(yīng)用程序;
[0009] (2)通過(guò)使用不同瀏覽器對(duì)Web應(yīng)用進(jìn)行測(cè)試,使測(cè)試人員能更加容易發(fā)現(xiàn)Web應(yīng) 用與瀏覽器的不兼容性。
[0010] Selenium RC的核心結(jié)構(gòu)是Browser Bot,是利用JavaScript編寫(xiě)的,這使得測(cè)試 腳本能夠在任何支持JavaScript的瀏覽器上運(yùn)行。Browser Bot的任務(wù)則是接收測(cè)試腳本 的命令并執(zhí)行,測(cè)試腳本可以使用HTML表布局編寫(xiě),也可以使用其支持的程序設(shè)計(jì)語(yǔ)言編 寫(xiě),如Java, Ruby。Selenium RC適用的瀏覽器如表1所示:
[0011] 表lSelenium RC適用的瀏覽器
[0012]
【權(quán)利要求】
1. 一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試系統(tǒng),其特征在于:包括測(cè)試請(qǐng)求端和 測(cè)試響應(yīng)端,該測(cè)試請(qǐng)求端和測(cè)試響應(yīng)端通過(guò)網(wǎng)絡(luò)連接;其中,所述的測(cè)試響應(yīng)端包括服 務(wù)器單元,該服務(wù)器單元部署了被測(cè)試系統(tǒng);所述的測(cè)試請(qǐng)求端包括Selenium RC單元、 Extended SeleniumRC單元、數(shù)據(jù)驅(qū)動(dòng)文件存儲(chǔ)單元和測(cè)試結(jié)果存儲(chǔ)單元; 所述的數(shù)據(jù)驅(qū)動(dòng)文件存儲(chǔ)單元用于存儲(chǔ)用戶編寫(xiě)的數(shù)據(jù)驅(qū)動(dòng)文件; 所述的Extended SeleniumRC單元讀取數(shù)據(jù)驅(qū)動(dòng)文件存儲(chǔ)單元保存的數(shù)據(jù)驅(qū)動(dòng)文件, 并對(duì)所述數(shù)據(jù)驅(qū)動(dòng)文件進(jìn)行解析,根據(jù)解析結(jié)果控制Selenium RC單元執(zhí)行相應(yīng)動(dòng)作;同 時(shí),Extended SeleniumRC單元接收Selenium RC單元返回的結(jié)果,并將所述結(jié)果發(fā)送給測(cè) 試結(jié)果存儲(chǔ)單兀; 所述的Selenium RC單元完成相應(yīng)的網(wǎng)頁(yè)測(cè)試功能; 所述的測(cè)試結(jié)果存儲(chǔ)單元對(duì)比頁(yè)面源代碼的測(cè)試結(jié)果,生成并保存對(duì)比報(bào)告。
2. -種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試方法,其步驟為: 步驟一、編寫(xiě)數(shù)據(jù)驅(qū)動(dòng)文件,并存儲(chǔ)于數(shù)據(jù)驅(qū)動(dòng)文件存儲(chǔ)單元; 步驟二、Extended SeleniumRC單元讀取數(shù)據(jù)驅(qū)動(dòng)文件存儲(chǔ)單元保存的數(shù)據(jù)驅(qū)動(dòng)文件, 并對(duì)數(shù)據(jù)驅(qū)動(dòng)文件進(jìn)行解析; 步驟三、Extended SeleniumRC單元依據(jù)步驟二獲得的解析數(shù)據(jù),控制Selenium RC單 元執(zhí)行網(wǎng)頁(yè)自動(dòng)化測(cè)試操作; 步驟四、Extended SeleniumRC單元接收Selenium RC單元返回的測(cè)試結(jié)果,并將測(cè)試 結(jié)果輸送給測(cè)試結(jié)果存儲(chǔ)單元進(jìn)行比對(duì)保存; 步驟五、測(cè)試人員提取測(cè)試結(jié)果存儲(chǔ)單元的對(duì)比結(jié)果,查看對(duì)比結(jié)果差異部分是否準(zhǔn) 確。
3. 根據(jù)權(quán)利要求2所述的一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試方法,其特征在于: 所述的數(shù)據(jù)驅(qū)動(dòng)文件為文本格式的XML文件。
4. 根據(jù)權(quán)利要求3所述的一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試方法,其特征在于: 所述XML文件根據(jù)測(cè)試內(nèi)容,其根節(jié)點(diǎn)下包含若干子節(jié)點(diǎn),所述子節(jié)點(diǎn)的節(jié)點(diǎn)名對(duì)應(yīng)測(cè)試 指令,該子節(jié)點(diǎn)的屬性參數(shù)對(duì)應(yīng)測(cè)試參數(shù)。
5. 根據(jù)權(quán)利要求3或4所述的一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試方法,其特征 在于:步驟二中Extended SeleniumRC單元讀取數(shù)據(jù)驅(qū)動(dòng)文件時(shí),依據(jù)數(shù)據(jù)驅(qū)動(dòng)文件在數(shù) 據(jù)驅(qū)動(dòng)文件存儲(chǔ)單元中存儲(chǔ)的先后順序讀取;對(duì)單個(gè)數(shù)據(jù)驅(qū)動(dòng)文件,Extended SeleniumRC 單元采用逐行讀取的方式,讀取數(shù)據(jù)驅(qū)動(dòng)文件中包含的測(cè)試指令和測(cè)試參數(shù)。
6. 根據(jù)權(quán)利要求5所述的一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試方法,其特征在于: 所述的Selenium RC單元采用網(wǎng)頁(yè)測(cè)試工具Selenium RC,該網(wǎng)頁(yè)測(cè)試工具Selenium RC包 含的API與數(shù)據(jù)驅(qū)動(dòng)文件中的測(cè)試指令相對(duì)應(yīng)。
7. 根據(jù)權(quán)利要求6所述的一種基于數(shù)據(jù)驅(qū)動(dòng)的Web應(yīng)用自動(dòng)化測(cè)試方法,其特征在 于:步驟四中所述的測(cè)試結(jié)果存儲(chǔ)單元采用Beyong Compare文本對(duì)比工具,將Extended SeleniumRC單元輸送的網(wǎng)頁(yè)源代碼與標(biāo)準(zhǔn)源代碼進(jìn)行比對(duì),生成并保存對(duì)比報(bào)告。
【文檔編號(hào)】G06F9/445GK104111852SQ201410346058
【公開(kāi)日】2014年10月22日 申請(qǐng)日期:2014年7月18日 優(yōu)先權(quán)日:2014年7月18日
【發(fā)明者】韓海勇, 劉辰, 黃僑, 姜明宇 申請(qǐng)人:南京富士通南大軟件技術(shù)有限公司