複製鏈接
請複製以下鏈接發送給好友

工廠驗收測試

鎖定
工廠驗收測試是部署軟件之前的最後一個測試操作。工廠驗收測試的目的是確保軟件準備就緒,並且可以讓最終用户將其用於執行軟件的既定功能和任務。工廠驗收測試是向未來的用户表明系統能夠像預定要求那樣工作。經集成測試後,已經按照設計把所有的模塊組裝成一個完整的軟件系統,接口錯誤也已經基本排除了,接着就應該進一步驗證軟件的有效性,這就是工廠驗收測試的任務,即軟件的功能和性能如同用户所合理期待的那樣。通過綜合測試之後,軟件已完全組裝起來,接口方面的錯誤也已排除,軟件測試的最後一步——工廠驗收測試即可開始。工廠驗收測試應檢查軟件能否按合同要求進行工作,即是否滿足軟件需求説明書中的確認標準。
中文名
工廠驗收測試
外文名
The factory acceptance test
特    點
工廠驗收測試
實    質
部署軟件之前的最後一個測試操作

工廠驗收測試標準

實現軟件確認要通過一系列墨盒測試。驗收測試同樣需要制訂測試計劃和過程,測試計劃應規定測試的種類和測試進度,測試過程則定義一些特殊的測試用例,旨在説明軟件與需求是否一致。無論是計劃還是過程,都應該着重考慮軟件是否滿足合同規定的所有功能和性能,文檔資料是否完整、準確人機界面和其他方面(例如,可移植性、兼容性、錯誤恢復能力和可維護性等)是否令用户滿意。驗收測試的結果有兩種可能,一種是功能和性能指標滿足軟件需求説明的要求,用户可以接受;另一種是軟件不滿足軟件需求説明的要求,用户無法接受。項目進行到這個階段才發現嚴重錯誤和偏差一般很難在預定的工期內改正,因此必須與用户協商,尋求一個妥善解決問題的方法。

工廠驗收測試配置複審

驗收測試的另一個重要環節是配置複審。複審的目的在於保證軟件配置齊全、分類有序,並且包括軟件維護所必須的細節。

工廠驗收測試α、β測試

事實上,軟件開發人員不可能完全預見用户實際使用程序的情況。例如,用户可能錯誤的理解命令,或提供一些奇怪的數據組合,亦可能對設計者自認明瞭的輸出信息迷惑不解,等等。因此,軟件是否真正滿足最終用户的要求,應由用户進行一系列“驗收測試”。驗收測試既可以是非正式的測試,也可以有計劃、有系統的測試。有時,驗收測試長達數週甚至數月,不斷暴露錯誤,導致開發延期。一個軟件產品,可能擁有眾多用户,不可能由每個用户驗收,此時多采用稱為α、β測試的過程,以期發現那些似乎只有最終用户才能發現的問題。α測試是指軟件開發公司組織內部人員模擬各類用户行對即將面市軟件產品(稱為α版本)進行測試,試圖發現錯誤並修正。α測試的關鍵在於儘可能逼真地模擬實際運行環境和用户對軟件產品的操作並盡最大努力涵蓋所有可能的用户操作方式。經過α測試調整的軟件產品稱為β版本。緊隨其後的β測試是指軟件開發公司組織各方面的典型用户在日常工作中實際使用β版本,並要求用户報告異常情況、提出批評意見。然後軟件開發公司再對β版本進行改錯和完善。一般包括功能度、安全可靠性、易用性、可擴充性、兼容性、效率、資源佔用率、用户文檔八個方面。

工廠驗收測試常用策略

施驗收測試的常用策略有三種,它們分別是:正式驗收,非正式驗收或Alpha測試Beta測試
正式驗收測試: 正式驗收測試是一項管理嚴格的過程,它通常是系統測試的延續。計劃和設計這些測試的周密和詳細程度不亞於系統測試。選擇的測試用例應該是系統測試中所執行測試用例的子集。不要偏離所選擇的測試用例方向,這一點很重要。在很多組織中,正式驗收測試是完全自動執行的。
對於系統測試,活動和工件是一樣的。在某些組織中,開發組織(或其獨立的測試小組)與最終用户組織的代表一起執行驗收測試。在其他組織中,驗收測試則完全由最終用户組織執行,或者由最終用户組織選擇人員組成一個客觀公正的小組來執行。
這種測試形式的優點是:
要測試的功能和特性都是已知的。
測試的細節是已知的並且可以對其進行評測。
這種測試可以自動執行,支持迴歸測試
可以對測試過程進行評測和監測。
可接受性標準是已知的。
缺點包括:
要求大量的資源和計劃。
這些測試可能是系統測試的再次實施。
可能無法發現軟件中由於主觀原因造成的缺陷,這是因為只查找預期要發現的缺陷。
非正式驗收測試: 在非正式驗收測試中,執行測試過程的限定不象正式驗收測試中那樣嚴格。在此測試中,確定並記錄要研究的功能和業務任務,但沒有可以遵循的特定測試用例。測試內容由各測試員決定。這種驗收測試方法不象正式驗收測試那樣組織有序,而且更為主觀。大多數情況下,非正式驗收測試是由最終用户組織執行的。
這種測試形式的優點是:
要測試的功能和特性都是已知的。
可以對測試過程進行評測和監測。
可接受性標準是已知的。
與正式驗收測試相比,可以發現更多由於主觀原因造成的缺陷。
缺點包括
要求資源、計劃和管理資源。
無法控制所使用的測試用例。
最終用户可能沿用系統工作的方式,並可能無法發現缺陷。
用於驗收測試的資源不受項目的控制,並且可能受到壓縮。
Beta測試:在以上三種驗收測試策略中,Beta測試需要的控制是最少的。在Beta測試中,採用的細節多少、數據和方法完全由各測試員決定。各測試員負責創建自己的環境、選擇數據,並決定要研究的功能、特性或任務。各測試員負責確定自己對於系統當前狀態的接受標準。Beta測試由最終用户實施,通常開發(或其他非最終用户)組織對其的管理很少或不進行管理。Beta測試是所有驗收測試策略中最主觀的。
這種測試形式的優點是:
測試由最終用户實施。
大量的潛在測試資源。
提高客户對參與人員的滿意程度。
與正式或非正式驗收測試相比,可以發現更多由於主觀原因造成的缺陷。
缺點包括:
未對所有功能和/或特性進行測試。
測試流程難以評測。
最終用户可能沿用系統工作的方式,並可能沒有發現或沒有報告缺陷。
最終用户可能專注於比較新系統與遺留系統,而不是專注於查找缺陷。
用於驗收測試的資源不受項目的控制,並且可能受到壓縮。
可接受性標準是未知的。
您需要更多輔助性資源來管理Beta測試員。

