999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于關(guān)鍵字的自動(dòng)化軟件測試框架設(shè)計(jì)

2014-08-27 11:52:16趙森
中國高新技術(shù)企業(yè) 2014年15期

趙森

(江南機(jī)電設(shè)計(jì)研究所,貴州 貴陽 550009)

摘要:軟件測試過程是很有可能實(shí)現(xiàn)自動(dòng)化的過程,而實(shí)現(xiàn)測試的自動(dòng)化無論對(duì)提高軟件的質(zhì)量還是減少開發(fā)成本都有現(xiàn)實(shí)意義。文章介紹了基于關(guān)鍵字的自動(dòng)化測試,以曾所做過的關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化框架設(shè)計(jì)為例進(jìn)行講解,并介紹了其他常見的自動(dòng)化測試框架以及兩個(gè)在自動(dòng)化測試中常用的工具。

關(guān)鍵詞:軟件測試;自動(dòng)化測試;驅(qū)動(dòng)測試;框架設(shè)計(jì)

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-2374(2014)22-0026-02隨著IT技術(shù)的快速革新,軟件的規(guī)模逐步變大,軟件開發(fā)人員希望在將投入運(yùn)行之前,質(zhì)量能得到保障,而測試則是保證系統(tǒng)正確性的一個(gè)必要手段,通常測試人員是軟件的第一個(gè)用戶,而且也是檢驗(yàn)產(chǎn)品質(zhì)量的重要人員。據(jù)統(tǒng)計(jì),測試在軟件開發(fā)總成本中往往要占到40%~50%甚至更多。在以往的開發(fā)和測試過程中,通過經(jīng)驗(yàn)積累發(fā)現(xiàn),測試過程是極有可能實(shí)現(xiàn)自動(dòng)化的,而實(shí)現(xiàn)測試的自動(dòng)化無論對(duì)提高軟件的質(zhì)量還是對(duì)減少開發(fā)成本都有很大的幫助。自動(dòng)化軟件測試的目的在于通過有效的利用時(shí)間和資源來提高測試效率,把測試用例轉(zhuǎn)化為自動(dòng)的執(zhí)行,把人從繁瑣的體力測試中解放出來。自動(dòng)化測試能做一些手工難以完成的測試,比如壓力測試,特別是在回歸測試中有很大的幫助,所以研究如何實(shí)現(xiàn)軟件測試的自動(dòng)化是有意義而且是很有必要的。

1常用的自動(dòng)化測試技術(shù)簡介

自動(dòng)化測試技術(shù)歷經(jīng)了多個(gè)發(fā)展階段,從最初的錄制回放技術(shù)到后來的數(shù)據(jù)驅(qū)動(dòng)的測試技術(shù),再到現(xiàn)在著重介紹的關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測試技術(shù),它們都有各自的適用之處。一般而言,后發(fā)展的技術(shù)是對(duì)以往技術(shù)的繼承和發(fā)展,具備向后兼容特性。關(guān)鍵字驅(qū)動(dòng)的測試技術(shù)以它獨(dú)到的性能受到了業(yè)內(nèi)人士的青睞,并在一些領(lǐng)域得到了很大程度上的應(yīng)用。關(guān)鍵字驅(qū)動(dòng)測試技術(shù)是以預(yù)先設(shè)計(jì)好的關(guān)鍵字作為依據(jù)來驅(qū)動(dòng)測試事件的,并且使用關(guān)鍵字編寫的測試腳本簡單易讀并且可維護(hù)性強(qiáng)。以上幾類自動(dòng)化測試手段在各個(gè)領(lǐng)域都得到了很好的應(yīng)用,但是都存在各自的優(yōu)缺點(diǎn),不能完全滿足不同領(lǐng)域的需求。

2自動(dòng)化測試常用工具選取

俗話說工欲善其事,必先利其器,在框架設(shè)計(jì)中可以應(yīng)用一些優(yōu)秀工具來輔助框架的開發(fā)。自動(dòng)化測試的輔助工具不勝枚舉,并被應(yīng)用到不同領(lǐng)域,本文主要介紹在后面框架設(shè)計(jì)中用到的STAF和Selenium兩個(gè)開源的工具,兩個(gè)工具對(duì)于自動(dòng)化軟件測試具有諸多優(yōu)勢,在此不作詳細(xì)說明。

3關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測試框架設(shè)計(jì)

以曾開發(fā)過框架為例,該框架是測試一款產(chǎn)品型軟件,每個(gè)版本發(fā)布前測試的功能點(diǎn)很多都和上個(gè)甚至更早版本測試點(diǎn)相同,但都需要測試,避免新功能的引入對(duì)老的功能產(chǎn)生影響,如果采用人工測試,需要花費(fèi)大量的精力做相同的測試,以及在做回歸測試都要花費(fèi)大量的時(shí)間,為了節(jié)約成本,減少枯燥重復(fù)的測試,采用自動(dòng)化測試的方法,這種方法不僅能解決上述問題,還能提高測試的準(zhǔn)確性,縮短軟件開發(fā)周期,在空閑時(shí)間運(yùn)行自動(dòng)化的用例,工作時(shí)間查看結(jié)果報(bào)告,這樣就有效的利用時(shí)間和資源,提高了測試的效率,如果一旦實(shí)施開來,預(yù)計(jì)可以減少1/4的費(fèi)用。

3.1關(guān)鍵字驅(qū)動(dòng)自動(dòng)化測試的單元結(jié)構(gòu)

