夏德俊
渤海大學工學院
?
軟件自動化測試系統的應用與分析
夏德俊
渤海大學工學院
在軟件的開發的時候必然要經過多次的代碼修改,可能需要不止進行一次某一項性能的測試,需要開展多次測試,在檢測的過程中可能會出現軟件缺陷,為了避免軟件缺陷的產生,需要對軟件項目開展多種測試用例,這種方式比手工測試來說更加具有效率,而且通過軟件自動化可以最大限度地解決問題。
軟件缺陷 測試用例 手工測試 自動化測試
軟件從開始發展到現在有幾十年的時間,但是其應用范圍已經從科研應用轉向到社會生活的各個方面,由于人們對軟件有著很強的依賴性,所以軟件對我們的生活產生了重要的影響,在2007年發生的奧運訂票網站不能登錄的問題,有上百萬人不能購票,大學生通過低買高賣的方式獲得了很大的利潤,這些新聞在網絡上有很多,要避免出現這樣的問題就要在軟件上線之前解決,這樣才能實現軟件質量的提升,因為軟件測試是軟件質量提升的重要保證,現在有許多軟件公司非常重視軟件測試,不斷地對軟件進行更新換代,軟件具有更多的功能模塊,這些都有利于軟件自動化測試擴展發展空間。
軟件自動化測試主要是通過自動化測試工具進行的,這種測試方式不是人工進行的,而且第二種測試方法主要是軟件的測試,包括測試的報告以及一般自動化測試的流程。
第一種測試需要自動化測試工具,在測試的過程中需要人為參與,這些測試工具包括有各種公司的軟件;第二種定義更加廣泛,他主要提出的是軟件,并不是自動化的測試工具,所以自動化測試不需要考慮自動化測試的不足,因為這種測試情況下的自動化是通過專門的公司開發的,他是公司根據測試的需要開發的,這種情況有利于通過先進的測試手段促進效率的提升。
在自動化測試的時候可能會涉及到許多的流程,包括測試體系以及測試的系統,要做好測試的自動化這才是公司當前要著重解決的問題,公司不僅需要提供各種資金以及管理上的支持,而且要通過專門的測試團隊獲得測試過程以及體系,對于手工測試系統而言,這種測試工具覆蓋范圍更廣,這些測試通過手工是不能完成的,因為在自動化過程中具有重要的屬性,公司不僅要提供各種資金以及管理支持,還要通過各種專門的測試團隊建立測試的流程和體系,相對于手工測試系統來說,自動化測試工具具有更高的覆蓋范圍,需要通過大量的測試,這些測試通過手工是不容易完成的,自動化測試的過程中具有非常重要的屬性:
(1)速度。手工測試進行測試的時候,可能會要花費很長的時間,可能5秒鐘執行的測試用手工需要花費10倍乃至百倍的時間。
(2)效率。測試人員如果要做好測試用例,他可能不會開展其他工作,因為減少測試工具可能會縮短測試用例的時間,從而沒有更多的時間執行測試計劃。
(3)準確度和精確度。測試人員執行測試用例后,可能會出現注意力分散以及犯錯誤的情況,所以測試人員需要一如既往地執行測試,這樣才能避免出現測試的問題。
(4)節約資源。要節約資源就要更好的開展測試用例,一些相關的人物對真實的情況進行模擬,這樣才能最大限度地減少測試需要的物理資源和時間。
(5)仿真和模擬。測試工具需要和產品連接的硬件和軟件,這樣才能更好的驅動軟件,但是在實踐起來可能會存在問題。
3.1自動化測試系統框架設計
自動化測試的過程中,需要關注以下關鍵要素,如表 1 所示。

表1 自動化測試關鍵要素
通過這些關鍵要素及測試的機制,我們可以獲得測試的準確框架,如圖1所示,通過業務規則以及測試腳本語言可以進行軟件測試。

