本發(fā)明涉及軟件自動(dòng)化測(cè)試技術(shù)領(lǐng)域,具體地說(shuō)是一種自動(dòng)化測(cè)試框架。
背景技術(shù):
如何提升產(chǎn)品的質(zhì)量和競(jìng)爭(zhēng)力,高效的軟件測(cè)試無(wú)疑發(fā)揮著舉足輕重的作用。自動(dòng)化測(cè)試就是希望能夠通過(guò)自動(dòng)化測(cè)試工具或其他手段,按照測(cè)試工程師的預(yù)定計(jì)劃進(jìn)行自動(dòng)的測(cè)試,目的是減輕手工測(cè)試的勞動(dòng)量,從而達(dá)到提高軟件質(zhì)量的目的。軟件自動(dòng)化測(cè)試框架是軟件自動(dòng)化測(cè)試的能否成功的關(guān)鍵。
自動(dòng)化測(cè)試框架,即是應(yīng)用于自動(dòng)化測(cè)試所用的框架。按照框架的定義,自動(dòng)化測(cè)試框架要么是提供可重用的基礎(chǔ)自動(dòng)化測(cè)試模塊,如:selenium、watir等,它們主要提供最基礎(chǔ)的自動(dòng)化測(cè)試功能,比如打開(kāi)一個(gè)程序,模擬鼠標(biāo)和鍵盤(pán)來(lái)點(diǎn)擊或操作被測(cè)試對(duì)象,最后驗(yàn)證被測(cè)對(duì)象的屬性以判斷程序的正確性;要么是可以提供自動(dòng)化測(cè)試執(zhí)行和管理功能的架構(gòu)模塊,如:phoenixframework,robot,staf等,它們本身不提供基礎(chǔ)的自動(dòng)化測(cè)試支持,只是用于組織、管理和執(zhí)行那些獨(dú)立的自動(dòng)化測(cè)試用例,測(cè)試完成后統(tǒng)計(jì)測(cè)試結(jié)果,通常這類框架一般都會(huì)集成一個(gè)基礎(chǔ)自動(dòng)化測(cè)試模塊,如:robot框架就可以集成selenium框架,phoenixframework集成的也是selenium框架。
而目前,一般的公司軟件自動(dòng)化測(cè)試都是盲目的,將系統(tǒng)測(cè)試的用例直接轉(zhuǎn)化為自動(dòng)化測(cè)試腳本,一個(gè)腳本對(duì)應(yīng)一個(gè)用例,腳本之間獨(dú)立、不可共享,造成腳本編寫(xiě)復(fù)雜、可維護(hù)性差,往往造成自動(dòng)化測(cè)試半途而廢的后果,造成人力、物力的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是提供一種基于關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試框架,提高自動(dòng)化測(cè)試的成功率。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,一種自動(dòng)化測(cè)試框架,包括測(cè)試用例管理系統(tǒng)、控制系統(tǒng)和第三方自動(dòng)化測(cè)試工具;
其中,所述的測(cè)試用例管理系統(tǒng)支持測(cè)試者依據(jù)測(cè)試需求設(shè)計(jì)測(cè)試用例,并構(gòu)建關(guān)鍵字表,存放于數(shù)據(jù)庫(kù),便于控制系統(tǒng)與第三方自動(dòng)化測(cè)試工具的訪問(wèn);
所述的控制系統(tǒng)負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的操作、測(cè)試數(shù)據(jù)處理及傳輸數(shù)據(jù)控制;
所述的第三方自動(dòng)化測(cè)試工具,負(fù)責(zé)執(zhí)行自動(dòng)化測(cè)試任務(wù),解析關(guān)鍵字表,并根據(jù)關(guān)鍵字驅(qū)動(dòng)測(cè)試腳本進(jìn)行自動(dòng)化測(cè)試,返回處理結(jié)果給控制系統(tǒng),輸出測(cè)試報(bào)告。
進(jìn)一步的,優(yōu)選的方法為,所述的控制系統(tǒng),用于從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),驅(qū)動(dòng)第三方工具讀取關(guān)鍵字表,驅(qū)動(dòng)測(cè)試腳本執(zhí)行。
進(jìn)一步的,優(yōu)選的方法為,所述的測(cè)試用例管理系統(tǒng)包括測(cè)試用例設(shè)計(jì)模塊,關(guān)鍵字管理模塊、生成測(cè)試請(qǐng)求模塊以及生成關(guān)鍵字表模塊;
所述的測(cè)試用例設(shè)計(jì)模塊,用于依據(jù)測(cè)試需求,進(jìn)行測(cè)試用例的設(shè)計(jì);
所述的關(guān)鍵字管理模塊,用于關(guān)鍵字管理;
所述的生成測(cè)試請(qǐng)求模塊,用于生成測(cè)試請(qǐng)求;
所述的生成關(guān)鍵字表模塊,用于生成以關(guān)鍵字表。
進(jìn)一步的,優(yōu)選的方法為,所述的控制系統(tǒng)包括控制模塊、讀取關(guān)鍵字表模塊及導(dǎo)航腳本模塊;
其中,所述的控制模塊,為后臺(tái)系統(tǒng),負(fù)責(zé)整個(gè)框架的數(shù)據(jù)傳輸控制;
所述的讀取關(guān)鍵字表模塊,用于讀取關(guān)鍵字表;
所述的導(dǎo)航腳本模塊,為了便于后期關(guān)鍵字腳本的維護(hù),負(fù)責(zé)建立測(cè)試關(guān)鍵字表的樹(shù)形結(jié)構(gòu)。
進(jìn)一步的,優(yōu)選的方法為,所述的第三方自動(dòng)化測(cè)試工具包括驅(qū)動(dòng)腳本模塊、功能支持腳本模塊和數(shù)據(jù)處理腳本模塊。
一種自動(dòng)化測(cè)試框架的設(shè)計(jì)方法,具體方法如下:
s1、測(cè)試用例管理系統(tǒng)支持測(cè)試者依據(jù)測(cè)試需求設(shè)計(jì)測(cè)試用例,并構(gòu)建關(guān)鍵字表,存放于數(shù)據(jù)庫(kù),便于控制系統(tǒng)與第三方自動(dòng)化測(cè)試工具的訪問(wèn);
s2、控制系統(tǒng)負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的操作、測(cè)試數(shù)據(jù)處理及傳輸數(shù)據(jù)控制;
s3、第三方自動(dòng)化測(cè)試工具,負(fù)責(zé)執(zhí)行自動(dòng)化測(cè)試任務(wù),解析關(guān)鍵字表,并根據(jù)關(guān)鍵字驅(qū)動(dòng)測(cè)試腳本進(jìn)行自動(dòng)化測(cè)試,返回處理結(jié)果給控制系統(tǒng),輸出測(cè)試報(bào)告。
本發(fā)明的一種自動(dòng)化測(cè)試框架和現(xiàn)有技術(shù)相比,有益效果為:
1、測(cè)試用例、關(guān)鍵字表、功能測(cè)試腳本分層次映射管理,清晰、便于維護(hù);
2、關(guān)鍵字驅(qū)動(dòng)測(cè)試,使得編程基礎(chǔ)不太好的測(cè)試人員也可以進(jìn)行自動(dòng)化測(cè)試腳本的設(shè)計(jì)和編寫(xiě);
3、存在導(dǎo)航功能,便于關(guān)鍵字表在項(xiàng)目間的共享;
4、控制模塊負(fù)責(zé)整個(gè)框架的運(yùn)作及數(shù)據(jù)處理,并對(duì)測(cè)試者透明,便于框架的使用。
附圖說(shuō)明
附圖1為一種自動(dòng)化測(cè)試框架的流程圖。
具體實(shí)施方式
實(shí)施例1:
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖1對(duì)本發(fā)明做進(jìn)一步地詳細(xì)描述:
框架包含測(cè)試用例管理系統(tǒng)、控制系統(tǒng)及第三方自動(dòng)化測(cè)試工具。
測(cè)試用例管理系統(tǒng)支持測(cè)試者依據(jù)測(cè)試需求設(shè)計(jì)測(cè)試用例,并構(gòu)建關(guān)鍵字表,存放于數(shù)據(jù)庫(kù);測(cè)試用例管理系統(tǒng)包括測(cè)試用例設(shè)計(jì)模塊、關(guān)鍵字管理模塊、生成測(cè)試請(qǐng)求模塊、生成關(guān)鍵字表模塊。
測(cè)試用例設(shè)計(jì)就是將一個(gè)測(cè)試用例中的幾個(gè)不同的測(cè)試點(diǎn)拆分并且將其單個(gè)點(diǎn)的測(cè)試步驟進(jìn)行了封裝,形成了一個(gè)模塊。
例如:一個(gè)測(cè)試用例要對(duì)一個(gè)登錄程序進(jìn)行測(cè)試,其中包括:用戶名輸入、密碼輸入、以及確定登錄;
那么就可以將用戶名輸入、密碼輸入、確定登錄、取消登錄四個(gè)操作分別封裝在四個(gè)不同的模塊中。測(cè)試時(shí),只需調(diào)用其模塊即可。這樣的話,當(dāng)一個(gè)模塊有變化,你只需單獨(dú)維護(hù)那個(gè)模塊即可,也可以根據(jù)模塊的不同組合成不同的測(cè)試用例。
關(guān)鍵字管理就是一種面向?qū)ο蟮乃枷?,例如:qtp、rft中,對(duì)象可以為一個(gè)數(shù)據(jù)或者一個(gè)關(guān)鍵字,對(duì)對(duì)象的抓取,可以將其測(cè)試對(duì)象封裝為一個(gè)關(guān)鍵字,即可以將gui元素封裝成了一個(gè)個(gè)關(guān)鍵字,這樣可以對(duì)其關(guān)鍵對(duì)象進(jìn)行各種操作了,不同的對(duì)象可以驅(qū)動(dòng)不同的測(cè)試流向與結(jié)果。
簡(jiǎn)單的應(yīng)用的方式可以用一個(gè)excel表,里面包括“對(duì)象類型”“對(duì)象名稱”“對(duì)象操作名稱”“判斷方式”“預(yù)期結(jié)果”。這樣的話,可以通過(guò)導(dǎo)入不同的對(duì)象類型和名稱、不同的對(duì)象操作來(lái)構(gòu)建成了一個(gè)測(cè)試用例表了。
測(cè)試工程師依據(jù)測(cè)試需求,進(jìn)行測(cè)試用例的設(shè)計(jì),生成以關(guān)鍵字為驅(qū)動(dòng)的測(cè)試用例表,存放于數(shù)據(jù)庫(kù),便于控制系統(tǒng)與第三方自動(dòng)化測(cè)試工具訪問(wèn)。
控制系統(tǒng)負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的操作、測(cè)試數(shù)據(jù)處理及傳輸數(shù)據(jù)控制。控制系統(tǒng)包括但不限于從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),驅(qū)動(dòng)第三方工具讀取關(guān)鍵字表,驅(qū)動(dòng)測(cè)試腳本執(zhí)行等;控制系統(tǒng)包括控制模塊、讀取關(guān)鍵字表模塊及導(dǎo)航腳本模塊。其中控制模塊對(duì)于測(cè)試者是透明的,為后臺(tái)系統(tǒng),負(fù)責(zé)整個(gè)框架的數(shù)據(jù)傳輸控制,例如驅(qū)動(dòng)第三方自動(dòng)化測(cè)試工具腳本讀取關(guān)鍵字表、訪問(wèn)數(shù)據(jù)庫(kù)等。導(dǎo)航腳本負(fù)責(zé)建立測(cè)試關(guān)鍵字表的樹(shù)形結(jié)構(gòu),便于后期關(guān)鍵字腳本的維護(hù)。
第三方自動(dòng)化測(cè)試工具,包括驅(qū)動(dòng)腳本模塊、功能支持腳本模塊和數(shù)據(jù)處理腳本模塊。第三方自動(dòng)化測(cè)試工具負(fù)責(zé)讀取關(guān)鍵字表,創(chuàng)建自動(dòng)化測(cè)試腳本,并負(fù)責(zé)執(zhí)行實(shí)際的功能測(cè)試,輸出測(cè)試報(bào)告。
本發(fā)明還保護(hù)一種自動(dòng)化測(cè)試框架的設(shè)計(jì)方法,具體方法如下:
s1、測(cè)試用例管理系統(tǒng)支持測(cè)試者依據(jù)測(cè)試需求設(shè)計(jì)測(cè)試用例,并構(gòu)建關(guān)鍵字表,存放于數(shù)據(jù)庫(kù),便于控制系統(tǒng)與第三方自動(dòng)化測(cè)試工具的訪問(wèn);
s2、控制系統(tǒng)負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)的操作、測(cè)試數(shù)據(jù)處理及傳輸數(shù)據(jù)控制;
s3、第三方自動(dòng)化測(cè)試工具,負(fù)責(zé)執(zhí)行自動(dòng)化測(cè)試任務(wù),解析關(guān)鍵字表,并根據(jù)關(guān)鍵字驅(qū)動(dòng)測(cè)試腳本進(jìn)行自動(dòng)化測(cè)試,返回處理結(jié)果給控制系統(tǒng),輸出測(cè)試報(bào)告。
本發(fā)明通過(guò)測(cè)試用例管理系統(tǒng)、控制系統(tǒng)及第三方自動(dòng)化測(cè)試工具,將測(cè)試用例、關(guān)鍵字表、測(cè)試腳本單獨(dú)管理,分層映射。形成關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測(cè)試框架。
通過(guò)上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的幾種具體實(shí)施方式。在公開(kāi)的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。