整個(gè)自動(dòng)化測試的單元組成分為兩個(gè)部分,一個(gè)是測試控制端,一個(gè)是安裝產(chǎn)品的服務(wù)端。測試控制端放的就是我們的測試數(shù)據(jù),腳本代碼,測試工具等我們測試所用到的一切東西,而服務(wù)端就是我們安裝產(chǎn)品的地方,里面還包括產(chǎn)品的依附的軟件、軟件所需要的數(shù)據(jù)信息、數(shù)據(jù)庫信息等一切與產(chǎn)品有關(guān)的信息,主要是做到測試環(huán)境的隔離。如果涉及到要對(duì)產(chǎn)品直接的操作可以通過STAF這個(gè)軟件使得控制端能對(duì)服務(wù)端文件等進(jìn)行遠(yuǎn)程操作,對(duì)于UI方面我們借助selenium這個(gè)工具。

3.2關(guān)鍵字驅(qū)動(dòng)

關(guān)鍵字不僅為測試提供參考依據(jù),而且被解釋執(zhí)行。當(dāng)在執(zhí)行測試數(shù)據(jù)的文件時(shí),如果遇到關(guān)鍵字則調(diào)用對(duì)應(yīng)的關(guān)鍵字支持腳本,通過關(guān)鍵字支持腳本的執(zhí)行,將實(shí)際輸出與數(shù)據(jù)表格中的期望結(jié)果進(jìn)行比較,一致則通過,否則報(bào)錯(cuò),并將測試結(jié)果寫入測試日志文件。這樣,數(shù)據(jù)文件包含測試的邏輯內(nèi)容用來指定需要執(zhí)行的測試用例、測試步驟和測試數(shù)據(jù)信息,而支持腳本包含對(duì)被測試軟件的認(rèn)識(shí),關(guān)鍵字的解析等,這樣就實(shí)現(xiàn)了腳本、測試數(shù)據(jù)、測試邏輯的相互獨(dú)立。

關(guān)鍵字驅(qū)動(dòng)測試中,每一個(gè)關(guān)鍵字能解釋執(zhí)行相應(yīng)的腳本,通過不同的測試數(shù)據(jù),在這個(gè)測試框架中可以通過很少的代碼來產(chǎn)生大量的測試用例。同樣的代碼在用數(shù)據(jù)表來產(chǎn)生各個(gè)測試用例的同時(shí)被復(fù)用。

3.3關(guān)鍵字庫的設(shè)計(jì)

要做關(guān)鍵字驅(qū)動(dòng),就要設(shè)計(jì)關(guān)鍵字,而關(guān)鍵字設(shè)計(jì)是很重要的一步,我們?cè)谠O(shè)計(jì)關(guān)鍵字時(shí),應(yīng)該充分考慮到其擴(kuò)展性,可讀性,穩(wěn)定性等,切忌過多的設(shè)計(jì)關(guān)鍵字,造成關(guān)鍵字信息冗余,更不能遺漏設(shè)計(jì)關(guān)鍵字,致使某些需實(shí)現(xiàn)的功能無法得到精確的描述,總之一切要以特定的項(xiàng)目實(shí)現(xiàn)為原則來確定關(guān)鍵字地設(shè)計(jì)。

3.4自動(dòng)化測試框架

圖1關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測試框架

如圖1所示就是一個(gè)自動(dòng)化測試的結(jié)構(gòu)圖,第二層是腳本代碼,第三層是業(yè)務(wù)邏輯層,最高層,就是一些執(zhí)行文件。

腳本代碼,邏輯,數(shù)據(jù)都分離開,并且在一個(gè)文件里存儲(chǔ)執(zhí)行的步驟,里面按邏輯順序放了一個(gè)用例的關(guān)鍵字,這些關(guān)鍵字會(huì)調(diào)用相應(yīng)的腳本代碼,而腳本代碼里的數(shù)據(jù)又從數(shù)據(jù)的文件里調(diào)取,各層各司其職,相互獨(dú)立。當(dāng)執(zhí)行某一個(gè)用例的時(shí)候,我們就調(diào)用執(zhí)行文件,執(zhí)行文件執(zhí)行相應(yīng)的腳本,解析文件里面存儲(chǔ)的關(guān)鍵字,將其解析執(zhí)行相應(yīng)的腳本代碼。

3.5自動(dòng)化測試框架的總體設(shè)計(jì)

圖2自動(dòng)化測試的流程

自動(dòng)化測試也是一個(gè)開發(fā)的過程,務(wù)須按照軟件開發(fā)的流程來設(shè)計(jì):

第一階段為需求調(diào)研分析的階段,第二階段可以概括為設(shè)計(jì)階段,第三階段為編碼階段,第四為測試階段,然后就是評(píng)審驗(yàn)收。

設(shè)計(jì)成三部分:環(huán)境準(zhǔn)備,測試執(zhí)行,結(jié)果監(jiān)控并發(fā)送結(jié)果報(bào)告。框架如圖2所示。

環(huán)境準(zhǔn)備部分主要是對(duì)測試環(huán)境進(jìn)行初始化,還原成一個(gè)“干凈”的環(huán)境,因?yàn)檎麄€(gè)過程需要自動(dòng)化,所以我們就需要自動(dòng)執(zhí)行測試前的一些操作,先自動(dòng)選擇最新產(chǎn)品版本進(jìn)行安裝,自動(dòng)生成測試所需用戶信息,自動(dòng)更新SVN數(shù)據(jù),自動(dòng)根據(jù)配置文件更改與環(huán)境相關(guān)的數(shù)據(jù)等。