圖1 自動化測試系統框架
3.2 自動化測試腳本選擇
自動化測試,包括測試工具中的各種數據和指令,包括對信息的同步以及比較,對數據的存放以及信息的控制,腳本語言和使用的工具有密切的關系,好的腳本可以滿足測試的需求,所以好的腳本應當具有良好的可靠性,也能夠維護,應當遵循以下的標準:
注釋:提供用戶和管理者幫助。
功能:執行任務可以復制腳本,目的比較單一。
結構;容易進行維護和理解。
支持:可以給用戶提供比較清晰以及簡潔的文檔。
每個腳本在使用的過程中都有各自的優點,在腳本進行測試的過程中會花費很長時間,我們需要根據具體的測試用例,對腳本技術進行分析,這樣才能獲得更好的測試用例。
3.3自動化測試的實施
通過正確的測試方法和自動化工具,有利于進行軟件腳本的編寫,通過多樣化的測試用例,通過腳本運行就可以獲得測試用例,而且這種用秘盒手工測試的效果是一樣的,通過制定日志以及跟蹤等方式,有利于更好地進行自動化測試,通過科學的測試流程以及規范可以有效的控制流程,并且可以控制整個產品的測試周期,最終可以實現產品質量的提升。
4.1使用自動化測試的原因
自動化測試具有深刻的原因,因為軟件版本需要升級,升級就需要進行檢測,在軟件檢測的第二個版本開始,通過各種重復性的測試對軟件來說具有重要的意義,但是對于測試人員來說是很復雜的,所以需要節約時間進行深入的測試,這也就是我們所說的自動化測試。
4.2了解自動化測試的對象
首先我們應當對測試對象進行分析,獲得測試的自動化策略,因為測試的產品是嵌入式軟件產品,所以軟件具備實用性,因為許多軟件測試的時候需要利用到外界通訊,而且網絡的狀態會影響測試結果,所以在測試的時候應當運用良好的產品,這樣才能進行自動化測試的時候不受到網絡環境的影響,而且測試的結果更具有針對性,通過這種自動化測試的方式有利于周期的縮短,也能夠實現工作效率提升的目標。
4.3使用何種自動化測試工具
測試軟件的時候要使用何種工具,在當前使用的環境中有許多測試工具,但是這些測試工具一般是不實用的,而且有很復雜的制作時間,各種維護工作可能會增加工作量,并且軟件本身也存在一些問題,不能夠更好的判斷問題,我們需要根據軟件產品發展的需要,提出自動化測試工具的發展需求,需要做到以下幾點:
(1)設計比較簡單的工具軟件,這樣軟件的問題就會減少;(2)通過測試腳本進行編寫,可以通過表格的形式進行編輯;(3)輸入輸出的內容需要符合實際;
4.4編輯自動化測試腳本
要使用自動化測試工具,就要更好的對腳本進行編輯,腳本設計需要覆蓋測試項,這樣才能在編輯的時候能夠兼容許多的項目產品,出現新產品的時候也能夠繼承和修改,而且能夠減輕腳本維護的工作量,這樣腳本編輯的時候就具有操作性。
因為腳本不是通過專門的人員編輯的,許多的測試員都會參與編輯,如果腳本涉及的內容太過復雜,可能會產生不一致的腳本,這是不利于進行自動化測試的,所以在腳本進行編輯的時候,必須要制定自動化測試的編輯規則,這樣才能更好更方便的查閱腳本,也能夠進行腳本的維護。
4.5自動化測試的擴展需求
使用的第一種測試工具可能會大大的減少重復的測試量,自動化測試具有非常大的便利性,但是我們需要不斷地擴展自動化的測試范圍,首先要做好軟件性能方面的測試,通過組合各種測試步驟,這種情況是非常適用于自動化測試的,我們也能夠制定自動化測試策略,通過實際的情況選擇正確的文本文件,因為組合測試的內容需要根據矩陣的功能進行編輯,人們關心的是最終結果,而不是輸入和輸出,所以通過文本文件的方式進行組合測試是非常有利的,所以軟件自動化測試對于我們來說非常適用,有利于提高測試的工作效率,也能夠進行合理的使用。
軟件測試有利于提升軟件質量也能夠更好地進行成本控制,主要目標就是通過測試用例的方式進行系統的測試,最終可以檢查系統是否滿足需求,然后可以保證系統的質量,軟件測試自動化的效率很高而且速度快,這是軟件測試發展的最終方向,本文對軟件測試自動化的意義以及軟件測試自動化的工具進行了深刻的分析和討論,通過不同的測試方法和案例,使用最好的腳本技術有利于實現軟件測試的功能化,最終可以最大限度地提升軟件測試的效率
[1]王英龍,張偉,楊美紅.軟件測試技術[M].北京:清華大學出版社,2009.
[2]黃茂生.軟件自動化測試工具的評估與選擇[J].電子測試,2007(12):62-66.
[3]馬瑞芳,王會燃.計算機軟件測試方法的研究[J].小型微型計算機系統,2003,23(4):2210-2213.
[4]王莉,殷鋒,李奇.軟件自動化測試腳本設計研究[J].西南民族大學學報:自然科學版,2005,15(2):357-360.
[5]梁博,許珊,徐欽愷. 測試有道——微軟測試技術心得 [M].北京:機械工業出版社,2009.
[6]李霽.軟件測試行業發展對策研究[J]. 軟件導刊,2007,10(3):35-36.