摘要:在軟件開發中,軟件測試是非常重要的組成環節,其對保障軟件質量起到重要作用。本文從自動化測試技術概念、選取自動化測試框架、生成自動化測試用例方面深入探究了自動化軟件測試技術,旨在為自動化測試實施提供過程性參考。
關鍵詞:軟件;自動化測試技術;框架
中圖分類號:TP311.52文獻標識碼:A文章編號:1674-7712 (2014) 08-0000-01
在軟件規模日趨擴大的今天,軟件測試成本也大幅度提升。在軟件開發全過程中,積極引入軟件自動化測試技術,一方面能大幅度降低軟件開發周期,提高軟件測試的精準度與可信度,一方面還能提升測試的可靠性與穩定性能。
一、軟件測試與自動化概念
軟件測試指的是通過自動或人工方式測定、運行某一軟件系統,檢驗實際結果與預期結果間的差異,檢驗其是否滿足標準需求。(1)軟件測試是發現、執行錯誤的過程。(2)測試為了檢驗程序錯誤。(3)好的測試用例能夠發現隱藏的錯誤。(4)成功測試是發現至今沒有發現的錯誤。
自動化測試是相比于手工測試方式來講的,可以將其理解成為通過編寫一個通用的自動化軟件來測試其它軟件的缺陷。在具體測試過程中,為了進一步提高測試的可重復性與有效性,必須進行自動化測試。目標環境、預算、測試目標、開發類型等綜合決定了自動化程度,可維護性、高效性、可靠性、兼容性、可用性、可移植性是良好自動測試體系的主要特點。通過測試自動化,能顯著降低測試成本,有效提高測試效果。相比于手工測試,自動化測試可以更快地發現軟件缺陷。可以說,自動化測試是未來軟件測試的主要發展方向。
二、選取自動化測試框架
自動化測試框架直接影響軟件測試成功率。現階段,應用較為廣泛的有四種框架。(1)數據驅動。從輸入數據開始讀取,在變量參數化影響下,將數據傳導腳本中。不同文件有不同測試用例。這種框架將數據與腳本分離,將數據存儲于數據文件中。以數據驅動腳本方式,大大提高了腳本的維護性與重復性。但是,初始建立成本大,維護成本比較高。(2)測試腳本模塊。框架結構如圖1所示,箭頭為調用關系。開發人員須全面掌握業務邏輯與自動化編程。一旦業務邏輯與控件發生變化,就需要維護與修改底層測試腳本。業務邏輯與空間分屬不同領域,抽象封裝存在缺點。所有變更帶來的工作量,幾乎都由自動化測試工程師完成。(3)測試庫構架。框架結構如圖2所示,這種測試框架不管是哪一層發生變化,所需要的維護、變更工作交給相應工作人員就可以,能夠從本質上實現業務邏輯與控件識別的抽象分離。與測試腳本模塊類似,所有變更帶來的工作量,幾乎都有自動化測試工程師完成。(4)關鍵詞驅動。作為數據驅動的改進類型——關鍵詞驅動,需要進行關鍵詞表格定義。一般在文件、數據庫中存儲關鍵詞表格。分離腳本與數據,分離測試內部對象名與界面元素。在這種測試框架下,在同一數據表中就可以完成編寫測試步驟,編寫測試數據,編寫驗證結果等任務。
圖1測試腳本模塊
圖2測試庫構架
三、生成自動化測試用例
在軟件自動化測試過程中,用例是非常關鍵的環節。優秀的測試用例,能夠在很大程度上決定測試是否成功。在設計用例過程中,必須滿足兩個要求:(1)選擇操作過程相似的測試需求,進行用例場景組合,通過用例結構更好的指導腳本結構。(2)一個場景不能包括太多用例,如果一個場景包括的用例比較多,可以對場景進行分拆。
(一)用例要素
在進行自動化用例測試過程中,必須保證以下元素齊全:(1)測試目標。(2)前提條件。(3)環境要求。(4)測試類別。(5)永利標識。(6)操作ID。(7)操作描述。(8)操作路徑。(9)輸入數據與期望結果。與此同時,在編寫完成之后必須判斷校驗必填元素,從而保障自動測試執行的有效性。
第一,唯一識別。設計測試用例,必須保障測試用例名稱可唯一識別一用例,比如說,注冊新用戶。自動測試底層,經常應用ID添加方式控制用例。在界面上,則通過信息提示等方式控制。第二,任何測試均存在一定前提。一般來說,一測試用例是執行另一用例的基礎。在登陸操作前,需要用戶進行注冊操作。因此,用戶注冊成為新用戶登陸前提。第三,建立前置關聯。在測試用例庫中保存著測試用例,因此,要讓計算機知曉在執行一用例前應先執行另一用例,就需要建立兩者之間的關系。第四,在具體自動化操作中,具體操作過程分為三個關鍵詞段:(1)操作步驟(用戶實際操作順序)。(2)控件。(3)數據(控件上面填寫的具體內容)。
(二)用例粒度
自動化測試過程中,由多方面因素與用例粒度密切相關。比如說,用戶要求,時間因素,項目質量等等。現階段,在軟件測試界還未對其進行統一界定。用例粒度與用例模型復雜性之間存在正比例關系,粒度決定復雜度,并決定用例內部的復雜性。在自動化測試中,需要結合實際情況準確掌握不同層次間的復雜性。在保障用例模型容易理解的基礎上,選擇用例數目與大小。再設計用例粒度過程中,應注意以下幾個方面:(1)一個用例不能校驗多個功能點,必須保障所有用例驗證的單一性。(2)用例步驟設計過程中,不能包括步驟間的跳轉操作,單個用例盡量最小化,簡單化。
四、結束語
綜上所述,軟件測試作為軟件開發、軟件質量保障的重要手段,在項目全過程開發中,必須加強對開發軟件的持續性測試,從而保障軟件健康運行。
參考文獻:
[1]陳彥卓.測試駛入快車道——軟件自動化測試工具選型[J].中國計算機報,2005(11).
[作者簡介]陳克浚(1979.03-),女,杭州蕭山人,中級職稱,研究方向:計算機。