測試執(zhí)行部分采用分層設(shè)計(jì)使測試數(shù)據(jù)與腳本分離,腳本與邏輯步驟分離。根據(jù)測試用例,分離出步驟,抽象成一個(gè)個(gè)的關(guān)鍵字,每個(gè)關(guān)鍵字就是一個(gè)具體的步驟,對(duì)于web的操作選用可以selenium軟件來輔助測試,遠(yuǎn)程執(zhí)行選用可以選用STAF輔助實(shí)現(xiàn)。

結(jié)果監(jiān)控并發(fā)送結(jié)果報(bào)告部分主要是實(shí)時(shí)監(jiān)控測試過程,首先設(shè)計(jì)一個(gè)監(jiān)控程序?qū)ψ詣?dòng)化過程全程監(jiān)控,每幾分鐘就刷新一下監(jiān)控?cái)?shù)據(jù),顯示當(dāng)然每個(gè)模塊的測試狀態(tài)、測試情況等;發(fā)送報(bào)告部分,是在測試結(jié)束后自動(dòng)生成測試全部測試結(jié)果的報(bào)告發(fā)給指定的人,并能自動(dòng)計(jì)算出測試的通過率。

4結(jié)語

在IT行業(yè)測試是一個(gè)重要的流程,但現(xiàn)階段很多公司仍采用傳統(tǒng)的手工測試的方案,不過我們有理由相信以后,自動(dòng)化測試的必將有占據(jù)很大的市場,因?yàn)樵谑袌鲆筌浖a(chǎn)品不斷的提高可靠性和可用性的情況下,需要更快更便宜的交付,而測試在時(shí)間,成本和質(zhì)量檢測占有很大的比重,所以傳統(tǒng)的測試如果不作改變,就意味著軟件項(xiàng)目很難滿足發(fā)展需要。總之自動(dòng)化測試技術(shù)提供了一個(gè)減少軟件測試時(shí)間成本,提高軟件質(zhì)量(一致性、可重復(fù)性),同時(shí)提高軟件測試程序的可測性的機(jī)會(huì),相信隨著軟件技術(shù)的演變,自動(dòng)化測試的又會(huì)出現(xiàn)許多更好的框架設(shè)計(jì),自動(dòng)化測試必將是以后軟件測試中常用的方法。

參考文獻(xiàn)

[1]?Elfriende Dustinde(美),余昭輝,范春霞.自動(dòng)化

?軟件測試實(shí)施指南[M].北京:機(jī)械工業(yè)出版社,

?2010.

[2]?商宇.基于STAF的自動(dòng)化測試工具的研究和設(shè)計(jì)

?[J].云南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,18

?(3).

[3]?Selenium官方網(wǎng)站.http://docs.seleniumhq.org/.

?2013-4-28.

[4]?董賢偉.關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化軟件測試的研究[D].

?南京理工大學(xué)碩士論文,2009.

(江南機(jī)電設(shè)計(jì)研究所,貴州 貴陽 550009)

摘要:軟件測試過程是很有可能實(shí)現(xiàn)自動(dòng)化的過程,而實(shí)現(xiàn)測試的自動(dòng)化無論對(duì)提高軟件的質(zhì)量還是減少開發(fā)成本都有現(xiàn)實(shí)意義。文章介紹了基于關(guān)鍵字的自動(dòng)化測試,以曾所做過的關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化框架設(shè)計(jì)為例進(jìn)行講解,并介紹了其他常見的自動(dòng)化測試框架以及兩個(gè)在自動(dòng)化測試中常用的工具。

關(guān)鍵詞:軟件測試;自動(dòng)化測試;驅(qū)動(dòng)測試;框架設(shè)計(jì)

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-2374(2014)22-0026-02隨著IT技術(shù)的快速革新,軟件的規(guī)模逐步變大,軟件開發(fā)人員希望在將投入運(yùn)行之前,質(zhì)量能得到保障,而測試則是保證系統(tǒng)正確性的一個(gè)必要手段,通常測試人員是軟件的第一個(gè)用戶,而且也是檢驗(yàn)產(chǎn)品質(zhì)量的重要人員。據(jù)統(tǒng)計(jì),測試在軟件開發(fā)總成本中往往要占到40%~50%甚至更多。在以往的開發(fā)和測試過程中,通過經(jīng)驗(yàn)積累發(fā)現(xiàn),測試過程是極有可能實(shí)現(xiàn)自動(dòng)化的,而實(shí)現(xiàn)測試的自動(dòng)化無論對(duì)提高軟件的質(zhì)量還是對(duì)減少開發(fā)成本都有很大的幫助。自動(dòng)化軟件測試的目的在于通過有效的利用時(shí)間和資源來提高測試效率,把測試用例轉(zhuǎn)化為自動(dòng)的執(zhí)行,把人從繁瑣的體力測試中解放出來。自動(dòng)化測試能做一些手工難以完成的測試,比如壓力測試,特別是在回歸測試中有很大的幫助,所以研究如何實(shí)現(xiàn)軟件測試的自動(dòng)化是有意義而且是很有必要的。

1常用的自動(dòng)化測試技術(shù)簡介

