如果軟件是為多個用戶開發的產品的時侯,讓每個用戶逐個執行正式的驗收測試是不切實際的。很多軟件產品生產者采用一種稱之為α測試和β測試的測試方法,以發現可能只有最終用戶才能發現的錯誤。
α測試是由一個用戶在開發環境下進行的測試,也可以是公司內部的用戶在仿真實際操作環境下進行的測試。這是在受控制的環境下進行的測試。α測試的目的是評價軟件產品的FURPS(即功能、可使用性、可靠性、性能和支持)。尤其注重產品的接口和特色。α測試人員是除開產品開發人員之外首先見到產品的人,他們提出的功能和修改意見是特別有價值的。α測試可以從軟件產品編碼結束之時開始,或在模塊(子系統)測試完成之后開始,也可以在確認測試過程中產品達到一定的穩定和可靠程度之后再開始。有關的手冊(草稿)等應事先準備好。
β測試是由軟件的多個用戶在一個或多個用戶的實際使用環境下進行的測試。與α測試不同的是,開發者通常不在測試現場。因而,β測試是在開發者無法控制的環境下進行的軟件現場應用。在β測試中,由用戶記下遇到的所有問題,包括真實的以及主觀認定的,定期向開發者報告,開發者在綜合用戶的報告之后,做出修改,最后將軟件產品交付給全體用戶使用。β測試主要衡量產品的 FURPS。著重于產品的支持性,包括文檔、客戶培訓和支持產品生產能力。只有當α測試達到一定的可靠程度時,才能開始β測試。由于它處在整個測試的最后階段,不能指望這時發現主要問題。同時,產品的所有手冊文本也應該在此階段完全定稿。由于β測試的主要目標是測試可支持性,所以β測試應盡可能由主持產品發行的人員來管理。
3.4系統測試
所謂系統測試,是將通過確認測試的軟件,作為整個基于計算機系統的一個元素,與計算機硬件、外設、某些支持軟件、數據和人員等其它系統元素結合在一起,在實際運行(使用)環境下,對計算機系統進行一系列的組裝測試和確認測試。
系統測試的目的在于通過與系統的需求定義作比較,發現軟件與系統定義不符合或與之矛盾的地方。系統測試的測試用例應根據需求分析規格說明來設計,并在實際使用環境下來運行。
4. 測試用例設計
4.1測試方法概述
?、?黑盒測試
根據軟件產品的功能設計規格,在計算機上進行測試,以證實每個實現了的功能是否符合要求。這種測試方法就是黑盒測試。黑盒測試意味著測試要在軟件的接口處進行。就是說,這種方法是把測試對象看做一個黑盒子,測試人員完全不考慮程序內部的邏輯結構和內部特性,只依據程序的需求分析規格說明,檢查程序的功能是否符合它的功能說明。
用黑盒測試發現程序中的錯誤,必須在所有可能的輸入條件和輸出條件中確定測試數據,來檢查程序是否都能產生正確的輸出。
?、?白盒測試
根據軟件產品的內部工作過程,在計算機上進行測試,以證實每種內部操作是否符合設計規格要求,所有內部成分是否已經過檢查。這種測試方法就是白盒測試。白盒測試把測試對象看做一個打開的盒子,允許測試人員利用程序內部的邏輯結構及有關信息,設計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序的狀態,確定實際的狀態是否與預期的狀態一致。
不論黑盒測試,還是白盒測試,都不可能進行所謂的窮舉測試。任何軟件開發項目都要受到期限、費用、人力和機時等條件的限制,為了節省時間和資源,提高測試效率,就必須要從數量極大的可用測試用例中精心地挑選少量的測試數據,使得采用這些測試數據能夠達到最佳的測試效果,能夠高效率地把隱藏的錯誤揭露出來。
?、刍陲L險的測試
基于風險的測試是指評估測試的優先級,先做高優先級的測試,如果時間或精力不夠,低優先級的測試可以暫時先不做。如圖5 ,橫軸代表影響,豎軸代表概率,根據一個軟件的特點來確定:如果一個功能出了問題,它對整個產品的影響有多大,這個功能出問題的概率有多大?如果出問題的概率很大,出了問題對整個產品的影響也很大,那么在測試時就一定要覆蓋到。對于一個用戶很少用到的功能,出問題的概率很小,就算出了問題的影響也不是很大,那么如果時間比較緊的話,就可以考慮不測試。
原文轉自:http://www.uml.org.cn/Test/201511262.asp