李鑫
摘 要在當前社會中,隨著計算機技術(shù)和互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,越來越多的軟件開始應(yīng)用在各行各業(yè)當中,發(fā)揮出了十分良好的效果。為了確保軟件功能和性能的良好,應(yīng)當進行有效的自動化軟件測試。而對于很多軟件來說,在測試當中通常較為復(fù)雜。基于此,可利用基于腳本的自動化軟件測試技術(shù),在軟件動態(tài)測試過程中,使用腳本技術(shù)進行自動化測試,優(yōu)化手工測試過程,提高測試效率和測試有效性。
【關(guān)鍵詞】腳本技術(shù) 自動化 軟件測試方法
為了確保軟件具有良好的質(zhì)量和性能,應(yīng)當進行有效的軟件測試工作。在過去的軟件測試中,通常都是手工的方法,測試效率和測試效果十分有限,并且會增加測試周期和測試成本,特別是對于一些特殊軟件的測試來說,通常要面臨著更大的難題。而通過對腳本技術(shù)的引入,可以更好的實現(xiàn)進行自動化軟件測試工作,對于軟件測試的可維護性等都有著較大的幫助,同時也能夠提升測試效率和測試效果,降低測試成本。
1 基于腳本的自動化軟件測試平臺
在自動化軟件測試平臺中,主要包括了接口映射表、支持函數(shù)庫、腳本驅(qū)動器、數(shù)據(jù)驅(qū)動器等部分,綜合這些部分形成了組合型的測試框架,用來對軟件進行測試。在測試過程中,下層腳本由高層腳本調(diào)用執(zhí)行,底層運行腳本的通信和驅(qū)動過程中,待測系統(tǒng)接口是由查詢接口映射表調(diào)用的。在數(shù)據(jù)文件中,測試腳本在測試當中對相應(yīng)數(shù)據(jù)進行調(diào)用。其中,高層腳本由腳本驅(qū)動器調(diào)用,從而使高層腳本能夠?qū)ο聦幽_本進行調(diào)用,其中,待測試系統(tǒng)的具體測試步驟,就包含在底層腳本當中。在接口映射表當中,對關(guān)鍵字驅(qū)動測試框架中的組件映射表的經(jīng)驗進行了利用。結(jié)合待測試系統(tǒng)的具體要求,測試人員對接口的參數(shù)、名稱等進行設(shè)計,以便對待測試系統(tǒng)進行抽象化的處理。
在測試腳本的運行過程中,通過映射表對接口的參數(shù)和名稱進行匹配,如果改變系統(tǒng)接口,只需對映射表進行調(diào)整,就能夠在待測試系統(tǒng)、測試系統(tǒng)之間,形成良好的松耦合。在數(shù)據(jù)文件、測試腳本之間,連接器主要是由數(shù)據(jù)驅(qū)動器實現(xiàn)的,一般是由XML文件、文本文件等完成的。在進行測試的時候,如果有數(shù)據(jù)的需求,數(shù)據(jù)會由數(shù)據(jù)驅(qū)動器進行賭氣。在測試數(shù)據(jù)和腳本之間,由數(shù)據(jù)驅(qū)動器進行分離,如果改變了測試數(shù)據(jù),則只需對數(shù)據(jù)驅(qū)動器進行修改即可,無需改動腳本。在支持函數(shù)庫當中,主要包含了字符串處理、文字操作、數(shù)據(jù)緩存等所需應(yīng)用的通用處理函數(shù),從而對整個自動化軟件測試過程提供支持。
2 基于腳本的自動化軟件測試技術(shù)
2.1 自動化軟件測試腳本語言設(shè)計
在基于腳本的自動化軟件測試技術(shù)當中,測試腳本語言具有十分重要的作用,因此,結(jié)合基于腳本的自動化軟件測試技術(shù)的實現(xiàn)機制、以及軟件測試的特點,對腳本語言進行結(jié)構(gòu)化方式的擴展,也就是在描述軟件測試特征的過程中,對結(jié)構(gòu)化語言的語法、詞法等進行應(yīng)用。C語言是較為常用的結(jié)構(gòu)化語言,在實際應(yīng)用中,相應(yīng)的簡化C語言,對軟件測試結(jié)構(gòu)化特征能夠應(yīng)用到的一些必不可少的內(nèi)容進行保留,而將一些沒有必要的測試特征加以省略。基于通用結(jié)構(gòu)化語言,在擴展當中,結(jié)合軟件測試的特點,將一些軟件測特有的特征描述加入其中,例如反饋特性、實施特性、測試進程控制機制等方面的描述。
在自動化軟件測試的過程當中,周期任務(wù)、定時任務(wù)、立即任務(wù)是對被測系統(tǒng)發(fā)布的主要任務(wù),因此,可以將一些相應(yīng)的描述關(guān)鍵字引入到這幾種任務(wù)當中。通過這種方式,能夠?qū)θ蝿?wù)表進行實時調(diào)度,從而實時處理相關(guān)的任務(wù)。在結(jié)構(gòu)化語言當中,對邏輯判斷方法進行應(yīng)用,在仿真模型、解釋器之間的交互當中,使測試反饋處理功能完成。此外,對于測試任務(wù),可增加相關(guān)的優(yōu)先級、同步、并發(fā)等描述,從而更加準確的描述軟件測試,同時對測試的閉環(huán)特性加以反映,對被測軟件運行的真實環(huán)境進行有效的模擬。
2.2 自動化軟件測試腳本語言解釋器
基于設(shè)計的自動化軟件測試的腳本語言,對針對這種語言的解釋器進行設(shè)計。對于腳本語言來說,腳本語言解釋器發(fā)揮著重要的基礎(chǔ)性作用,設(shè)計的解釋器是否合理,對于基于腳本的自動化軟件測試技術(shù)有著直接的影響,同時關(guān)系到軟件測試的效果和效率。基于前文提到的軟件測試中的主要特性和測試任務(wù),對于測試任務(wù)當中的任務(wù)并發(fā)同步、測試反饋特性、時間要求等應(yīng)當進行妥善的處理。在解釋器當中,主要包括了解釋程序、指控程序等部分。其中,在預(yù)處理測試腳本的過程中,需要用到主控程序,同時對根據(jù)時間排列的任務(wù)表進行生成,對解釋程序的出發(fā)調(diào)用,則是按照實時調(diào)度時鐘的信號和條件判斷的。在主控稱許當中,測試過程中不同任務(wù)的同步和并發(fā)處理,能夠通過多任務(wù)處理方式加以確保,這樣就能夠?qū)ψ詣踊浖y試當中,實施特性的要求得到滿足。
在解釋程序當中,根據(jù)時鐘信號對主控程序進行觸發(fā),對需要進行解釋的腳本執(zhí)行代碼進行加載,然后對于測試流程,可采用腳本解釋進行控制,對測試數(shù)據(jù)進行實時生成,然后向各個仿真模型當中進行分發(fā),在通過交互仿真模型,在反饋處理中,對邏輯判斷加以利用,以便實現(xiàn)不同任務(wù)的同步,使被測軟件的運行得到良好的驅(qū)動。在解釋腳本的過程中,對于腳本當中的錯誤信息,可以通過解釋程序進行捕捉,同時能夠?qū)﹀e誤處理機制進行提供,這樣就能夠防止腳本產(chǎn)生嚴重錯誤,從而帶來其它不良的影響。此外,在設(shè)計解釋器的過程中,對于用戶自定義函數(shù)的登記,以及庫函數(shù)的調(diào)用等,可以通過預(yù)掃描的方式實現(xiàn)。從而使函數(shù)查找時間得以縮短。而且,還能夠標準信號發(fā)生函數(shù),對二進制代碼進行生成,從而使解釋的效率和速度得以提升。
3 結(jié)論
在當前社會中,隨著計算機網(wǎng)絡(luò)的廣泛應(yīng)用,在各個領(lǐng)域當中,各類軟件的也得到極大的應(yīng)用。豐富、全面的軟件功能能夠為人們的工作和生活提供很大的便利。因此,為了確保軟件良好的質(zhì)量及性能,可采用基于腳本的自動化軟件測試技術(shù),通過自動化的測試過程,提升自動化軟件測試的效率和有效性。
參考文獻
[1]曹磊,董科軍,袁博文.一種基于Selenium的Web應(yīng)用軟件自動化測試平臺設(shè)計與實現(xiàn)[J].科研信息化技術(shù)與應(yīng)用,2014,06:44-52.
[2]董宇暉.基于Python的實時軟件測試腳本[J].信息與電腦(理論版),2011,07:27-28.
[3]陳彥彰.Python語言在國產(chǎn)操作系統(tǒng)性能測試中的應(yīng)用[J].電子產(chǎn)品可靠性與環(huán)境試驗,2013,S1:164-166.
[4]周漢清,劉暢.軟件仿真測試環(huán)境實時腳本技術(shù)的研究[J].航空標準化與質(zhì)量,2014,02:36-39.
作者單位
中國航空工業(yè)集團公司西安飛行自動控制研究所 陜西省西安市 710065