自動(dòng)化測試技術(shù)歷經(jīng)了多個(gè)發(fā)展階段,從最初的錄制回放技術(shù)到后來的數(shù)據(jù)驅(qū)動(dòng)的測試技術(shù),再到現(xiàn)在著重介紹的關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測試技術(shù),它們都有各自的適用之處。一般而言,后發(fā)展的技術(shù)是對(duì)以往技術(shù)的繼承和發(fā)展,具備向后兼容特性。關(guān)鍵字驅(qū)動(dòng)的測試技術(shù)以它獨(dú)到的性能受到了業(yè)內(nèi)人士的青睞,并在一些領(lǐng)域得到了很大程度上的應(yīng)用。關(guān)鍵字驅(qū)動(dòng)測試技術(shù)是以預(yù)先設(shè)計(jì)好的關(guān)鍵字作為依據(jù)來驅(qū)動(dòng)測試事件的,并且使用關(guān)鍵字編寫的測試腳本簡單易讀并且可維護(hù)性強(qiáng)。以上幾類自動(dòng)化測試手段在各個(gè)領(lǐng)域都得到了很好的應(yīng)用,但是都存在各自的優(yōu)缺點(diǎn),不能完全滿足不同領(lǐng)域的需求。

2自動(dòng)化測試常用工具選取

俗話說工欲善其事,必先利其器,在框架設(shè)計(jì)中可以應(yīng)用一些優(yōu)秀工具來輔助框架的開發(fā)。自動(dòng)化測試的輔助工具不勝枚舉,并被應(yīng)用到不同領(lǐng)域,本文主要介紹在后面框架設(shè)計(jì)中用到的STAF和Selenium兩個(gè)開源的工具,兩個(gè)工具對(duì)于自動(dòng)化軟件測試具有諸多優(yōu)勢,在此不作詳細(xì)說明。

3關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測試框架設(shè)計(jì)

以曾開發(fā)過框架為例,該框架是測試一款產(chǎn)品型軟件,每個(gè)版本發(fā)布前測試的功能點(diǎn)很多都和上個(gè)甚至更早版本測試點(diǎn)相同,但都需要測試,避免新功能的引入對(duì)老的功能產(chǎn)生影響,如果采用人工測試,需要花費(fèi)大量的精力做相同的測試,以及在做回歸測試都要花費(fèi)大量的時(shí)間,為了節(jié)約成本,減少枯燥重復(fù)的測試,采用自動(dòng)化測試的方法,這種方法不僅能解決上述問題,還能提高測試的準(zhǔn)確性,縮短軟件開發(fā)周期,在空閑時(shí)間運(yùn)行自動(dòng)化的用例,工作時(shí)間查看結(jié)果報(bào)告,這樣就有效的利用時(shí)間和資源,提高了測試的效率,如果一旦實(shí)施開來,預(yù)計(jì)可以減少1/4的費(fèi)用。

3.1關(guān)鍵字驅(qū)動(dòng)自動(dòng)化測試的單元結(jié)構(gòu)

整個(gè)自動(dòng)化測試的單元組成分為兩個(gè)部分,一個(gè)是測試控制端,一個(gè)是安裝產(chǎn)品的服務(wù)端。測試控制端放的就是我們的測試數(shù)據(jù),腳本代碼,測試工具等我們測試所用到的一切東西,而服務(wù)端就是我們安裝產(chǎn)品的地方,里面還包括產(chǎn)品的依附的軟件、軟件所需要的數(shù)據(jù)信息、數(shù)據(jù)庫信息等一切與產(chǎn)品有關(guān)的信息,主要是做到測試環(huán)境的隔離。如果涉及到要對(duì)產(chǎn)品直接的操作可以通過STAF這個(gè)軟件使得控制端能對(duì)服務(wù)端文件等進(jìn)行遠(yuǎn)程操作,對(duì)于UI方面我們借助selenium這個(gè)工具。

3.2關(guān)鍵字驅(qū)動(dòng)

關(guān)鍵字不僅為測試提供參考依據(jù),而且被解釋執(zhí)行。當(dāng)在執(zhí)行測試數(shù)據(jù)的文件時(shí),如果遇到關(guān)鍵字則調(diào)用對(duì)應(yīng)的關(guān)鍵字支持腳本,通過關(guān)鍵字支持腳本的執(zhí)行,將實(shí)際輸出與數(shù)據(jù)表格中的期望結(jié)果進(jìn)行比較,一致則通過,否則報(bào)錯(cuò),并將測試結(jié)果寫入測試日志文件。這樣,數(shù)據(jù)文件包含測試的邏輯內(nèi)容用來指定需要執(zhí)行的測試用例、測試步驟和測試數(shù)據(jù)信息,而支持腳本包含對(duì)被測試軟件的認(rèn)識(shí),關(guān)鍵字的解析等,這樣就實(shí)現(xiàn)了腳本、測試數(shù)據(jù)、測試邏輯的相互獨(dú)立。

關(guān)鍵字驅(qū)動(dòng)測試中,每一個(gè)關(guān)鍵字能解釋執(zhí)行相應(yīng)的腳本,通過不同的測試數(shù)據(jù),在這個(gè)測試框架中可以通過很少的代碼來產(chǎn)生大量的測試用例。同樣的代碼在用數(shù)據(jù)表來產(chǎn)生各個(gè)測試用例的同時(shí)被復(fù)用。

3.3關(guān)鍵字庫的設(shè)計(jì)

要做關(guān)鍵字驅(qū)動(dòng),就要設(shè)計(jì)關(guān)鍵字,而關(guān)鍵字設(shè)計(jì)是很重要的一步,我們?cè)谠O(shè)計(jì)關(guān)鍵字時(shí),應(yīng)該充分考慮到其擴(kuò)展性,可讀性,穩(wěn)定性等,切忌過多的設(shè)計(jì)關(guān)鍵字,造成關(guān)鍵字信息冗余,更不能遺漏設(shè)計(jì)關(guān)鍵字,致使某些需實(shí)現(xiàn)的功能無法得到精確的描述,總之一切要以特定的項(xiàng)目實(shí)現(xiàn)為原則來確定關(guān)鍵字地設(shè)計(jì)。

