楊曉燕 宋彩霞


摘要:軟件測試是軟件開發生命周期中最重要的任務之一,它是保證軟件產品的質量、穩定性、可靠性的重要手段。軟件驗收測試的目的是確保系統正常工作并且確保應用程序能夠滿足客戶的需求。該文探討軟件驗收測試的策略,給出一個完整的軟件驗收測試流程。
關鍵詞:軟件驗收測試;驗收測試策略;測試流程
中圖分類號:TP311? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)34-0232-02
隨著時代和科技的不斷發展,在大數據背景下,軟件系統的多樣性、復雜性和規模不斷增加,出現了一個問題就是如何保證軟件產品的質量、穩定性、可靠性[1]。而解決這一問題的關鍵就是軟件測試。軟件測試是軟件開發生命周期中最重要的任務之一,很容易超過項目總工作量的一半。一個成功的測試方法可以節省大量的工作和提高產品質量,從而提高客戶滿意度和降低維護成本[2]。
1 軟件驗收測試的含義及目的
在軟件產品上進行的測試稱為軟件測試。軟件測試是一個過程,涉及,執行一個軟件程序并發現該程序中的所有錯誤或bugs, 使其最終是一個無缺陷的軟件[3]。任何軟件的質量都只能通過測試(軟件測試)來知道。具體來說,軟件測試可以用來檢查軟件是否:
l滿足設計階段提到的所有要求。
l為不同的輸入提供正確的輸出。
l能夠在規定的時間或可接受的時間內完成任務。
l能在不同的環境中運行。
在驗收和單元測試過程中,要認識到其特殊性,它是以驗證軟件正確性為主的檢測,而不是以發現當中的錯誤為主的檢測[3]。
2 軟件驗收測試策略
測試策略在整個測試過程中扮演了一個有趣的角色,因為它有機會定義和解釋測試活動。測試策略可以定義為描述軟件開發生命周期中的測試方法的大綱。它由各種各樣的軟件測試用例與設計方法組成。它們被開發成一系列適當的步驟,這些步驟將最終促使軟件測試的成功。軟件驗收測試策略主要由測試團隊、項目經理、功能測試團隊和軟件工程師開發。一般的測試策略如下:
(1)單元測試
單元測試是指在最低級別或非常細粒度級別進行的測試。IEEE將單元測試定義為“對單個軟件或硬件單元或相關單元組的測試,而不是完整的構建或系統測試”[2]。這些測試用于測試軟件應用程序的最基本單元,它可以是模塊、方法或組件。單元是基本模塊(可以測試的代碼行數最少)。這種方法用于持續的測試和修訂。通常,開發人員編寫這些測試并重構應用程序代碼,直到通過所有單元測試。
(2)集成測試
集成測試是指將兩個以上的模塊組合在一起并作為一個整體進行測試。集成測試在單元測試之后進行。這可以采用自頂向下和自底向上的測試方法來完成。集成測試的主要目標是驗證和查看當所有小模塊組合在一起時所有軟件模塊是如何工作的。這種測試是在大型結構和接口上進行的。
(3)系統測試
顧名思義,系統測試是指把整個系統作為一個單元來測試。系統測試是為了測試整個系統的質量。在這里,功能性和非功能性屬性,如可靠性、可維護性和安全性以及系統的需求規范起著非常重要的作用。所有的要求都要被檢查。如果測試在這里失敗,那么該系統將循環回到軟件開發生命周期,從頭開始執行。
3 完整的軟件驗收測試流程
軟件驗收測試流程,可以分為驗收測試準備、執行驗收測試、執行文檔檢查、產品移交4個過程,流程圖如圖1所示。
3.1 驗收測試準備
提交采購的軟件產品及技術文檔。輸入《需求規格說明書》、軟件產品(含源代碼)及技術文檔。乙方協助甲方1部署相關程序,并現場演示通過。如功能演示不通過,則退回乙方進行修改。
3.2 執行驗收測試
驗收測試工程師根據《需求規格說明書》,在《驗收測試報告》上編寫驗收測試用例,項目經理組織項目組人員或內外部專家對驗收測試用例進行審核,并根據審核意見對驗收測試用例進行修改,直至審核通過。
驗收測試工程師根據《需求規格說明書》,對交付的軟件產品或組件進行全面的驗收測試,以確保產品符合需求。如果驗收測試時發現工作成果存在缺陷,記錄進《驗收測試報告》并進行跟蹤,直至問題解決。驗收測試結束后,驗收測試工程師出具《驗收測試報告》。
3.3 執行文檔檢查
外包項目的文檔檢查可隨同驗收測試準備工作同步進行。項目經理組織項目組人員或內外部專家根據合同中確定的文檔列表和檢查標準,對供應商應當交付的成果進行檢查,確保這些成果是完整、正確、專業的。
此階段乙方需提供的工作產品如表1所示。
3.4 產品移交
驗收測試通過后,乙方將產品移交給甲方的同時,需要給甲方員工進行產品培訓。甲方的項目經理根據軟件產品的使用范圍及培訓內容組織項目組及相關人員參加培訓,乙方負責對培訓情況進行記錄。
驗收測試通過后,甲方根據合同中規定的試運行要求,組織開展項目的試運行工作(合同中無相關要求的除外)。項目進入試運行后,乙方負責試運行期間的運維保障工作,將試運行期間出現的問題進行紀錄。試運行沒有問題,進行產品移交。
4 結束語
交付高質量的軟件產品是任何項目的主要目標。這意味著測試在任何軟件產品的開發中都扮演著非常重要的角色。軟件的驗收測試工作中包含了多方面的內容。驗收前需要做測試準備,制定相應的計劃。按照驗收策略執行驗收過程,在驗收過程中執行文檔檢查。只有進行了全面的檢測,才能促使軟件的使用效果得到提升。
表1? 乙方提供的工作產品
[序號 階段產物 文檔名稱 1 項目計劃 外包項目開發計劃 2 需求 需求規格說明書(含非功能性需求) 3 設計 設計說明書 4 數據庫設計文檔 5 開發 系統程序源碼 系統程序源碼說明(含注釋) 6 驗收測試測試 項目驗收測試申請表 7 外包項目測試方案、測試報告、性能測試報告 8 用戶操作手冊 9 管理員操作手冊 10 部署 項目安裝、部署手冊 11 試運行 試運行報告 12 項目管理 項目周報 13 項目會議紀要 14 培訓 培訓材料 15 培訓記錄(培訓簽到表) ]
注釋:
1.本文中的甲方是客戶即是軟件使用者,乙方是軟件開發方。
參考文獻:
[1] 王京. 大數據背景下軟件測試技術研究[J]. 信息與電腦(理論版). 2018(7): 26-27.
[2] N. J, A. M-M, W. S. Guest Editors' Introduction: Software Testing Practices in Industry[J]. IEEE Software. 2006,23(4): 19-21.
[3] 焦安濤. 基于軟件的驗收測試工作[J]. 電腦迷. 2016(11): 26.
【通聯編輯:代影】