軟件自動化測試工具的應用
軟件自動化測試工具的應用
文/石磊
近年來,計算機技術和信息技術快速發展,各種應用軟件層出不窮,為了充分保證軟件質量,需要進行軟件測試,但是軟件測試需要耗費大量的人力和時間,可能占據整個軟件開發工作量的40%左右,如果對軟件開發比較嚴格,工作量還會高于這一數值,當前的軟件測試一般是人工測試,存在效率低下、錯誤太多等問題,由于軟件測試一般是重復操作,因此近年來軟件自動化測試技術開始普及。
【關鍵詞】軟件開發 軟件測試 自動化測試
軟件測試大部分是重復性工作,而運用軟件自動化測試工具,能夠自動完成這些重復性工作,減少測試的盲目性、隨機性,減弱測試過程所受的人為因素影響, 縮減冗余工作量,降低出錯的頻率,因此運用軟件自動化測試非常有效實用。
1 軟件自動化測試的優點
運用軟件自動化測試工具能夠加強軟件性能測試,縮短測試時間,能夠在保證軟件質量的情況下讓軟件盡早上線,軟件自動化測試有幾個方面的優點:首先,能夠有效提高測試效率,由于回歸測試的用例、動作都是預設好的,所以測試結果、期望等數值也能夠預知,因此能夠減少測試時間,提高測試效率;第二,測試具有可重復性和結果一致性,由于自動化測試是自動進行的,因此能夠保證測試內容和測試結果的一致性,可以進行反復測試,針對不同的測試,只需要少量修改測試腳本就能夠繼續使用, 因此自動化測試還有復用性的優點;第三是可以進行更加復雜的測試,一些測試需要大量測試人員在同一時間進行測試,顯然是無法實現的,但是運用自動化測試工具,可以模擬多用戶,在同一時間進行測試,大大減少了工作量,可以進行更多的更加復雜的測試。
2 軟件自動化測試工具分析
用于軟件測試過的工具數量較多,但是可以大致分為幾類:黑盒測試工具、白盒測試工具、測試管理工具等,下面分開進行分析。
2.1 黑盒測試工具
如果已經知曉軟件應該具備的功能,可以使用黑盒測試工具進行功能測試。測試原理是錄制測試腳本后回放,用腳本來模仿用戶實際操作,記錄下輸出數據并和預先設定的標準數值相比較,由于這種測試的主要目的是確認軟件功能是否正常,因此不用考慮程序的內部特征和結構,常見的黑盒測試工具有WinRunner、Robot和TeamTest等。
2.2 白盒測試工具
白盒測試工具的主要作用是測試程序能否按照既定規定運行,測試原理是在不同點檢查程序的運行狀態,并以此確認實際狀態。測試工具主要是分析程序代碼,測試程序結構、代碼、類層次和對象等,如果程序存在缺陷或問題,運用測試工具能夠直接定位到代碼行,如果白盒測試工具具備可視化功能,對程序語言支持較好, 則可以作為軟件自動化測試工具。白盒測試工具又可以分為兩類,一種是動態測試工具,動態測試工具是在程序代碼中設置斷點,在斷點出插入測試代碼,測試程序運行狀態,常見的動態測試工具有 Error Detect、PerformanceAnalysis 等;而靜態測試工具知識測試程序語法、過程和結構等,確認程序是否正確,常見的靜態測試工具有CodeReview等。
2.3 測試管理工具
測試管理工具的主要作用是管理軟件測試的輸入、輸出結果以及測試過程。測試管理工具設有一個數據倉庫,開發人員、測試人員等都可以相互交流信息,能夠實現自動化管理測試需求、測試計劃、日程安排等,有效提高了軟件測試的效率,常見的測試管理工具有ClearQuest、TestDirector等。
3 軟件自動化測試工具的應用
3.1 程序方法、類、屬性的識別
要測試好一個程序,需要明確待測程序的類型類、命名空間,在測試程序集前,要將所有類型類、命名空間用測試工具識別出來。
3.2 代碼分析
和高級語言編譯相似,代碼分析也是為了描述、查找源代碼中諸如錯誤編程、錯誤邏輯、安全漏洞等薄弱環節。高級語言不同,需要采用不同的測試工具。運用這項技術,能夠分析源代碼并獲得樁模板、測試驅動,在測試腳本的基礎上,開發人員預設期望輸入輸出數據、樁函數邏輯等,執行測試后能夠自動生成測試報告。
測試工具可以分為動態分析模塊和靜態分析模塊,其中動態分析模塊采用的是插樁方式,在特定的位置插入監測代碼,以此觀察程序的運行狀態、產生的數據、是否出現異常終止等問題,進行動態測試有三個步驟,即:單元測試、集成測試和系統測試;對于靜態分析模塊,主要是分析程序代碼,不需要編譯代碼也不需要運行,首先分析工程文件并讀入源程序,進行語法掃描,尋找代碼中的從缺陷,評價代碼質量并生成調用關系圖,保存靜態分析的數據,可以繼續用于測試報告和動態分析。
3.3 捕獲回放
測試人員首先錄制測試腳本,測試工具會學習軟件組件層次結構和信息,截獲測試人員觸發的某些事件,分析事件并得到參數,將參數保存在測試腳本中,和預設標準比較后找出程序缺陷。捕獲回放工具有三個級別:硬件級別、操作級別、進程級別。
3.4 自動生成腳本和測試
一般的軟件自動化測試工具都提供了腳本錄制功能,以提高測試效率。例如使用比較廣泛的 LoadRunner 負載壓力測試工具,通過模擬用戶負載并監控系統性能和行為,發現、查找軟件中存在的問題,主要步驟是選擇協議—創建測試腳本—產生負載—設定方案—執行測試—分析結果。軟件自動化測試結束后,工具會將服務器端、客戶端、網絡端三個方面的測試數據收集起來,生成測試報告,評估程序組件性能,確定系統中存在的問題,實現系統優化和系統功能完善。
3.5 實際應用舉例
Rational Visual Test 是一款常用的軟件測試工具,軟件能夠記錄和重放程序執行過程,大大減少了測試人員的工作量。使用軟件測試需要首先運行設計的case,提取參數,首先讀取runlist文件,代碼為:OPEN '..\runlist'FOR INPUT AS #runlistWHILE NOT (EOF (runlist))LINE INPUT #runlist,runlistname接下來的步驟為運行 ispLEVER 軟件,處理窗口信息,打開需要運行的例子,清除舊信息,運行布線,保存項目,備份例子,進行下一個例子的測試。所有例子都運行完后,就要提取參數,在備份目錄中有 .twr 和 .log 文件,這些文件中就有我們需要的參數,例如:Number of external PIOs:126 out of 140 (90%)。我們同樣可以在文件中找到所用工具、器件封裝等信息,提取這些信息后與 ispLEVER軟件結果比較后得到測試結果。
4 結束語
綜上,隨著科學技術的發展,軟件種類越來越多,規模越來越大,也更加復雜,我們應合理的使用自動化測試工具, 降低測試成本,提高測試效率,提高軟件質量。
參考文獻
[1]楊立,劉杰.嵌入式軟件自動化測試平臺構架設計 [J]. 消費電子 ,2014(08):187.
作者單位
中國航空工業集團公司洛陽電光設備研究所 河南省洛陽市 471009
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除! 快速論文發表網(www.6scc.cn)本中心和國內數百家期刊雜志社有良好的合作關系,可以幫客戶代發論文投稿.
投稿郵箱:ksfbw@126.com
客服Q Q:
82702382
聯系電話:15295038833
本站論文資源均為來自網絡轉載,免費提供給廣大作者參考,不進行任何贏利,如有版權問題,請聯系管理員刪除!