3.4自動(dòng)化測試框架

圖1關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測試框架

如圖1所示就是一個(gè)自動(dòng)化測試的結(jié)構(gòu)圖,第二層是腳本代碼,第三層是業(yè)務(wù)邏輯層,最高層,就是一些執(zhí)行文件。

腳本代碼,邏輯,數(shù)據(jù)都分離開,并且在一個(gè)文件里存儲(chǔ)執(zhí)行的步驟,里面按邏輯順序放了一個(gè)用例的關(guān)鍵字,這些關(guān)鍵字會(huì)調(diào)用相應(yīng)的腳本代碼,而腳本代碼里的數(shù)據(jù)又從數(shù)據(jù)的文件里調(diào)取,各層各司其職,相互獨(dú)立。當(dāng)執(zhí)行某一個(gè)用例的時(shí)候,我們就調(diào)用執(zhí)行文件,執(zhí)行文件執(zhí)行相應(yīng)的腳本,解析文件里面存儲(chǔ)的關(guān)鍵字,將其解析執(zhí)行相應(yīng)的腳本代碼。

3.5自動(dòng)化測試框架的總體設(shè)計(jì)

圖2自動(dòng)化測試的流程

自動(dòng)化測試也是一個(gè)開發(fā)的過程,務(wù)須按照軟件開發(fā)的流程來設(shè)計(jì):

第一階段為需求調(diào)研分析的階段,第二階段可以概括為設(shè)計(jì)階段,第三階段為編碼階段,第四為測試階段,然后就是評(píng)審驗(yàn)收。

設(shè)計(jì)成三部分:環(huán)境準(zhǔn)備,測試執(zhí)行,結(jié)果監(jiān)控并發(fā)送結(jié)果報(bào)告。框架如圖2所示。

環(huán)境準(zhǔn)備部分主要是對(duì)測試環(huán)境進(jìn)行初始化,還原成一個(gè)“干凈”的環(huán)境,因?yàn)檎麄€(gè)過程需要自動(dòng)化,所以我們就需要自動(dòng)執(zhí)行測試前的一些操作,先自動(dòng)選擇最新產(chǎn)品版本進(jìn)行安裝,自動(dòng)生成測試所需用戶信息,自動(dòng)更新SVN數(shù)據(jù),自動(dòng)根據(jù)配置文件更改與環(huán)境相關(guān)的數(shù)據(jù)等。

測試執(zhí)行部分采用分層設(shè)計(jì)使測試數(shù)據(jù)與腳本分離,腳本與邏輯步驟分離。根據(jù)測試用例,分離出步驟,抽象成一個(gè)個(gè)的關(guān)鍵字,每個(gè)關(guān)鍵字就是一個(gè)具體的步驟,對(duì)于web的操作選用可以selenium軟件來輔助測試,遠(yuǎn)程執(zhí)行選用可以選用STAF輔助實(shí)現(xiàn)。

結(jié)果監(jiān)控并發(fā)送結(jié)果報(bào)告部分主要是實(shí)時(shí)監(jiān)控測試過程,首先設(shè)計(jì)一個(gè)監(jiān)控程序?qū)ψ詣?dòng)化過程全程監(jiān)控,每幾分鐘就刷新一下監(jiān)控?cái)?shù)據(jù),顯示當(dāng)然每個(gè)模塊的測試狀態(tài)、測試情況等;發(fā)送報(bào)告部分,是在測試結(jié)束后自動(dòng)生成測試全部測試結(jié)果的報(bào)告發(fā)給指定的人,并能自動(dòng)計(jì)算出測試的通過率。

4結(jié)語

在IT行業(yè)測試是一個(gè)重要的流程,但現(xiàn)階段很多公司仍采用傳統(tǒng)的手工測試的方案,不過我們有理由相信以后,自動(dòng)化測試的必將有占據(jù)很大的市場,因?yàn)樵谑袌鲆筌浖a(chǎn)品不斷的提高可靠性和可用性的情況下,需要更快更便宜的交付,而測試在時(shí)間,成本和質(zhì)量檢測占有很大的比重,所以傳統(tǒng)的測試如果不作改變,就意味著軟件項(xiàng)目很難滿足發(fā)展需要。總之自動(dòng)化測試技術(shù)提供了一個(gè)減少軟件測試時(shí)間成本,提高軟件質(zhì)量(一致性、可重復(fù)性),同時(shí)提高軟件測試程序的可測性的機(jī)會(huì),相信隨著軟件技術(shù)的演變,自動(dòng)化測試的又會(huì)出現(xiàn)許多更好的框架設(shè)計(jì),自動(dòng)化測試必將是以后軟件測試中常用的方法。

參考文獻(xiàn)

[1]?Elfriende Dustinde(美),余昭輝,范春霞.自動(dòng)化

?軟件測試實(shí)施指南[M].北京:機(jī)械工業(yè)出版社,

?2010.

[2]?商宇.基于STAF的自動(dòng)化測試工具的研究和設(shè)計(jì)

?[J].云南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,18

?(3).

[3]?Selenium官方網(wǎng)站.http://docs.seleniumhq.org/.

?2013-4-28.

[4]?董賢偉.關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化軟件測試的研究[D].

