本發(fā)明涉及一種接口自動(dòng)化測(cè)試框架,具體地說是一種基于FITNESSE的接口自動(dòng)化測(cè)試框架。
背景技術(shù):
從事軟件測(cè)試工作,我們會(huì)發(fā)現(xiàn)基于resetApi接口的集成測(cè)試中,很多公司采用SoupUI測(cè)試工具來進(jìn)行純手工的集成測(cè)試,通過此工具需要跟SoupUI進(jìn)行頻繁的交互工作,交互工作大部分內(nèi)容集中在輸入接口需要的參數(shù),人為干預(yù)的工作量偏大,這就勢(shì)必給測(cè)試帶來一定的隱患性,從而導(dǎo)致測(cè)試時(shí)間增加,測(cè)試效率低的問題。除此之外,接口需要的參數(shù)一部分是隨機(jī)生成的,測(cè)試腳本的可重用性不高。
使用SoupUI測(cè)試工具頻繁手動(dòng)查詢的資源id導(dǎo)致測(cè)試時(shí)間增加,通過SoupUI自動(dòng)生成的測(cè)試腳本在下一個(gè)迭代版本測(cè)試時(shí)不能成功執(zhí)行的問題。這些問題都導(dǎo)致基于SoupUI測(cè)試工具的resetApi接口的集成測(cè)試測(cè)試效率低,
主要針對(duì)在基于resetApi的集成測(cè)試中,使用SoupUI測(cè)試工具交互性頻繁,這種手工交互就給測(cè)試帶來了概率性的錯(cuò)誤,且通過測(cè)試工具自動(dòng)生成的測(cè)試腳本可重用性低,導(dǎo)致測(cè)試腳本的維護(hù)成本高。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的技術(shù)任務(wù)是提供一種基于FITNESSE的接口自動(dòng)化測(cè)試框架。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,一種基于FITNESSE的接口自動(dòng)化測(cè)試框架,方法如下:
通過Wed界面編寫接口測(cè)試腳本;
通過fitnesse內(nèi)部slim引擎,調(diào)用后臺(tái)程序執(zhí)行;
執(zhí)行中自動(dòng)讀取數(shù)據(jù)庫中資源id;
測(cè)試腳本執(zhí)行結(jié)束,界面顯示測(cè)試腳本的執(zhí)行結(jié)果;
在web界面編寫的測(cè)試腳本在接口未發(fā)生修改的情況下,在下一個(gè)迭代版本的集成測(cè)試中能重復(fù)利用。
優(yōu)選的,具體操作步驟如下:
第一步,采用web界面語言編寫測(cè)試腳本,在后臺(tái)通過自定義的類自然語言,前臺(tái)用后臺(tái)定義的自然語言來編寫測(cè)試腳本;
第二步,測(cè)試腳本編寫完畢,腳本編寫錯(cuò)誤界面會(huì)報(bào)錯(cuò),點(diǎn)擊web界面的測(cè)試按鈕,fitnesse內(nèi)部slim引擎啟動(dòng),將web界面的自然語言測(cè)試腳本通過slim內(nèi)部機(jī)制轉(zhuǎn)換為后臺(tái)可識(shí)別的腳本進(jìn)行執(zhí)行,執(zhí)行測(cè)試腳本;
第三步,測(cè)試腳本執(zhí)行結(jié)束,界面后顯示測(cè)試腳本的執(zhí)行結(jié)果;
第四步,根據(jù)測(cè)試人員提出的需求,在java后臺(tái)定制測(cè)試人員需要的接口,前臺(tái)編寫腳本人員直接用自然語言描述調(diào)用后臺(tái)接口;
第五步,在程序執(zhí)行中,自動(dòng)查詢數(shù)據(jù)庫,接口中需要的數(shù)據(jù)庫內(nèi)容通過后臺(tái)程序讀??;
第六步,當(dāng)下一個(gè)迭代版本進(jìn)行測(cè)試時(shí),測(cè)試腳本可重復(fù)利用,在第一個(gè)迭代版本進(jìn)行測(cè)試腳本編寫,之后第二個(gè)版本迭代之后,只需要修改接口發(fā)生變化的腳本,其他腳本則可以繼續(xù)執(zhí)行。
優(yōu)選的,web界面語言采用wiki語言通過表格方式編寫測(cè)試腳本。
本發(fā)明的一種基于FITNESSE的接口自動(dòng)化測(cè)試框架和現(xiàn)有技術(shù)相比,有益效果如下:
1、本發(fā)明提出了基于Fitnesse測(cè)試工具的resetApi的接口自動(dòng)化測(cè)試框架,Web界面測(cè)試腳本通過簡(jiǎn)單的wiki語言編寫,不通過測(cè)試工具自動(dòng)生成腳本,這樣就減少了測(cè)試腳本的維護(hù)成本。
2、在自己編寫的測(cè)試腳本中,減少與測(cè)試工具頻繁的交互,避免人為所帶來的概率性錯(cuò)誤,通過此種想法將測(cè)試工具獨(dú)立出來。
3、可以通過自定義的函數(shù)方法實(shí)現(xiàn)數(shù)據(jù)庫的查詢,刪除操作。
4、最后在web界面編寫的測(cè)試腳本在接口未發(fā)生修改的情況下,在下一個(gè)迭代版本的集成測(cè)試中能重復(fù)利用,提高測(cè)試腳本的可重用性。
5、采用新的測(cè)試工具搭建新的集成自動(dòng)化測(cè)試框架,將純手工的集成測(cè)試轉(zhuǎn)化成自動(dòng)化的集成測(cè)試,從而提高測(cè)試效率,減少手工測(cè)試帶來的概率性錯(cuò)誤。
附圖說明
附圖1為一種基于FITNESSE的接口自動(dòng)化測(cè)試框架圖。
具體實(shí)施方式
Fitnesse是一個(gè)開源的驗(yàn)收測(cè)試自動(dòng)化測(cè)試工具,可以通過wiki語言創(chuàng)建和編輯頁面,并且不需要做過多的配置,很方便使用,并且很容易的在后臺(tái)定制根據(jù)自己需要定制接口工作。通過在Web頁面上簡(jiǎn)單的輸出和預(yù)計(jì)輸出的表格就能實(shí)現(xiàn)接口測(cè)試,表格清晰明了,并且可以運(yùn)行這些測(cè)試以確定測(cè)試是否執(zhí)行通過。基于fitnesse測(cè)試工具,只需要在后臺(tái)定制相應(yīng)操作的接口??梢源蠓忍岣邷y(cè)試效率,通過后臺(tái)程序?qū)崿F(xiàn)類似SoupUI測(cè)試工具的方法函數(shù),并且增加數(shù)據(jù)庫查詢的功能,減少人為手工操作帶來的錯(cuò)誤,進(jìn)一步提高測(cè)試腳本的可重用性。
在本發(fā)明中,提出了基于Fitnesse測(cè)試工具的resetApi的接口自動(dòng)化測(cè)試框架,通過web界面編寫接口測(cè)試腳本,通過fitnesse自帶的slim引擎,調(diào)用后臺(tái)程序執(zhí)行,執(zhí)行過程中會(huì)自動(dòng)去讀取數(shù)據(jù)庫中資源id,避免人為手動(dòng)操作查詢,并且在web界面編寫的測(cè)試腳本在接口未發(fā)生修改的情況下,在下一個(gè)迭代版本的集成測(cè)試中能重復(fù)利用。
本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的,一種基于FITNESSE的接口自動(dòng)化測(cè)試框架,方法如下:
通過Wed界面編寫接口測(cè)試腳本;
通過fitnesse內(nèi)部slim引擎,調(diào)用后臺(tái)程序執(zhí)行;
執(zhí)行中自動(dòng)讀取數(shù)據(jù)庫中資源id;
測(cè)試腳本執(zhí)行結(jié)束,界面顯示測(cè)試腳本的執(zhí)行結(jié)果;
在web界面編寫的測(cè)試腳本在接口未發(fā)生修改的情況下,在下一個(gè)迭代版本的集成測(cè)試中能重復(fù)利用。
進(jìn)一步的,具體操作步驟如下:
第一步,采用web界面語言編寫測(cè)試腳本,在后臺(tái)通過自定義的類自然語言,前臺(tái)用后臺(tái)定義的自然語言來編寫測(cè)試腳本;
第二步,測(cè)試腳本編寫完畢,腳本編寫錯(cuò)誤界面會(huì)報(bào)錯(cuò),點(diǎn)擊web界面的測(cè)試按鈕,fitnesse內(nèi)部slim引擎啟動(dòng),將web界面的自然語言測(cè)試腳本通過slim內(nèi)部機(jī)制轉(zhuǎn)換為后臺(tái)可識(shí)別的腳本進(jìn)行執(zhí)行,執(zhí)行測(cè)試腳本;
第三步,測(cè)試腳本執(zhí)行結(jié)束,界面后顯示測(cè)試腳本的執(zhí)行結(jié)果;
第四步,根據(jù)測(cè)試人員提出的需求,在java后臺(tái)定制測(cè)試人員需要的接口,前臺(tái)編寫腳本人員直接用自然語言描述調(diào)用后臺(tái)接口;
第五步,在程序執(zhí)行中,自動(dòng)查詢數(shù)據(jù)庫,接口中需要的數(shù)據(jù)庫內(nèi)容通過后臺(tái)程序讀取;
第六步,當(dāng)下一個(gè)迭代版本進(jìn)行測(cè)試時(shí),測(cè)試腳本可重復(fù)利用,在第一個(gè)迭代版本進(jìn)行測(cè)試腳本編寫,之后第二個(gè)版本迭代之后,只需要修改接口發(fā)生變化的腳本,其他腳本則可以繼續(xù)執(zhí)行。
web界面語言采用wiki語言通過表格方式編寫測(cè)試腳本。
實(shí)施例1:
如附圖1所示,在web界面通過wiki語言編寫集成測(cè)試腳本,在后臺(tái)通過自定義的類自然語言。前臺(tái)用后臺(tái)定義的自然語言來編寫測(cè)試腳本。
測(cè)試腳本編寫完畢,腳本編寫錯(cuò)誤界面會(huì)報(bào)錯(cuò),點(diǎn)擊頁面的測(cè)試按鈕,fitnesse的slim測(cè)試引擎啟動(dòng),從而將前臺(tái)自然語言的測(cè)試case通過slim內(nèi)部機(jī)制轉(zhuǎn)換成后臺(tái)可識(shí)別的腳本進(jìn)行執(zhí)行。執(zhí)行結(jié)束后,結(jié)果則在web界面顯示。在程序執(zhí)行中,自動(dòng)去查詢數(shù)據(jù)庫,接口中需要的數(shù)據(jù)庫內(nèi)容都可以通過后臺(tái)程序讀取,避免了人為去查詢數(shù)據(jù)庫而導(dǎo)致的概率性錯(cuò)誤。當(dāng)下一個(gè)迭代版本進(jìn)行測(cè)試時(shí),測(cè)試腳本可重復(fù)利用。
根據(jù)測(cè)試人員提出的需求,可以在java后臺(tái)定制測(cè)試人員需要的接口,前臺(tái)編寫腳本人員直接用自然語言描述調(diào)用后臺(tái)接口。數(shù)據(jù)庫的操作就是通過此種方式實(shí)現(xiàn)的。
測(cè)試腳本的需要的數(shù)據(jù)庫的內(nèi)容都可以自動(dòng)讀取,所以測(cè)試腳本在以后的迭代過程仍然可用,在以后的迭代回歸測(cè)試中,必將縮短回歸測(cè)試時(shí)間。
最后,將手工操作的內(nèi)容全部轉(zhuǎn)換為自動(dòng)化來進(jìn)行,可以很大程度上提升集成測(cè)試的測(cè)試效率。
通過此種方式,只需要在第一個(gè)迭代版本進(jìn)行測(cè)試腳本編寫,之后第二個(gè)版本迭代之后,只需要修改接口發(fā)生變化的腳本,其他腳本則可以繼續(xù)執(zhí)行,從而可以大大縮小集成測(cè)試的時(shí)間,提高整個(gè)測(cè)試團(tuán)隊(duì)的測(cè)試效率。
通過上面具體實(shí)施方式,所述技術(shù)領(lǐng)域的技術(shù)人員可容易的實(shí)現(xiàn)本發(fā)明。但是應(yīng)當(dāng)理解,本發(fā)明并不限于上述的幾種具體實(shí)施方式。在公開的實(shí)施方式的基礎(chǔ)上,所述技術(shù)領(lǐng)域的技術(shù)人員可任意組合不同的技術(shù)特征,從而實(shí)現(xiàn)不同的技術(shù)方案。