馮鑫+王方剛+金磊
摘要:如今,軟件行業(yè)的競爭隨著現(xiàn)代化信息技術(shù)的快速發(fā)展愈演愈烈,軟件系統(tǒng)也變得越拉越復(fù)雜,對于軟件功能、性能方面的要求也越來越高的同時,軟件更行版本的周期也是在不斷減少。在這種情形下,企業(yè)關(guān)注的重心就是如何才能有效保障軟件的質(zhì)量。如果只是依賴有著密集勞動力這一特征的傳統(tǒng)的人工測試,已經(jīng)無法達(dá)到當(dāng)今快速發(fā)展的軟件開發(fā)以及測試的要求。
關(guān)鍵詞:軟件、自動化測試技術(shù)、應(yīng)用研究
引言:軟件質(zhì)量、開發(fā)進(jìn)程以及開發(fā)成本的一個不可或缺的手段是軟件測試。其最終目的是對系統(tǒng)進(jìn)行一系列相關(guān)的測試,通過設(shè)計不同的測試來檢測系統(tǒng)能否可以達(dá)到規(guī)定的要求以及和對結(jié)果預(yù)期的差異,從而有效保障系統(tǒng)的質(zhì)量。此篇文章解析了自動化測試有關(guān)的概念以及理論,總結(jié)了、比較了自動化測試適用的區(qū)域、工具類別以及組織結(jié)構(gòu),從而把自動化作為主線,將軟件測試過程中的單元級別測試、系統(tǒng)級別功能測試和性能測試貫穿起來,對多種自動化的重要原理以及技術(shù)進(jìn)行了深入探討;然后將其與現(xiàn)代企業(yè)軟件開發(fā)的優(yōu)勢有機(jī)融合,擁有了更有優(yōu)質(zhì)的自動化測試設(shè)計原則以及對階段不同的軟件采取不同的自動化測試技術(shù),從單元、系統(tǒng)以及性能測試這些方面創(chuàng)建了一個企業(yè)自動化測試的框架;最后在相關(guān)企業(yè)級信息平臺開發(fā)項目MYSSC中的實踐經(jīng)驗中驗證了在企業(yè)軟件開發(fā)過程中自動化測試的可靠性,從而使傳統(tǒng)軟件測試中面臨的困難得到了有效的解決。
一、 軟件測試自動化的相關(guān)論述
在機(jī)器空閑時進(jìn)行零用戶參與的自動化測試,才是一個成熟的自動化軟件測試機(jī)理。自動化測試是一個可以多次重復(fù)的測試,并且在不同時間段但測試案例相同的時候,可以使用一模一樣的測試數(shù)據(jù)實施第二次測試。自動化測試可以支出最少的成本,做到非常全面的體系測試。自動化測試雖然可以有效減輕手工測試的工作量,但仍然不可以完全替代手工測試。百分之百的自動化測試只是一個理想化模型,而現(xiàn)實生活中,想要做到完全的自動化測試,所付出代價是極其大的,而且在操作上也非常不容易實現(xiàn)。大多數(shù)自動化的程度利用率可以達(dá)到40%-60%已經(jīng)是非常不錯的了,在這個級別之上,就會很大程度上增加維護(hù)相關(guān)測試成本。所以我們要樹立一個對自動化測試的正確認(rèn)知,理性的考慮到自動化測試僅僅是人工測試的優(yōu)化,而不可能完全替代人工測試的作用。
二、 企業(yè)自動化系統(tǒng)測試框架
2.1自動化系統(tǒng)回歸測試的架構(gòu)
2.1.1自動化系統(tǒng)回歸測試是自動化系統(tǒng)測試基礎(chǔ)構(gòu)架
自動化系統(tǒng)回歸測試是自動化系統(tǒng)測試最基本的構(gòu)架,它需要借助一系列的生命周期軟件測試的輔助工具,將IBM Rational Administrator工具建立起來的測試知識庫,和具體的一項測試項目對應(yīng)起來,測試人員只需要在自己的電腦上以共享文件這種方式來共享這個項目的文件就可以登錄中央測試知識庫從而開展測試活動。
2.1.2自動化系統(tǒng)回歸測試的腳本框架
基于捕獲/回放工具的自動化測試腳本框架是自動化系統(tǒng)回歸測試的關(guān)鍵一步。依照工具的腳本語言開發(fā)腳本庫這一基礎(chǔ)來實現(xiàn)具體的方案,在腳本庫基礎(chǔ)上創(chuàng)建并檢驗用例腳本,形成腳本框架,最終借助輔助工具進(jìn)行測試的。
2.1.3基于工具語言開發(fā)的腳本框架
參考測試要求來開發(fā)手工腳本庫,進(jìn)而依照腳本庫開發(fā)來測試用例腳本,最終提供多層次以及多級別的抽象性。
2.2企業(yè)自動化系統(tǒng)性能測試
精準(zhǔn)地得到在某一狀態(tài)下的性能指標(biāo)是自動化系統(tǒng)性能測試的核心。
2.2.1測試準(zhǔn)確性
測試精準(zhǔn)性需要參照一個標(biāo)準(zhǔn)的指標(biāo),而這個指標(biāo)的需要通過對系統(tǒng)、服務(wù)器運(yùn)行等方面進(jìn)行統(tǒng)一的考察。在這里分為服務(wù)器測試和系統(tǒng)性能測試,系統(tǒng)性能測試是通過用戶模擬來實現(xiàn)各方面運(yùn)行數(shù)據(jù)的對比,服務(wù)器通過處理時間、負(fù)荷量、運(yùn)行效率等進(jìn)行考察。將這兩項檢測完畢,結(jié)合整個自動化系統(tǒng)的運(yùn)轉(zhuǎn)制定性能參考標(biāo)準(zhǔn)。
2.2.2節(jié)約測試成本
對性能測試的經(jīng)費,尤其是硬件的測試成本極其高。在對測試精準(zhǔn)性的保障條件下,控制測試的成本,比如,在每個員工的機(jī)器上安裝上負(fù)載生成器,在測試時每臺機(jī)器都可以分擔(dān)一部分的生成負(fù)載,從而做到每臺機(jī)器分擔(dān)一小塊的負(fù)載生成任務(wù)。
2.2.3減少手工工作
進(jìn)行性能測試,則要依靠許多不同用戶參與測試操作,創(chuàng)建這些用戶的賬號信息以及設(shè)置權(quán)限需要手工導(dǎo)入,所以工作量是巨大的,但是依靠自動化捕獲回放工具就可以自動完成這部份工作,在此同時也要進(jìn)行前面的自動化系統(tǒng)回歸測試框架從而使用關(guān)鍵功能的冒煙操作。
三、自動化測試應(yīng)用
3.1自動化測試的實施
選擇恰當(dāng)?shù)淖詣踊瘻y試工具,編寫可以用于不同工具的測試腳本,從而達(dá)到某測試用例的要求,腳本可以自動檢查用例的執(zhí)行情況。這和手工測試相同,需要制作出缺陷管理、日志分析、度量跟蹤等方案來對自動化測試進(jìn)行管理??刂茰y試流程要依靠科學(xué)的測試流程以及相關(guān)規(guī)范來實現(xiàn),并對整個產(chǎn)品的測試周期用流程以及規(guī)范嚴(yán)格約束、控制,從而保證產(chǎn)品的質(zhì)量。
3.2測試工具與解決方案
自動化測試可以把測試效率提升,把軟件中的性能以及功能缺陷快速檢測出來,但不可以發(fā)現(xiàn)設(shè)計中的測試腳本里的缺陷。測試者需要制定出測試中每一個分支路徑的校驗點,如國果定制不完整,實施自動化測試就相當(dāng)困難。
3.3自動化測試腳本選擇
自動化測試腳本包括了測試工具中的使用數(shù)據(jù)、指令。滿足被實現(xiàn)的測試用例的條件才是一個好的腳本,即一個好的腳本應(yīng)該是很方面進(jìn)行使用的,同時可靠性和易維護(hù)性需要非常好。一個好的腳本應(yīng)該有幾下特征:1、輸入模型要提供多層次以及多級別的抽象性;2、測試腳本要有許多層次的GUI對象庫。
四、結(jié)束語
軟件測試自動化的優(yōu)勢有高效率、高速度、進(jìn)行回歸測試非常全面等,這同樣也是軟件測試的必然走向。這篇文章闡述了軟件測試自動化的意義以及介紹了支持測試自動化的工具。參考測試用例體系的不同,選擇最佳的腳本技術(shù)和方法來達(dá)到軟件測試的自動化的要求,對創(chuàng)建于維護(hù)腳本的花費進(jìn)行了有效的減少,從而使進(jìn)行軟件測試的效率得到很大的提高。
參考文獻(xiàn):
[1]劉艷霞. 軟件自動化測試技術(shù)應(yīng)用研究[J]. 軟件導(dǎo)刊,2007,(09):36-38.
[2]應(yīng)杭. 軟件自動化測試技術(shù)及應(yīng)用研究[D].浙江大學(xué),2006.
[3]王曉華. 軟件測試技術(shù)應(yīng)用研究[J]. 國防科技工業(yè),2012,(03):54-55.endprint