夏德俊
渤海大學(xué)工學(xué)院
?
軟件自動化測試系統(tǒng)的應(yīng)用與分析
夏德俊
渤海大學(xué)工學(xué)院
在軟件的開發(fā)的時候必然要經(jīng)過多次的代碼修改,可能需要不止進(jìn)行一次某一項性能的測試,需要開展多次測試,在檢測的過程中可能會出現(xiàn)軟件缺陷,為了避免軟件缺陷的產(chǎn)生,需要對軟件項目開展多種測試用例,這種方式比手工測試來說更加具有效率,而且通過軟件自動化可以最大限度地解決問題。
軟件缺陷 測試用例 手工測試 自動化測試
軟件從開始發(fā)展到現(xiàn)在有幾十年的時間,但是其應(yīng)用范圍已經(jīng)從科研應(yīng)用轉(zhuǎn)向到社會生活的各個方面,由于人們對軟件有著很強(qiáng)的依賴性,所以軟件對我們的生活產(chǎn)生了重要的影響,在2007年發(fā)生的奧運訂票網(wǎng)站不能登錄的問題,有上百萬人不能購票,大學(xué)生通過低買高賣的方式獲得了很大的利潤,這些新聞在網(wǎng)絡(luò)上有很多,要避免出現(xiàn)這樣的問題就要在軟件上線之前解決,這樣才能實現(xiàn)軟件質(zhì)量的提升,因為軟件測試是軟件質(zhì)量提升的重要保證,現(xiàn)在有許多軟件公司非常重視軟件測試,不斷地對軟件進(jìn)行更新?lián)Q代,軟件具有更多的功能模塊,這些都有利于軟件自動化測試擴(kuò)展發(fā)展空間。
軟件自動化測試主要是通過自動化測試工具進(jìn)行的,這種測試方式不是人工進(jìn)行的,而且第二種測試方法主要是軟件的測試,包括測試的報告以及一般自動化測試的流程。
第一種測試需要自動化測試工具,在測試的過程中需要人為參與,這些測試工具包括有各種公司的軟件;第二種定義更加廣泛,他主要提出的是軟件,并不是自動化的測試工具,所以自動化測試不需要考慮自動化測試的不足,因為這種測試情況下的自動化是通過專門的公司開發(fā)的,他是公司根據(jù)測試的需要開發(fā)的,這種情況有利于通過先進(jìn)的測試手段促進(jìn)效率的提升。
在自動化測試的時候可能會涉及到許多的流程,包括測試體系以及測試的系統(tǒng),要做好測試的自動化這才是公司當(dāng)前要著重解決的問題,公司不僅需要提供各種資金以及管理上的支持,而且要通過專門的測試團(tuán)隊獲得測試過程以及體系,對于手工測試系統(tǒng)而言,這種測試工具覆蓋范圍更廣,這些測試通過手工是不能完成的,因為在自動化過程中具有重要的屬性,公司不僅要提供各種資金以及管理支持,還要通過各種專門的測試團(tuán)隊建立測試的流程和體系,相對于手工測試系統(tǒng)來說,自動化測試工具具有更高的覆蓋范圍,需要通過大量的測試,這些測試通過手工是不容易完成的,自動化測試的過程中具有非常重要的屬性:
(1)速度。手工測試進(jìn)行測試的時候,可能會要花費很長的時間,可能5秒鐘執(zhí)行的測試用手工需要花費10倍乃至百倍的時間。
(2)效率。測試人員如果要做好測試用例,他可能不會開展其他工作,因為減少測試工具可能會縮短測試用例的時間,從而沒有更多的時間執(zhí)行測試計劃。
(3)準(zhǔn)確度和精確度。測試人員執(zhí)行測試用例后,可能會出現(xiàn)注意力分散以及犯錯誤的情況,所以測試人員需要一如既往地執(zhí)行測試,這樣才能避免出現(xiàn)測試的問題。
(4)節(jié)約資源。要節(jié)約資源就要更好的開展測試用例,一些相關(guān)的人物對真實的情況進(jìn)行模擬,這樣才能最大限度地減少測試需要的物理資源和時間。
(5)仿真和模擬。測試工具需要和產(chǎn)品連接的硬件和軟件,這樣才能更好的驅(qū)動軟件,但是在實踐起來可能會存在問題。
3.1自動化測試系統(tǒng)框架設(shè)計
自動化測試的過程中,需要關(guān)注以下關(guān)鍵要素,如表 1 所示。
表1 自動化測試關(guān)鍵要素
通過這些關(guān)鍵要素及測試的機(jī)制,我們可以獲得測試的準(zhǔn)確框架,如圖1所示,通過業(yè)務(wù)規(guī)則以及測試腳本語言可以進(jìn)行軟件測試。
圖1 自動化測試系統(tǒng)框架
3.2 自動化測試腳本選擇
自動化測試,包括測試工具中的各種數(shù)據(jù)和指令,包括對信息的同步以及比較,對數(shù)據(jù)的存放以及信息的控制,腳本語言和使用的工具有密切的關(guān)系,好的腳本可以滿足測試的需求,所以好的腳本應(yīng)當(dāng)具有良好的可靠性,也能夠維護(hù),應(yīng)當(dāng)遵循以下的標(biāo)準(zhǔn):
注釋:提供用戶和管理者幫助。
功能:執(zhí)行任務(wù)可以復(fù)制腳本,目的比較單一。
結(jié)構(gòu);容易進(jìn)行維護(hù)和理解。
支持:可以給用戶提供比較清晰以及簡潔的文檔。
每個腳本在使用的過程中都有各自的優(yōu)點,在腳本進(jìn)行測試的過程中會花費很長時間,我們需要根據(jù)具體的測試用例,對腳本技術(shù)進(jìn)行分析,這樣才能獲得更好的測試用例。
3.3自動化測試的實施
通過正確的測試方法和自動化工具,有利于進(jìn)行軟件腳本的編寫,通過多樣化的測試用例,通過腳本運行就可以獲得測試用例,而且這種用秘盒手工測試的效果是一樣的,通過制定日志以及跟蹤等方式,有利于更好地進(jìn)行自動化測試,通過科學(xué)的測試流程以及規(guī)范可以有效的控制流程,并且可以控制整個產(chǎn)品的測試周期,最終可以實現(xiàn)產(chǎn)品質(zhì)量的提升。
4.1使用自動化測試的原因
自動化測試具有深刻的原因,因為軟件版本需要升級,升級就需要進(jìn)行檢測,在軟件檢測的第二個版本開始,通過各種重復(fù)性的測試對軟件來說具有重要的意義,但是對于測試人員來說是很復(fù)雜的,所以需要節(jié)約時間進(jìn)行深入的測試,這也就是我們所說的自動化測試。
4.2了解自動化測試的對象
首先我們應(yīng)當(dāng)對測試對象進(jìn)行分析,獲得測試的自動化策略,因為測試的產(chǎn)品是嵌入式軟件產(chǎn)品,所以軟件具備實用性,因為許多軟件測試的時候需要利用到外界通訊,而且網(wǎng)絡(luò)的狀態(tài)會影響測試結(jié)果,所以在測試的時候應(yīng)當(dāng)運用良好的產(chǎn)品,這樣才能進(jìn)行自動化測試的時候不受到網(wǎng)絡(luò)環(huán)境的影響,而且測試的結(jié)果更具有針對性,通過這種自動化測試的方式有利于周期的縮短,也能夠?qū)崿F(xiàn)工作效率提升的目標(biāo)。
4.3使用何種自動化測試工具
測試軟件的時候要使用何種工具,在當(dāng)前使用的環(huán)境中有許多測試工具,但是這些測試工具一般是不實用的,而且有很復(fù)雜的制作時間,各種維護(hù)工作可能會增加工作量,并且軟件本身也存在一些問題,不能夠更好的判斷問題,我們需要根據(jù)軟件產(chǎn)品發(fā)展的需要,提出自動化測試工具的發(fā)展需求,需要做到以下幾點:
(1)設(shè)計比較簡單的工具軟件,這樣軟件的問題就會減少;(2)通過測試腳本進(jìn)行編寫,可以通過表格的形式進(jìn)行編輯;(3)輸入輸出的內(nèi)容需要符合實際;
4.4編輯自動化測試腳本
要使用自動化測試工具,就要更好的對腳本進(jìn)行編輯,腳本設(shè)計需要覆蓋測試項,這樣才能在編輯的時候能夠兼容許多的項目產(chǎn)品,出現(xiàn)新產(chǎn)品的時候也能夠繼承和修改,而且能夠減輕腳本維護(hù)的工作量,這樣腳本編輯的時候就具有操作性。
因為腳本不是通過專門的人員編輯的,許多的測試員都會參與編輯,如果腳本涉及的內(nèi)容太過復(fù)雜,可能會產(chǎn)生不一致的腳本,這是不利于進(jìn)行自動化測試的,所以在腳本進(jìn)行編輯的時候,必須要制定自動化測試的編輯規(guī)則,這樣才能更好更方便的查閱腳本,也能夠進(jìn)行腳本的維護(hù)。
4.5自動化測試的擴(kuò)展需求
使用的第一種測試工具可能會大大的減少重復(fù)的測試量,自動化測試具有非常大的便利性,但是我們需要不斷地擴(kuò)展自動化的測試范圍,首先要做好軟件性能方面的測試,通過組合各種測試步驟,這種情況是非常適用于自動化測試的,我們也能夠制定自動化測試策略,通過實際的情況選擇正確的文本文件,因為組合測試的內(nèi)容需要根據(jù)矩陣的功能進(jìn)行編輯,人們關(guān)心的是最終結(jié)果,而不是輸入和輸出,所以通過文本文件的方式進(jìn)行組合測試是非常有利的,所以軟件自動化測試對于我們來說非常適用,有利于提高測試的工作效率,也能夠進(jìn)行合理的使用。
軟件測試有利于提升軟件質(zhì)量也能夠更好地進(jìn)行成本控制,主要目標(biāo)就是通過測試用例的方式進(jìn)行系統(tǒng)的測試,最終可以檢查系統(tǒng)是否滿足需求,然后可以保證系統(tǒng)的質(zhì)量,軟件測試自動化的效率很高而且速度快,這是軟件測試發(fā)展的最終方向,本文對軟件測試自動化的意義以及軟件測試自動化的工具進(jìn)行了深刻的分析和討論,通過不同的測試方法和案例,使用最好的腳本技術(shù)有利于實現(xiàn)軟件測試的功能化,最終可以最大限度地提升軟件測試的效率
[1]王英龍,張偉,楊美紅.軟件測試技術(shù)[M].北京:清華大學(xué)出版社,2009.
[2]黃茂生.軟件自動化測試工具的評估與選擇[J].電子測試,2007(12):62-66.
[3]馬瑞芳,王會燃.計算機(jī)軟件測試方法的研究[J].小型微型計算機(jī)系統(tǒng),2003,23(4):2210-2213.
[4]王莉,殷鋒,李奇.軟件自動化測試腳本設(shè)計研究[J].西南民族大學(xué)學(xué)報:自然科學(xué)版,2005,15(2):357-360.
[5]梁博,許珊,徐欽愷. 測試有道——微軟測試技術(shù)心得 [M].北京:機(jī)械工業(yè)出版社,2009.
[6]李霽.軟件測試行業(yè)發(fā)展對策研究[J]. 軟件導(dǎo)刊,2007,10(3):35-36.