趙森
(江南機電設計研究所,貴州 貴陽 550009)
摘要:軟件測試過程是很有可能實現(xiàn)自動化的過程,而實現(xiàn)測試的自動化無論對提高軟件的質量還是減少開發(fā)成本都有現(xiàn)實意義。文章介紹了基于關鍵字的自動化測試,以曾所做過的關鍵字驅動的自動化框架設計為例進行講解,并介紹了其他常見的自動化測試框架以及兩個在自動化測試中常用的工具。
關鍵詞:軟件測試;自動化測試;驅動測試;框架設計
中圖分類號:TP311文獻標識碼:A文章編號:1009-2374(2014)22-0026-02隨著IT技術的快速革新,軟件的規(guī)模逐步變大,軟件開發(fā)人員希望在將投入運行之前,質量能得到保障,而測試則是保證系統(tǒng)正確性的一個必要手段,通常測試人員是軟件的第一個用戶,而且也是檢驗產品質量的重要人員。據(jù)統(tǒng)計,測試在軟件開發(fā)總成本中往往要占到40%~50%甚至更多。在以往的開發(fā)和測試過程中,通過經驗積累發(fā)現(xiàn),測試過程是極有可能實現(xiàn)自動化的,而實現(xiàn)測試的自動化無論對提高軟件的質量還是對減少開發(fā)成本都有很大的幫助。自動化軟件測試的目的在于通過有效的利用時間和資源來提高測試效率,把測試用例轉化為自動的執(zhí)行,把人從繁瑣的體力測試中解放出來。自動化測試能做一些手工難以完成的測試,比如壓力測試,特別是在回歸測試中有很大的幫助,所以研究如何實現(xiàn)軟件測試的自動化是有意義而且是很有必要的。
1常用的自動化測試技術簡介
自動化測試技術歷經了多個發(fā)展階段,從最初的錄制回放技術到后來的數(shù)據(jù)驅動的測試技術,再到現(xiàn)在著重介紹的關鍵字驅動的自動化測試技術,它們都有各自的適用之處。一般而言,后發(fā)展的技術是對以往技術的繼承和發(fā)展,具備向后兼容特性。關鍵字驅動的測試技術以它獨到的性能受到了業(yè)內人士的青睞,并在一些領域得到了很大程度上的應用。關鍵字驅動測試技術是以預先設計好的關鍵字作為依據(jù)來驅動測試事件的,并且使用關鍵字編寫的測試腳本簡單易讀并且可維護性強。以上幾類自動化測試手段在各個領域都得到了很好的應用,但是都存在各自的優(yōu)缺點,不能完全滿足不同領域的需求。
2自動化測試常用工具選取
俗話說工欲善其事,必先利其器,在框架設計中可以應用一些優(yōu)秀工具來輔助框架的開發(fā)。自動化測試的輔助工具不勝枚舉,并被應用到不同領域,本文主要介紹在后面框架設計中用到的STAF和Selenium兩個開源的工具,兩個工具對于自動化軟件測試具有諸多優(yōu)勢,在此不作詳細說明。
3關鍵字驅動的自動化測試框架設計
以曾開發(fā)過框架為例,該框架是測試一款產品型軟件,每個版本發(fā)布前測試的功能點很多都和上個甚至更早版本測試點相同,但都需要測試,避免新功能的引入對老的功能產生影響,如果采用人工測試,需要花費大量的精力做相同的測試,以及在做回歸測試都要花費大量的時間,為了節(jié)約成本,減少枯燥重復的測試,采用自動化測試的方法,這種方法不僅能解決上述問題,還能提高測試的準確性,縮短軟件開發(fā)周期,在空閑時間運行自動化的用例,工作時間查看結果報告,這樣就有效的利用時間和資源,提高了測試的效率,如果一旦實施開來,預計可以減少1/4的費用。
3.1關鍵字驅動自動化測試的單元結構
整個自動化測試的單元組成分為兩個部分,一個是測試控制端,一個是安裝產品的服務端。測試控制端放的就是我們的測試數(shù)據(jù),腳本代碼,測試工具等我們測試所用到的一切東西,而服務端就是我們安裝產品的地方,里面還包括產品的依附的軟件、軟件所需要的數(shù)據(jù)信息、數(shù)據(jù)庫信息等一切與產品有關的信息,主要是做到測試環(huán)境的隔離。如果涉及到要對產品直接的操作可以通過STAF這個軟件使得控制端能對服務端文件等進行遠程操作,對于UI方面我們借助selenium這個工具。
3.2關鍵字驅動
關鍵字不僅為測試提供參考依據(jù),而且被解釋執(zhí)行。當在執(zhí)行測試數(shù)據(jù)的文件時,如果遇到關鍵字則調用對應的關鍵字支持腳本,通過關鍵字支持腳本的執(zhí)行,將實際輸出與數(shù)據(jù)表格中的期望結果進行比較,一致則通過,否則報錯,并將測試結果寫入測試日志文件。這樣,數(shù)據(jù)文件包含測試的邏輯內容用來指定需要執(zhí)行的測試用例、測試步驟和測試數(shù)據(jù)信息,而支持腳本包含對被測試軟件的認識,關鍵字的解析等,這樣就實現(xiàn)了腳本、測試數(shù)據(jù)、測試邏輯的相互獨立。
關鍵字驅動測試中,每一個關鍵字能解釋執(zhí)行相應的腳本,通過不同的測試數(shù)據(jù),在這個測試框架中可以通過很少的代碼來產生大量的測試用例。同樣的代碼在用數(shù)據(jù)表來產生各個測試用例的同時被復用。
3.3關鍵字庫的設計
要做關鍵字驅動,就要設計關鍵字,而關鍵字設計是很重要的一步,我們在設計關鍵字時,應該充分考慮到其擴展性,可讀性,穩(wěn)定性等,切忌過多的設計關鍵字,造成關鍵字信息冗余,更不能遺漏設計關鍵字,致使某些需實現(xiàn)的功能無法得到精確的描述,總之一切要以特定的項目實現(xiàn)為原則來確定關鍵字地設計。
3.4自動化測試框架
圖1關鍵字驅動的自動化測試框架
如圖1所示就是一個自動化測試的結構圖,第二層是腳本代碼,第三層是業(yè)務邏輯層,最高層,就是一些執(zhí)行文件。
腳本代碼,邏輯,數(shù)據(jù)都分離開,并且在一個文件里存儲執(zhí)行的步驟,里面按邏輯順序放了一個用例的關鍵字,這些關鍵字會調用相應的腳本代碼,而腳本代碼里的數(shù)據(jù)又從數(shù)據(jù)的文件里調取,各層各司其職,相互獨立。當執(zhí)行某一個用例的時候,我們就調用執(zhí)行文件,執(zhí)行文件執(zhí)行相應的腳本,解析文件里面存儲的關鍵字,將其解析執(zhí)行相應的腳本代碼。
3.5自動化測試框架的總體設計
圖2自動化測試的流程
自動化測試也是一個開發(fā)的過程,務須按照軟件開發(fā)的流程來設計:
第一階段為需求調研分析的階段,第二階段可以概括為設計階段,第三階段為編碼階段,第四為測試階段,然后就是評審驗收。
設計成三部分:環(huán)境準備,測試執(zhí)行,結果監(jiān)控并發(fā)送結果報告。框架如圖2所示。
環(huán)境準備部分主要是對測試環(huán)境進行初始化,還原成一個“干凈”的環(huán)境,因為整個過程需要自動化,所以我們就需要自動執(zhí)行測試前的一些操作,先自動選擇最新產品版本進行安裝,自動生成測試所需用戶信息,自動更新SVN數(shù)據(jù),自動根據(jù)配置文件更改與環(huán)境相關的數(shù)據(jù)等。
測試執(zhí)行部分采用分層設計使測試數(shù)據(jù)與腳本分離,腳本與邏輯步驟分離。根據(jù)測試用例,分離出步驟,抽象成一個個的關鍵字,每個關鍵字就是一個具體的步驟,對于web的操作選用可以selenium軟件來輔助測試,遠程執(zhí)行選用可以選用STAF輔助實現(xiàn)。
結果監(jiān)控并發(fā)送結果報告部分主要是實時監(jiān)控測試過程,首先設計一個監(jiān)控程序對自動化過程全程監(jiān)控,每幾分鐘就刷新一下監(jiān)控數(shù)據(jù),顯示當然每個模塊的測試狀態(tài)、測試情況等;發(fā)送報告部分,是在測試結束后自動生成測試全部測試結果的報告發(fā)給指定的人,并能自動計算出測試的通過率。
4結語
在IT行業(yè)測試是一個重要的流程,但現(xiàn)階段很多公司仍采用傳統(tǒng)的手工測試的方案,不過我們有理由相信以后,自動化測試的必將有占據(jù)很大的市場,因為在市場要求軟件產品不斷的提高可靠性和可用性的情況下,需要更快更便宜的交付,而測試在時間,成本和質量檢測占有很大的比重,所以傳統(tǒng)的測試如果不作改變,就意味著軟件項目很難滿足發(fā)展需要。總之自動化測試技術提供了一個減少軟件測試時間成本,提高軟件質量(一致性、可重復性),同時提高軟件測試程序的可測性的機會,相信隨著軟件技術的演變,自動化測試的又會出現(xiàn)許多更好的框架設計,自動化測試必將是以后軟件測試中常用的方法。
參考文獻
[1]?Elfriende Dustinde(美),余昭輝,范春霞.自動化
?軟件測試實施指南[M].北京:機械工業(yè)出版社,
?2010.
[2]?商宇.基于STAF的自動化測試工具的研究和設計
?[J].云南民族大學學報(自然科學版),2009,18
?(3).
[3]?Selenium官方網(wǎng)站.http://docs.seleniumhq.org/.
?2013-4-28.
[4]?董賢偉.關鍵字驅動的自動化軟件測試的研究[D].
?南京理工大學碩士論文,2009.
(江南機電設計研究所,貴州 貴陽 550009)
摘要:軟件測試過程是很有可能實現(xiàn)自動化的過程,而實現(xiàn)測試的自動化無論對提高軟件的質量還是減少開發(fā)成本都有現(xiàn)實意義。文章介紹了基于關鍵字的自動化測試,以曾所做過的關鍵字驅動的自動化框架設計為例進行講解,并介紹了其他常見的自動化測試框架以及兩個在自動化測試中常用的工具。
關鍵詞:軟件測試;自動化測試;驅動測試;框架設計
中圖分類號:TP311文獻標識碼:A文章編號:1009-2374(2014)22-0026-02隨著IT技術的快速革新,軟件的規(guī)模逐步變大,軟件開發(fā)人員希望在將投入運行之前,質量能得到保障,而測試則是保證系統(tǒng)正確性的一個必要手段,通常測試人員是軟件的第一個用戶,而且也是檢驗產品質量的重要人員。據(jù)統(tǒng)計,測試在軟件開發(fā)總成本中往往要占到40%~50%甚至更多。在以往的開發(fā)和測試過程中,通過經驗積累發(fā)現(xiàn),測試過程是極有可能實現(xiàn)自動化的,而實現(xiàn)測試的自動化無論對提高軟件的質量還是對減少開發(fā)成本都有很大的幫助。自動化軟件測試的目的在于通過有效的利用時間和資源來提高測試效率,把測試用例轉化為自動的執(zhí)行,把人從繁瑣的體力測試中解放出來。自動化測試能做一些手工難以完成的測試,比如壓力測試,特別是在回歸測試中有很大的幫助,所以研究如何實現(xiàn)軟件測試的自動化是有意義而且是很有必要的。
1常用的自動化測試技術簡介
自動化測試技術歷經了多個發(fā)展階段,從最初的錄制回放技術到后來的數(shù)據(jù)驅動的測試技術,再到現(xiàn)在著重介紹的關鍵字驅動的自動化測試技術,它們都有各自的適用之處。一般而言,后發(fā)展的技術是對以往技術的繼承和發(fā)展,具備向后兼容特性。關鍵字驅動的測試技術以它獨到的性能受到了業(yè)內人士的青睞,并在一些領域得到了很大程度上的應用。關鍵字驅動測試技術是以預先設計好的關鍵字作為依據(jù)來驅動測試事件的,并且使用關鍵字編寫的測試腳本簡單易讀并且可維護性強。以上幾類自動化測試手段在各個領域都得到了很好的應用,但是都存在各自的優(yōu)缺點,不能完全滿足不同領域的需求。
2自動化測試常用工具選取
俗話說工欲善其事,必先利其器,在框架設計中可以應用一些優(yōu)秀工具來輔助框架的開發(fā)。自動化測試的輔助工具不勝枚舉,并被應用到不同領域,本文主要介紹在后面框架設計中用到的STAF和Selenium兩個開源的工具,兩個工具對于自動化軟件測試具有諸多優(yōu)勢,在此不作詳細說明。
3關鍵字驅動的自動化測試框架設計
以曾開發(fā)過框架為例,該框架是測試一款產品型軟件,每個版本發(fā)布前測試的功能點很多都和上個甚至更早版本測試點相同,但都需要測試,避免新功能的引入對老的功能產生影響,如果采用人工測試,需要花費大量的精力做相同的測試,以及在做回歸測試都要花費大量的時間,為了節(jié)約成本,減少枯燥重復的測試,采用自動化測試的方法,這種方法不僅能解決上述問題,還能提高測試的準確性,縮短軟件開發(fā)周期,在空閑時間運行自動化的用例,工作時間查看結果報告,這樣就有效的利用時間和資源,提高了測試的效率,如果一旦實施開來,預計可以減少1/4的費用。
3.1關鍵字驅動自動化測試的單元結構
整個自動化測試的單元組成分為兩個部分,一個是測試控制端,一個是安裝產品的服務端。測試控制端放的就是我們的測試數(shù)據(jù),腳本代碼,測試工具等我們測試所用到的一切東西,而服務端就是我們安裝產品的地方,里面還包括產品的依附的軟件、軟件所需要的數(shù)據(jù)信息、數(shù)據(jù)庫信息等一切與產品有關的信息,主要是做到測試環(huán)境的隔離。如果涉及到要對產品直接的操作可以通過STAF這個軟件使得控制端能對服務端文件等進行遠程操作,對于UI方面我們借助selenium這個工具。
3.2關鍵字驅動
關鍵字不僅為測試提供參考依據(jù),而且被解釋執(zhí)行。當在執(zhí)行測試數(shù)據(jù)的文件時,如果遇到關鍵字則調用對應的關鍵字支持腳本,通過關鍵字支持腳本的執(zhí)行,將實際輸出與數(shù)據(jù)表格中的期望結果進行比較,一致則通過,否則報錯,并將測試結果寫入測試日志文件。這樣,數(shù)據(jù)文件包含測試的邏輯內容用來指定需要執(zhí)行的測試用例、測試步驟和測試數(shù)據(jù)信息,而支持腳本包含對被測試軟件的認識,關鍵字的解析等,這樣就實現(xiàn)了腳本、測試數(shù)據(jù)、測試邏輯的相互獨立。
關鍵字驅動測試中,每一個關鍵字能解釋執(zhí)行相應的腳本,通過不同的測試數(shù)據(jù),在這個測試框架中可以通過很少的代碼來產生大量的測試用例。同樣的代碼在用數(shù)據(jù)表來產生各個測試用例的同時被復用。
3.3關鍵字庫的設計
要做關鍵字驅動,就要設計關鍵字,而關鍵字設計是很重要的一步,我們在設計關鍵字時,應該充分考慮到其擴展性,可讀性,穩(wěn)定性等,切忌過多的設計關鍵字,造成關鍵字信息冗余,更不能遺漏設計關鍵字,致使某些需實現(xiàn)的功能無法得到精確的描述,總之一切要以特定的項目實現(xiàn)為原則來確定關鍵字地設計。
3.4自動化測試框架
圖1關鍵字驅動的自動化測試框架
如圖1所示就是一個自動化測試的結構圖,第二層是腳本代碼,第三層是業(yè)務邏輯層,最高層,就是一些執(zhí)行文件。
腳本代碼,邏輯,數(shù)據(jù)都分離開,并且在一個文件里存儲執(zhí)行的步驟,里面按邏輯順序放了一個用例的關鍵字,這些關鍵字會調用相應的腳本代碼,而腳本代碼里的數(shù)據(jù)又從數(shù)據(jù)的文件里調取,各層各司其職,相互獨立。當執(zhí)行某一個用例的時候,我們就調用執(zhí)行文件,執(zhí)行文件執(zhí)行相應的腳本,解析文件里面存儲的關鍵字,將其解析執(zhí)行相應的腳本代碼。
3.5自動化測試框架的總體設計
圖2自動化測試的流程
自動化測試也是一個開發(fā)的過程,務須按照軟件開發(fā)的流程來設計:
第一階段為需求調研分析的階段,第二階段可以概括為設計階段,第三階段為編碼階段,第四為測試階段,然后就是評審驗收。
設計成三部分:環(huán)境準備,測試執(zhí)行,結果監(jiān)控并發(fā)送結果報告。框架如圖2所示。
環(huán)境準備部分主要是對測試環(huán)境進行初始化,還原成一個“干凈”的環(huán)境,因為整個過程需要自動化,所以我們就需要自動執(zhí)行測試前的一些操作,先自動選擇最新產品版本進行安裝,自動生成測試所需用戶信息,自動更新SVN數(shù)據(jù),自動根據(jù)配置文件更改與環(huán)境相關的數(shù)據(jù)等。
測試執(zhí)行部分采用分層設計使測試數(shù)據(jù)與腳本分離,腳本與邏輯步驟分離。根據(jù)測試用例,分離出步驟,抽象成一個個的關鍵字,每個關鍵字就是一個具體的步驟,對于web的操作選用可以selenium軟件來輔助測試,遠程執(zhí)行選用可以選用STAF輔助實現(xiàn)。
結果監(jiān)控并發(fā)送結果報告部分主要是實時監(jiān)控測試過程,首先設計一個監(jiān)控程序對自動化過程全程監(jiān)控,每幾分鐘就刷新一下監(jiān)控數(shù)據(jù),顯示當然每個模塊的測試狀態(tài)、測試情況等;發(fā)送報告部分,是在測試結束后自動生成測試全部測試結果的報告發(fā)給指定的人,并能自動計算出測試的通過率。
4結語
在IT行業(yè)測試是一個重要的流程,但現(xiàn)階段很多公司仍采用傳統(tǒng)的手工測試的方案,不過我們有理由相信以后,自動化測試的必將有占據(jù)很大的市場,因為在市場要求軟件產品不斷的提高可靠性和可用性的情況下,需要更快更便宜的交付,而測試在時間,成本和質量檢測占有很大的比重,所以傳統(tǒng)的測試如果不作改變,就意味著軟件項目很難滿足發(fā)展需要。總之自動化測試技術提供了一個減少軟件測試時間成本,提高軟件質量(一致性、可重復性),同時提高軟件測試程序的可測性的機會,相信隨著軟件技術的演變,自動化測試的又會出現(xiàn)許多更好的框架設計,自動化測試必將是以后軟件測試中常用的方法。
參考文獻
[1]?Elfriende Dustinde(美),余昭輝,范春霞.自動化
?軟件測試實施指南[M].北京:機械工業(yè)出版社,
?2010.
[2]?商宇.基于STAF的自動化測試工具的研究和設計
?[J].云南民族大學學報(自然科學版),2009,18
?(3).
[3]?Selenium官方網(wǎng)站.http://docs.seleniumhq.org/.
?2013-4-28.
[4]?董賢偉.關鍵字驅動的自動化軟件測試的研究[D].
?南京理工大學碩士論文,2009.
(江南機電設計研究所,貴州 貴陽 550009)
摘要:軟件測試過程是很有可能實現(xiàn)自動化的過程,而實現(xiàn)測試的自動化無論對提高軟件的質量還是減少開發(fā)成本都有現(xiàn)實意義。文章介紹了基于關鍵字的自動化測試,以曾所做過的關鍵字驅動的自動化框架設計為例進行講解,并介紹了其他常見的自動化測試框架以及兩個在自動化測試中常用的工具。
關鍵詞:軟件測試;自動化測試;驅動測試;框架設計
中圖分類號:TP311文獻標識碼:A文章編號:1009-2374(2014)22-0026-02隨著IT技術的快速革新,軟件的規(guī)模逐步變大,軟件開發(fā)人員希望在將投入運行之前,質量能得到保障,而測試則是保證系統(tǒng)正確性的一個必要手段,通常測試人員是軟件的第一個用戶,而且也是檢驗產品質量的重要人員。據(jù)統(tǒng)計,測試在軟件開發(fā)總成本中往往要占到40%~50%甚至更多。在以往的開發(fā)和測試過程中,通過經驗積累發(fā)現(xiàn),測試過程是極有可能實現(xiàn)自動化的,而實現(xiàn)測試的自動化無論對提高軟件的質量還是對減少開發(fā)成本都有很大的幫助。自動化軟件測試的目的在于通過有效的利用時間和資源來提高測試效率,把測試用例轉化為自動的執(zhí)行,把人從繁瑣的體力測試中解放出來。自動化測試能做一些手工難以完成的測試,比如壓力測試,特別是在回歸測試中有很大的幫助,所以研究如何實現(xiàn)軟件測試的自動化是有意義而且是很有必要的。
1常用的自動化測試技術簡介
自動化測試技術歷經了多個發(fā)展階段,從最初的錄制回放技術到后來的數(shù)據(jù)驅動的測試技術,再到現(xiàn)在著重介紹的關鍵字驅動的自動化測試技術,它們都有各自的適用之處。一般而言,后發(fā)展的技術是對以往技術的繼承和發(fā)展,具備向后兼容特性。關鍵字驅動的測試技術以它獨到的性能受到了業(yè)內人士的青睞,并在一些領域得到了很大程度上的應用。關鍵字驅動測試技術是以預先設計好的關鍵字作為依據(jù)來驅動測試事件的,并且使用關鍵字編寫的測試腳本簡單易讀并且可維護性強。以上幾類自動化測試手段在各個領域都得到了很好的應用,但是都存在各自的優(yōu)缺點,不能完全滿足不同領域的需求。
2自動化測試常用工具選取
俗話說工欲善其事,必先利其器,在框架設計中可以應用一些優(yōu)秀工具來輔助框架的開發(fā)。自動化測試的輔助工具不勝枚舉,并被應用到不同領域,本文主要介紹在后面框架設計中用到的STAF和Selenium兩個開源的工具,兩個工具對于自動化軟件測試具有諸多優(yōu)勢,在此不作詳細說明。
3關鍵字驅動的自動化測試框架設計
以曾開發(fā)過框架為例,該框架是測試一款產品型軟件,每個版本發(fā)布前測試的功能點很多都和上個甚至更早版本測試點相同,但都需要測試,避免新功能的引入對老的功能產生影響,如果采用人工測試,需要花費大量的精力做相同的測試,以及在做回歸測試都要花費大量的時間,為了節(jié)約成本,減少枯燥重復的測試,采用自動化測試的方法,這種方法不僅能解決上述問題,還能提高測試的準確性,縮短軟件開發(fā)周期,在空閑時間運行自動化的用例,工作時間查看結果報告,這樣就有效的利用時間和資源,提高了測試的效率,如果一旦實施開來,預計可以減少1/4的費用。
3.1關鍵字驅動自動化測試的單元結構
整個自動化測試的單元組成分為兩個部分,一個是測試控制端,一個是安裝產品的服務端。測試控制端放的就是我們的測試數(shù)據(jù),腳本代碼,測試工具等我們測試所用到的一切東西,而服務端就是我們安裝產品的地方,里面還包括產品的依附的軟件、軟件所需要的數(shù)據(jù)信息、數(shù)據(jù)庫信息等一切與產品有關的信息,主要是做到測試環(huán)境的隔離。如果涉及到要對產品直接的操作可以通過STAF這個軟件使得控制端能對服務端文件等進行遠程操作,對于UI方面我們借助selenium這個工具。
3.2關鍵字驅動
關鍵字不僅為測試提供參考依據(jù),而且被解釋執(zhí)行。當在執(zhí)行測試數(shù)據(jù)的文件時,如果遇到關鍵字則調用對應的關鍵字支持腳本,通過關鍵字支持腳本的執(zhí)行,將實際輸出與數(shù)據(jù)表格中的期望結果進行比較,一致則通過,否則報錯,并將測試結果寫入測試日志文件。這樣,數(shù)據(jù)文件包含測試的邏輯內容用來指定需要執(zhí)行的測試用例、測試步驟和測試數(shù)據(jù)信息,而支持腳本包含對被測試軟件的認識,關鍵字的解析等,這樣就實現(xiàn)了腳本、測試數(shù)據(jù)、測試邏輯的相互獨立。
關鍵字驅動測試中,每一個關鍵字能解釋執(zhí)行相應的腳本,通過不同的測試數(shù)據(jù),在這個測試框架中可以通過很少的代碼來產生大量的測試用例。同樣的代碼在用數(shù)據(jù)表來產生各個測試用例的同時被復用。
3.3關鍵字庫的設計
要做關鍵字驅動,就要設計關鍵字,而關鍵字設計是很重要的一步,我們在設計關鍵字時,應該充分考慮到其擴展性,可讀性,穩(wěn)定性等,切忌過多的設計關鍵字,造成關鍵字信息冗余,更不能遺漏設計關鍵字,致使某些需實現(xiàn)的功能無法得到精確的描述,總之一切要以特定的項目實現(xiàn)為原則來確定關鍵字地設計。
3.4自動化測試框架
圖1關鍵字驅動的自動化測試框架
如圖1所示就是一個自動化測試的結構圖,第二層是腳本代碼,第三層是業(yè)務邏輯層,最高層,就是一些執(zhí)行文件。
腳本代碼,邏輯,數(shù)據(jù)都分離開,并且在一個文件里存儲執(zhí)行的步驟,里面按邏輯順序放了一個用例的關鍵字,這些關鍵字會調用相應的腳本代碼,而腳本代碼里的數(shù)據(jù)又從數(shù)據(jù)的文件里調取,各層各司其職,相互獨立。當執(zhí)行某一個用例的時候,我們就調用執(zhí)行文件,執(zhí)行文件執(zhí)行相應的腳本,解析文件里面存儲的關鍵字,將其解析執(zhí)行相應的腳本代碼。
3.5自動化測試框架的總體設計
圖2自動化測試的流程
自動化測試也是一個開發(fā)的過程,務須按照軟件開發(fā)的流程來設計:
第一階段為需求調研分析的階段,第二階段可以概括為設計階段,第三階段為編碼階段,第四為測試階段,然后就是評審驗收。
設計成三部分:環(huán)境準備,測試執(zhí)行,結果監(jiān)控并發(fā)送結果報告??蚣苋鐖D2所示。
環(huán)境準備部分主要是對測試環(huán)境進行初始化,還原成一個“干凈”的環(huán)境,因為整個過程需要自動化,所以我們就需要自動執(zhí)行測試前的一些操作,先自動選擇最新產品版本進行安裝,自動生成測試所需用戶信息,自動更新SVN數(shù)據(jù),自動根據(jù)配置文件更改與環(huán)境相關的數(shù)據(jù)等。
測試執(zhí)行部分采用分層設計使測試數(shù)據(jù)與腳本分離,腳本與邏輯步驟分離。根據(jù)測試用例,分離出步驟,抽象成一個個的關鍵字,每個關鍵字就是一個具體的步驟,對于web的操作選用可以selenium軟件來輔助測試,遠程執(zhí)行選用可以選用STAF輔助實現(xiàn)。
結果監(jiān)控并發(fā)送結果報告部分主要是實時監(jiān)控測試過程,首先設計一個監(jiān)控程序對自動化過程全程監(jiān)控,每幾分鐘就刷新一下監(jiān)控數(shù)據(jù),顯示當然每個模塊的測試狀態(tài)、測試情況等;發(fā)送報告部分,是在測試結束后自動生成測試全部測試結果的報告發(fā)給指定的人,并能自動計算出測試的通過率。
4結語
在IT行業(yè)測試是一個重要的流程,但現(xiàn)階段很多公司仍采用傳統(tǒng)的手工測試的方案,不過我們有理由相信以后,自動化測試的必將有占據(jù)很大的市場,因為在市場要求軟件產品不斷的提高可靠性和可用性的情況下,需要更快更便宜的交付,而測試在時間,成本和質量檢測占有很大的比重,所以傳統(tǒng)的測試如果不作改變,就意味著軟件項目很難滿足發(fā)展需要??傊詣踊瘻y試技術提供了一個減少軟件測試時間成本,提高軟件質量(一致性、可重復性),同時提高軟件測試程序的可測性的機會,相信隨著軟件技術的演變,自動化測試的又會出現(xiàn)許多更好的框架設計,自動化測試必將是以后軟件測試中常用的方法。
參考文獻
[1]?Elfriende Dustinde(美),余昭輝,范春霞.自動化
?軟件測試實施指南[M].北京:機械工業(yè)出版社,
?2010.
[2]?商宇.基于STAF的自動化測試工具的研究和設計
?[J].云南民族大學學報(自然科學版),2009,18
?(3).
[3]?Selenium官方網(wǎng)站.http://docs.seleniumhq.org/.
?2013-4-28.
[4]?董賢偉.關鍵字驅動的自動化軟件測試的研究[D].
?南京理工大學碩士論文,2009.