劉鵬
摘要:當前,軟件測試行業的優勢受到國內諸多企業的重視,通過軟件測試,可以保證系統和軟件的質量,同時還可以降低軟件和系統的成本,最終提升企業信譽,促進企業發展。在開發軟件、系統中,很多企業要做到“多測”“測多”,從而必須要應用自動化測試。自動化測試可以節省人力和物力,提升測試效率和產品質量。基于此,文章就基于QTP的軟件自動化測試框架的設計及應用進行探討。
關鍵詞:QTP潤健自動化;測試框架;設計;應用
1、基于QTP的軟件自動化測試框架的整體設計
1.1自動化測試實施流程
1)建立測試用的例庫;
2)設置測試需要的場景;
3)準備測試用的數據;
4)保證系統和相應的環境已經就緒;
5)監控測試的自動化過程和實施的過程;
6)做好避險準備,實施預警;
1.2自動化測試框架設計規范
在自動化測試框架設計的過程中,需要滿足項目的需要,在使用過程中可以隨時根據需要求添加和刪除框架。框架有很多種類,主要包括數據驅動、關鍵字驅動、混合框架三種,其中數據驅動一般在工作流不變但是僅僅有數據變動的情況下應用;關鍵字驅動提供的關鍵字在任何類型的應用中都可以使用;混合框架則是綜合了上述兩種框架的長處,從而可以有效發揮每個框架不同的優點。
1.2.1避免重復用工
在測試框架設計的過程中,應該發揮自動化測試工具強大的功能,而不是通過實現新的關鍵字,對整個表達方式重新設定。在關鍵字驅動框架開發中,不僅費時,而且會浪費錢,而如果開發混合框架,就可以在節約成本的同時更加節約時間。
1.2.2復用性
應該確保框架達到最大程度的服用,并結合action到業務邏輯匯總實現復用。
1.2.3不同版本產品及項目的支持
被測試應用或者是程序,在不同版本上服用擊弦腳本。
1.2.4腳本版本的支持
在版本控制系統中存儲腳本,其中包括如VSS、CVS等,從而在災難中才可以保證腳本恢復。
1.2.5執行
在自動化測試框架設計過程中,需要滿足和實現如下需求:
1)可以執行單獨的測試用的例庫;
2)可以執行一組測試,或者說是測試的組合;
3)需要將failed的測試用例進行重新執行
1.3自動化測試框架的整體設計
1.3.1引擎驅動管理
引擎驅動管理可以對多個調試好的腳本進行控制,確保其有序運行。
1.3.2數據管理
包括用力和測試兩種數據的管理,按照業務模塊,將測試數據存放到目錄中,在相同測試用例中的數據,需要應用多組測試數據中,以文件中進行索引區分,從而可以方便讀取數據。
1.3.3對象庫管理
在同一個對象庫文件中保存對象,進行統一管理,從而降低對象冗余的現象,對象庫是QTP的核心,也是腳本運行的基礎,獲取對象的方式特殊,需要通過對腳本名字的分析確定對象。
1.3.4腳本管理
編寫腳本管理框架需要手動測試的操作要求,從而滿足現實腳本代碼中的空間、界面等。編寫框架的過程中,必須要注意腳本的測試工作,在整個自動化測試框架中,測試腳本是核心紐帶,從而開發腳本成了整個框架中最復雜的工作內容。腳本不僅需要實現不同界面的相互動作,通過事件的時間間隔進行辯解,調用各種子模塊。
1.3.5輸出管理
當結束自動化測試腳本運行結束后,結果或者是數據就可以自動輸出,形成報告、認知。
2、自動化測試應用實施過程
在進行自動化測試過程中應該以分期實施的方式進行,主要包括兩個階段的實施,在實施過程中需要選擇一到兩個功能模塊,當成熟之后,再進行推廣,進行其他產品的實施;秉承先易后難的原則,盡可能選擇非核心功能的實施對象,從而降低實施的風險;秉承選擇穩定功能的原則,如果對功能不穩定的系統進行自動化測試,就會增加測試腳本維護的工作量,會因為異常而導致自動化測試終止;秉承逐步完善的原則:在自動化測試體系中,不僅包括錄制編寫、執行相應的腳本,還包括測試校本庫、測試工具繼承等多方面工作,進而需要一步一步完成自動化測試體系。
3、自動化測試框架的應用分析和總結
3.1 應用分析
以自動化測試框架在征管系統中應用為例,征管系統在自動化測試初期,覆蓋基本業務流測試功能點,主要是稅費種認定、校驗功能、核心征管等級,達到了全面覆蓋,分支業務流也形成全面覆蓋。當完成一次自動化測試之后,有接近三成為系統缺陷。另外,設計信息資料、測試環境、腳本設計、版本更新等方面問題導致。在被測系統中,所有的缺陷都是由進行測試的工程師進行報告、解決,而變更版本、數據腳本等,都會導致異常出現,如此需要測試人員進行分析并拿出解決方案。
3.2 應用總結
應用自動化測試的主要目的在于找到原來的不足,人工測試則為了找到新的問題,如果在具體實踐過程中產生新的問題越多,就會導致自動化測試越容易失敗,因此,手工測試的主要目的在于發現更多的缺陷。測試領域的學者James Bach的研究中歸納,問題中有85%都是人工發現,只有15%是通過智能測試的方式發現。在實際推行自動化測試過程中,必然會出現相應的阻力,例如,公司領導是否對自動化測試有足夠的重視,是否對測試組織認可,相應的測試工作者是否符合自動化測試的技術要求和條件,在維護自動化測試腳本的過程中,是否符合公司的實際要求。綜合考慮工程狀況,對具體環節進行戰略性使用。
在實際應用自動化測試結構體系過程中,處于不斷改進的狀態,從而自動化測試工作難度也在不斷增加,但自動化測試的優勢則更加突出,自動化測試的速度也在不斷加快,降低了工作人員負擔,提高了有效性、可靠性,同時可以促使手工測試專注于業務流程,或者是其他復雜測試場景,形成與手工測試的高效結合,縮短測試周期。
4、結語
綜上所述,在未來的自動化測試框架研究工作中,應該盡可能提升框架兼容性,從而擺脫工具的制約,形成良好的通用性,后期還應該對框架的策略結構進行探究,從而更好的解決實施階段測試成本的問題。
參考文獻:
[1]袁鷺思. 基于QTP/QC的軟件自動化測試框架實現[D].復旦大學,2014.