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