軟體項目的用戶驗收測試

  • 2019 年 12 月 12 日
  • 筆記

來源:http://www.ltesting.net

 隨著當今技術和市場環境的變化,越來越多的企業選擇將軟體項目外包,同時也有更多成熟的大型軟體企業加入到軟體項目的承包隊伍中。外包的軟體項目越來越多,如何對這些外包的項目進行驗收測試日益成為企業的一個關鍵問題。

  用戶驗收測試的總體思路

  用戶驗收測試是軟體開發結束後,用戶對軟體產品投入實際應用以前進行的最後一次品質檢驗活動。它要回答開發的軟體產品是否符合預期的各項要求,以及用戶能否接受的問題。由於它不只是檢驗軟體某個方面的品質,而是要進行全面的品質檢驗,並且要決定軟體是否合格,因此驗收測試是一項嚴格的正式測試活動。需要根據事先制訂的計劃,進行軟體配置評審、功能測試、性能測試等多方面檢測。

  用戶驗收測試可以分為兩個大的部分:軟體配置審核和可執行程式測試,其大致順序可分為:文檔審核、源程式碼審核、配置腳本審核、測試程式或腳本審核、可執行程式測試。

  要注意的是,在開發方將軟體提交用戶方進行驗收測試之前,必須保證開發方本身已經對軟體的各方面進行了足夠的正式測試(當然,這裡的「足夠」,本身是很難準確定量的)。

  用戶在按照合約接收並清點開發方的提交物時(包括以前已經提交的),要查看開發方提供的各種審核報告和測試報告內容是否齊全,再加上平時對開發方工作情況的了解,基本可以初步判斷開發方是否已經進行了足夠的正式測試。

  用戶驗收測試的每一個相對獨立的部分,都應該有目標(本步驟的目的)、啟動標準(著手本步驟必須滿足的條件)、活動(構成本步驟的具體活動)、完成標準(完成本步驟要滿足的條件)和度量(應該收集的產品與過程數據)。在實際驗收測試過程中,收集度量數據,不是一件容易的事情。

  軟體配置審核

  對於一個外包的軟體項目而言,軟體承包方通常要提供如下相關的軟體配置內容:

  可執行程式、源程式、配置腳本、測試程式或腳本。

  主要的開發類文檔:《需求分析說明書》、《概要設計說明書》、《詳細設計說明書》、《資料庫設計說明書》、《測試計劃》、《測試報告》、《程式維護手冊》、《程式設計師開發手冊》、《用戶操作手冊》、《項目總結報告》。

  主要的管理類文檔:《項目計劃書》、《品質控制計劃》、《配置管理計劃》、《用戶培訓計劃》、《品質總結報告》、《評審報告》、《會議記錄》、《開發進度月報》。

  在開發類文檔中,容易被忽視的文檔有《程式維護手冊》和《程式設計師開發手冊》。

  《程式維護手冊》的主要內容包括:系統說明(包括程式說明)、操作環境、維護過程、源程式碼清單等,編寫目的是為將來的維護、修改和再次開發工作提供有用的技術資訊。

  《程式設計師開發手冊》的主要內容包括:系統目標、開發環境使用說明、測試環境使用說明、編碼規範及相應的流程等,實際上就是程式設計師的培訓手冊。

  不同大小的項目,都必須具備上述的文檔內容,只是可以根據實際情況進行重新組織。

  對上述的提交物,最好在合約中規定階段提交的時機,以免發生糾紛。

  通常,正式的審核過程分為5個步驟:計劃、預備會議(可選)、準備階段、審核會議和問題追蹤。預備會議是對審核內容進行介紹並討論。準備階段就是各責任人事先審核並記錄發現的問題。審核會議是最終確定工作產品中包含的錯誤和缺陷。

  審核要達到的基本目標是:根據共同制定的審核表,儘可能地發現被審核內容中存在的問題,並最終得到解決。在根據相應的審核表進行文檔審核和源程式碼審核時,還要注意文檔與源程式碼的一致性。

  在實際的驗收測試執行過程中,常常會發現文檔審核是最難的工作,一方面由於市場需求等方面的壓力使這項工作常常被弱化或推遲,造成持續時間變長,加大文檔審核的難度;另一方面,文檔審核中不易把握的地方非常多,每個項目都有一些特別的地方,而且也很難找到可用的參考資料。

  可執行程式的測試

  在文檔審核、源程式碼審核、配置腳本審核、測試程式或腳本審核都順利完成,就可以進行驗收測試的最後一個步驟——可執行程式的測試,它包括功能、性能等方面的測試,每種測試也都包括目標、啟動標準、活動、完成標準和度量等五部分。 要注意的是不能直接使用開發方提供的可執行程式用於測試,而要按照開發方提供的編譯步驟,從源程式碼重新生成可執行程式。 在真正進行用戶驗收測試

  要注意的是不能直接使用開發方提供的可執行程式用於測試,而要按照開發方提供的編譯步驟,從源程式碼重新生成可執行程式。

  在真正進行用戶驗收測試之前一般應該已經完成了以下工作(也可以根據實際情況有選擇地採用或增加):

  軟體開發已經完成,並全部解決了已知的軟體缺陷。

  驗收測試計劃已經過評審並批准,並且置於文檔控制之下。

  對軟體需求說明書的審查已經完成。

  對概要設計、詳細設計的審查已經完成。

  對所有關鍵模組的程式碼審查已經完成。

  對單元、集成、系統測試計劃和報告的審查已經完成。

  所有的測試腳本已完成,並至少執行過一次,且通過評審。

  使用配置管理工具且程式碼置於配置控制之下。

  軟體問題處理流程已經就緒。

  已經制定、評審並批准驗收測試完成標準。

  具體的測試內容通常可以包括:安裝(升級)、啟動與關機、功能測試(正例、重要演算法、邊界、時序、反例、錯誤處理)、性能測試(正常的負載、容量變化)、壓力測試(臨界的負載、容量變化)、配置測試、平台測試、安全性測試、恢複測試(在出現掉電、硬體故障或切換、網路故障等情況時,系統是否能夠正常運行)、可靠性測試等。

  性能測試和壓力測試一般情況下是在一起進行,通常還需要輔助工具的支援。在進行性能測試和壓力測試時,測試範圍必須限定在那些使用頻度高的和時間要求苛刻的軟體功能子集中。由於開發方已經事先進行過性能測試和壓力測試,因此可以直接使用開發方的輔助工具。也可以通過購買或自己開發來獲得輔助工具。具體的測試方法可以參考相關的軟體工程書籍。

  如果執行了所有的測試案例、測試程式或腳本,用戶驗收測試中發現的所有軟體問題都已解決,而且所有的軟體配置均已更新和審核,可以反映出軟體在用戶驗收測試中所發生的變化,用戶驗收測試就完成了。

星雲測試

http://www.teststars.cc

奇林軟體

http://www.kylinpet.com

聯合通測

http://www.quicktesting.net