?南京理工大學(xué)碩士論文,2009.

(江南機(jī)電設(shè)計(jì)研究所,貴州 貴陽 550009)

摘要:軟件測試過程是很有可能實(shí)現(xiàn)自動(dòng)化的過程,而實(shí)現(xiàn)測試的自動(dòng)化無論對(duì)提高軟件的質(zhì)量還是減少開發(fā)成本都有現(xiàn)實(shí)意義。文章介紹了基于關(guān)鍵字的自動(dòng)化測試,以曾所做過的關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化框架設(shè)計(jì)為例進(jìn)行講解,并介紹了其他常見的自動(dòng)化測試框架以及兩個(gè)在自動(dòng)化測試中常用的工具。

關(guān)鍵詞:軟件測試;自動(dòng)化測試;驅(qū)動(dòng)測試;框架設(shè)計(jì)

中圖分類號(hào):TP311文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-2374(2014)22-0026-02隨著IT技術(shù)的快速革新,軟件的規(guī)模逐步變大,軟件開發(fā)人員希望在將投入運(yùn)行之前,質(zhì)量能得到保障,而測試則是保證系統(tǒng)正確性的一個(gè)必要手段,通常測試人員是軟件的第一個(gè)用戶,而且也是檢驗(yàn)產(chǎn)品質(zhì)量的重要人員。據(jù)統(tǒng)計(jì),測試在軟件開發(fā)總成本中往往要占到40%~50%甚至更多。在以往的開發(fā)和測試過程中,通過經(jīng)驗(yàn)積累發(fā)現(xiàn),測試過程是極有可能實(shí)現(xiàn)自動(dòng)化的,而實(shí)現(xiàn)測試的自動(dòng)化無論對(duì)提高軟件的質(zhì)量還是對(duì)減少開發(fā)成本都有很大的幫助。自動(dòng)化軟件測試的目的在于通過有效的利用時(shí)間和資源來提高測試效率,把測試用例轉(zhuǎn)化為自動(dòng)的執(zhí)行,把人從繁瑣的體力測試中解放出來。自動(dòng)化測試能做一些手工難以完成的測試,比如壓力測試,特別是在回歸測試中有很大的幫助,所以研究如何實(shí)現(xiàn)軟件測試的自動(dòng)化是有意義而且是很有必要的。

1常用的自動(dòng)化測試技術(shù)簡介

自動(dòng)化測試技術(shù)歷經(jīng)了多個(gè)發(fā)展階段,從最初的錄制回放技術(shù)到后來的數(shù)據(jù)驅(qū)動(dòng)的測試技術(shù),再到現(xiàn)在著重介紹的關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測試技術(shù),它們都有各自的適用之處。一般而言,后發(fā)展的技術(shù)是對(duì)以往技術(shù)的繼承和發(fā)展,具備向后兼容特性。關(guān)鍵字驅(qū)動(dòng)的測試技術(shù)以它獨(dú)到的性能受到了業(yè)內(nèi)人士的青睞,并在一些領(lǐng)域得到了很大程度上的應(yīng)用。關(guān)鍵字驅(qū)動(dòng)測試技術(shù)是以預(yù)先設(shè)計(jì)好的關(guān)鍵字作為依據(jù)來驅(qū)動(dòng)測試事件的,并且使用關(guān)鍵字編寫的測試腳本簡單易讀并且可維護(hù)性強(qiáng)。以上幾類自動(dòng)化測試手段在各個(gè)領(lǐng)域都得到了很好的應(yīng)用,但是都存在各自的優(yōu)缺點(diǎn),不能完全滿足不同領(lǐng)域的需求。

2自動(dòng)化測試常用工具選取

俗話說工欲善其事,必先利其器,在框架設(shè)計(jì)中可以應(yīng)用一些優(yōu)秀工具來輔助框架的開發(fā)。自動(dòng)化測試的輔助工具不勝枚舉,并被應(yīng)用到不同領(lǐng)域,本文主要介紹在后面框架設(shè)計(jì)中用到的STAF和Selenium兩個(gè)開源的工具,兩個(gè)工具對(duì)于自動(dòng)化軟件測試具有諸多優(yōu)勢,在此不作詳細(xì)說明。

3關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測試框架設(shè)計(jì)

以曾開發(fā)過框架為例,該框架是測試一款產(chǎn)品型軟件,每個(gè)版本發(fā)布前測試的功能點(diǎn)很多都和上個(gè)甚至更早版本測試點(diǎn)相同,但都需要測試,避免新功能的引入對(duì)老的功能產(chǎn)生影響,如果采用人工測試,需要花費(fèi)大量的精力做相同的測試,以及在做回歸測試都要花費(fèi)大量的時(shí)間,為了節(jié)約成本,減少枯燥重復(fù)的測試,采用自動(dòng)化測試的方法,這種方法不僅能解決上述問題,還能提高測試的準(zhǔn)確性,縮短軟件開發(fā)周期,在空閑時(shí)間運(yùn)行自動(dòng)化的用例,工作時(shí)間查看結(jié)果報(bào)告,這樣就有效的利用時(shí)間和資源,提高了測試的效率,如果一旦實(shí)施開來,預(yù)計(jì)可以減少1/4的費(fèi)用。

3.1關(guān)鍵字驅(qū)動(dòng)自動(dòng)化測試的單元結(jié)構(gòu)