工廠驗收測試過程

1.軟件需求分析:瞭解軟件功能和性能要求、軟硬件環境要求等,並特別要了解軟件的質量要求和驗收要求。
2.編制《驗收測試計劃》和《項目驗收準則》:根據軟件需求和驗收要求編制測試計劃,制定需測試的測試項,制定測試策略及驗收通過準則,並經過客户參與的計劃評審。
3.測試設計和測試用例設計:根據《驗收測試計劃》和《項目驗收準則》編制測試用例,並經過評審。
4.測試環境搭建:建立測試的硬件環境、軟件環境等。(可在委託客户提供的環境中進行測試)
5.測試實施:測試並記錄測試結果。
6.測試結果分析:根據驗收通過準則分析測試結果,作出驗收是否通過及測試評價。
7.測試報告:根據測試結果編制缺陷報告和驗收測試報告,並提交給客户

工廠驗收測試總體思路

用户驗收測試是軟件開發結束後,用户對軟件產品投入實際應用以前進行的最後一次質量檢驗活動。它要回答開發的軟件產品是否符合預期的各項要求,以及用户能否接受的問題。由於它不只是檢驗軟件某個方面的質量,而是要進行全面的質量檢驗,並且要決定軟件是否合格,因此驗收測試是一項嚴格的正式測試活動。需要根據事先制訂的計劃,進行軟件配置評審、功能測試、性能測試等多方面檢測。
用户驗收測試可以分為兩個大的部分:軟件配置審核和可執行程序測試,其大致順序可分為:文檔審核、源代碼審核、配置腳本審核、測試程序或腳本審核、可執行程序測試。
要注意的是,在開發方將軟件提交用户方進行驗收測試之前,必須保證開發方本身已經對軟件的各方面進行了足夠的正式測試(當然,這裏的“足夠”,本身是很難準確定量的)。用户在按照合同接收並清點開發方的提交物時(包括以前已經提交的),要查看開發方提供的各種審核報告和測試報告內容是否齊全,再加上平時對開發方工作情況的瞭解,基本可以初步判斷開發方是否已經進行了足夠的正式測試。用户驗收測試的每一個相對獨立的部分,都應該有目標(本步驟的目的)、啓動標準(着手本步驟必須滿足的條件)、活動(構成本步驟的具體活動)、完成標準(完成本步驟要滿足的條件)和度量(應該收集的產品與過程數據)。在實際驗收測試過程中,收集度量數據,不是一件容易的事情。

工廠驗收測試軟件配置審核

對於一個外包的軟件項目而言,軟件承包方通常要提供如下相關的軟件配置內容:可執行程序、源程序、配置腳本、測試程序或腳本。
主要的開發類文檔:《需求分析説明書》、《概要設計説明書》、《詳細設計説明書》、《數據庫設計説明書》、《測試計劃》、《測試報告》、《程序維護手冊》、《程序員開發手冊》、《用户操作手冊》、《項目總結報告》。
主要的管理類文檔:《項目計劃書》、《質量控制計劃》、《配置管理計劃》、《用户培訓計劃》、《質量總結報告》、《評審報告》、《會議記錄》、《開發進度月報》。
在開發類文檔中,容易被忽視的文檔有《程序維護手冊》和《程序員開發手冊》。
《程序維護手冊》的主要內容包括:系統説明(包括程序説明)、操作環境、維護過程、源代碼清單等,編寫目的是為將來的維護、修改和再次開發工作提供有用的技術信息。
《程序員開發手冊》的主要內容包括:系統目標、開發環境使用説明、測試環境使用説明、編碼規範及相應的流程等,實際上就是程序員的培訓手冊。
不同大小的項目,都必須具備上述的文檔內容,只是可以根據實際情況進行重新組織。
對上述的提交物,最好在合同中規定階段提交的時機,以免發生糾紛。