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