整個(gè)自動(dòng)化測試的單元組成分為兩個(gè)部分,一個(gè)是測試控制端,一個(gè)是安裝產(chǎn)品的服務(wù)端。測試控制端放的就是我們的測試數(shù)據(jù),腳本代碼,測試工具等我們測試所用到的一切東西,而服務(wù)端就是我們安裝產(chǎn)品的地方,里面還包括產(chǎn)品的依附的軟件、軟件所需要的數(shù)據(jù)信息、數(shù)據(jù)庫信息等一切與產(chǎn)品有關(guān)的信息,主要是做到測試環(huán)境的隔離。如果涉及到要對(duì)產(chǎn)品直接的操作可以通過STAF這個(gè)軟件使得控制端能對(duì)服務(wù)端文件等進(jìn)行遠(yuǎn)程操作,對(duì)于UI方面我們借助selenium這個(gè)工具。

3.2關(guān)鍵字驅(qū)動(dòng)

關(guān)鍵字不僅為測試提供參考依據(jù),而且被解釋執(zhí)行。當(dāng)在執(zhí)行測試數(shù)據(jù)的文件時(shí),如果遇到關(guān)鍵字則調(diào)用對(duì)應(yīng)的關(guān)鍵字支持腳本,通過關(guān)鍵字支持腳本的執(zhí)行,將實(shí)際輸出與數(shù)據(jù)表格中的期望結(jié)果進(jìn)行比較,一致則通過,否則報(bào)錯(cuò),并將測試結(jié)果寫入測試日志文件。這樣,數(shù)據(jù)文件包含測試的邏輯內(nèi)容用來指定需要執(zhí)行的測試用例、測試步驟和測試數(shù)據(jù)信息,而支持腳本包含對(duì)被測試軟件的認(rèn)識(shí),關(guān)鍵字的解析等,這樣就實(shí)現(xiàn)了腳本、測試數(shù)據(jù)、測試邏輯的相互獨(dú)立。

關(guān)鍵字驅(qū)動(dòng)測試中,每一個(gè)關(guān)鍵字能解釋執(zhí)行相應(yīng)的腳本,通過不同的測試數(shù)據(jù),在這個(gè)測試框架中可以通過很少的代碼來產(chǎn)生大量的測試用例。同樣的代碼在用數(shù)據(jù)表來產(chǎn)生各個(gè)測試用例的同時(shí)被復(fù)用。

3.3關(guān)鍵字庫的設(shè)計(jì)

要做關(guān)鍵字驅(qū)動(dòng),就要設(shè)計(jì)關(guān)鍵字,而關(guān)鍵字設(shè)計(jì)是很重要的一步,我們?cè)谠O(shè)計(jì)關(guān)鍵字時(shí),應(yīng)該充分考慮到其擴(kuò)展性,可讀性,穩(wěn)定性等,切忌過多的設(shè)計(jì)關(guān)鍵字,造成關(guān)鍵字信息冗余,更不能遺漏設(shè)計(jì)關(guān)鍵字,致使某些需實(shí)現(xiàn)的功能無法得到精確的描述,總之一切要以特定的項(xiàng)目實(shí)現(xiàn)為原則來確定關(guān)鍵字地設(shè)計(jì)。

3.4自動(dòng)化測試框架

圖1關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化測試框架

如圖1所示就是一個(gè)自動(dòng)化測試的結(jié)構(gòu)圖,第二層是腳本代碼,第三層是業(yè)務(wù)邏輯層,最高層,就是一些執(zhí)行文件。

腳本代碼,邏輯,數(shù)據(jù)都分離開,并且在一個(gè)文件里存儲(chǔ)執(zhí)行的步驟,里面按邏輯順序放了一個(gè)用例的關(guān)鍵字,這些關(guān)鍵字會(huì)調(diào)用相應(yīng)的腳本代碼,而腳本代碼里的數(shù)據(jù)又從數(shù)據(jù)的文件里調(diào)取,各層各司其職,相互獨(dú)立。當(dāng)執(zhí)行某一個(gè)用例的時(shí)候,我們就調(diào)用執(zhí)行文件,執(zhí)行文件執(zhí)行相應(yīng)的腳本,解析文件里面存儲(chǔ)的關(guān)鍵字,將其解析執(zhí)行相應(yīng)的腳本代碼。

3.5自動(dòng)化測試框架的總體設(shè)計(jì)

圖2自動(dòng)化測試的流程

自動(dòng)化測試也是一個(gè)開發(fā)的過程,務(wù)須按照軟件開發(fā)的流程來設(shè)計(jì):

第一階段為需求調(diào)研分析的階段,第二階段可以概括為設(shè)計(jì)階段,第三階段為編碼階段,第四為測試階段,然后就是評(píng)審驗(yàn)收。

設(shè)計(jì)成三部分:環(huán)境準(zhǔn)備,測試執(zhí)行,結(jié)果監(jiān)控并發(fā)送結(jié)果報(bào)告。框架如圖2所示。

環(huán)境準(zhǔn)備部分主要是對(duì)測試環(huán)境進(jìn)行初始化,還原成一個(gè)“干凈”的環(huán)境,因?yàn)檎麄€(gè)過程需要自動(dòng)化,所以我們就需要自動(dòng)執(zhí)行測試前的一些操作,先自動(dòng)選擇最新產(chǎn)品版本進(jìn)行安裝,自動(dòng)生成測試所需用戶信息,自動(dòng)更新SVN數(shù)據(jù),自動(dòng)根據(jù)配置文件更改與環(huán)境相關(guān)的數(shù)據(jù)等。

