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