測試執(zhí)行部分采用分層設(shè)計(jì)使測試數(shù)據(jù)與腳本分離,腳本與邏輯步驟分離。根據(jù)測試用例,分離出步驟,抽象成一個(gè)個(gè)的關(guān)鍵字,每個(gè)關(guān)鍵字就是一個(gè)具體的步驟,對(duì)于web的操作選用可以selenium軟件來輔助測試,遠(yuǎn)程執(zhí)行選用可以選用STAF輔助實(shí)現(xiàn)。

結(jié)果監(jiān)控并發(fā)送結(jié)果報(bào)告部分主要是實(shí)時(shí)監(jiān)控測試過程,首先設(shè)計(jì)一個(gè)監(jiān)控程序?qū)ψ詣?dòng)化過程全程監(jiān)控,每幾分鐘就刷新一下監(jiān)控?cái)?shù)據(jù),顯示當(dāng)然每個(gè)模塊的測試狀態(tài)、測試情況等;發(fā)送報(bào)告部分,是在測試結(jié)束后自動(dòng)生成測試全部測試結(jié)果的報(bào)告發(fā)給指定的人,并能自動(dòng)計(jì)算出測試的通過率。

4結(jié)語

在IT行業(yè)測試是一個(gè)重要的流程,但現(xiàn)階段很多公司仍采用傳統(tǒng)的手工測試的方案,不過我們有理由相信以后,自動(dòng)化測試的必將有占據(jù)很大的市場,因?yàn)樵谑袌鲆筌浖a(chǎn)品不斷的提高可靠性和可用性的情況下,需要更快更便宜的交付,而測試在時(shí)間,成本和質(zhì)量檢測占有很大的比重,所以傳統(tǒng)的測試如果不作改變,就意味著軟件項(xiàng)目很難滿足發(fā)展需要。總之自動(dòng)化測試技術(shù)提供了一個(gè)減少軟件測試時(shí)間成本,提高軟件質(zhì)量(一致性、可重復(fù)性),同時(shí)提高軟件測試程序的可測性的機(jī)會(huì),相信隨著軟件技術(shù)的演變,自動(dòng)化測試的又會(huì)出現(xiàn)許多更好的框架設(shè)計(jì),自動(dòng)化測試必將是以后軟件測試中常用的方法。

參考文獻(xiàn)

[1]?Elfriende Dustinde(美),余昭輝,范春霞.自動(dòng)化

?軟件測試實(shí)施指南[M].北京:機(jī)械工業(yè)出版社,

?2010.

[2]?商宇.基于STAF的自動(dòng)化測試工具的研究和設(shè)計(jì)

?[J].云南民族大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,18

?(3).

[3]?Selenium官方網(wǎng)站.http://docs.seleniumhq.org/.

?2013-4-28.

[4]?董賢偉.關(guān)鍵字驅(qū)動(dòng)的自動(dòng)化軟件測試的研究[D].

?南京理工大學(xué)碩士論文,2009.

主站蜘蛛池模板: 国产高清国内精品福利| 色噜噜综合网| 91久久偷偷做嫩草影院| 欧美性色综合网| 久草视频一区| 欧美日韩成人在线观看| 99精品热视频这里只有精品7| 在线免费看片a| 人妻一本久道久久综合久久鬼色| 免费观看精品视频999| 亚洲一级毛片在线观| 久久精品人人做人人爽电影蜜月| 欧美中文一区| 国产精品永久在线| 国产97区一区二区三区无码| 青青操视频在线| 99精品免费在线| 亚洲欧美激情小说另类| 亚洲日韩第九十九页| 小说区 亚洲 自拍 另类| 欧美日本在线观看| 亚洲成人网在线播放| 欧美精品1区2区| 亚洲成人一区二区| 精品视频一区在线观看| 久久综合伊人77777| 久久香蕉国产线看观看亚洲片| 亚洲欧美日韩成人高清在线一区| 国产99视频精品免费视频7| 91成人免费观看| 亚洲综合天堂网| 国产无码精品在线| 亚洲无码精品在线播放| 中国特黄美女一级视频| 美臀人妻中出中文字幕在线| av在线无码浏览| 国产精品视频系列专区| 亚洲无码熟妇人妻AV在线| 久久久精品无码一二三区| 热久久综合这里只有精品电影| 亚洲国产无码有码| 免费人欧美成又黄又爽的视频| 六月婷婷精品视频在线观看| 大乳丰满人妻中文字幕日本| 国产精品 欧美激情 在线播放| 美女毛片在线| 99久久精品国产自免费| 久久中文字幕不卡一二区| 欧美一区二区三区不卡免费| 亚洲熟女偷拍| 免费黄色国产视频| 日本一区二区三区精品视频| 91口爆吞精国产对白第三集 | 精品三级在线| 日韩av电影一区二区三区四区| 91久久性奴调教国产免费| 天天操天天噜| 青草免费在线观看| 亚洲精品免费网站| 午夜国产理论| 福利在线一区| 就去吻亚洲精品国产欧美| 国产午夜一级毛片| 国产成人精品三级| 91麻豆国产视频| 国产精品视屏| 国产AV毛片| 亚洲欧美不卡中文字幕| 亚洲国产亚洲综合在线尤物| 91久久国产热精品免费| 5555国产在线观看| 在线播放国产一区| 久久婷婷六月| 一级毛片免费的| 亚洲狼网站狼狼鲁亚洲下载| 999精品视频在线| 呦视频在线一区二区三区| 一本无码在线观看| AV无码无在线观看免费| 99ri精品视频在线观看播放| 亚洲高清在线天堂精品| 四虎免费视频网站|