官术网_书友最值得收藏!

2.1.3 軟件測試的風險觀點

測試被定義為對軟件系統中潛在的各種風險進行評估的活動,這是軟件測試的風險觀點。一方面,軟件測試自身的風險性是人們公認的,測試的覆蓋率不能達到100%;另一方面,軟件測試的標準有時不清楚,軟件規格說明書雖然是測試中的一個標準,但不是唯一的標準。因為規格說明書本身的內容完全有可能是錯誤的,它所定義的功能特性不是用戶所需要的。所以,我們常常強調軟件測試人員應該站在客戶的角度進行測試,除了發現程序中的錯誤,還要發現需求定義的錯誤、規格說明書設計的缺陷。但是,測試在大多數時間/情況下是由工程師完成的,而不是客戶自己來做的,所以又怎么能保證工程師和客戶想的一樣呢?

有人把開發比作打靶,目標明確,就是按照規格說明書去實現系統的功能。而把測試比作撈魚,目標不明確,自己判斷哪些地方魚多,就去哪些地方撈。如果只撈大魚(嚴重缺陷),網眼就可以大些,撒網區域相對比較集中(測試點集中在主要功能上)。如果想把大大小小的魚都撈上來,網眼就要小,普遍撒網,不放過任何一塊區域(測試點遍及所有功能)。

在“風險”觀點的框架下,軟件測試可以看作是一個動態的監控過程,對軟件開發全過程進行測試,隨時發現不健康的征兆,發現問題后報告問題,并重新評估新的風險,設置新的監控基準,不斷地持續下去。軟件測試包括回歸測試。這時,軟件測試完全可以看作是控制軟件質量的過程。

按照這種觀點,可以制定基于風險的測試策略,首先要評估測試的風險,每個功能出問題的概率有多大?根據Pareto原則(也叫80/20原則),哪些功能是用戶最常用的功能(約占20%)?如果某個功能出問題,對用戶的影響又有多大?然后,根據風險大小確定測試的優先級。優先級高的功能特性,測試優先得到執行。一般來講,高優先級功能(用戶最常用的功能,約占20%)的測試會得到完全的、充分的執行,而低優先級功能(用戶不常用的功能,約占80%)的測試就可能由于時間或經費的限制,降低測試的要求,減少測試工作量,這樣做風險性并不是很大。

主站蜘蛛池模板: 阿尔山市| 商河县| 滦南县| 大宁县| 育儿| 西林县| 武城县| 静宁县| 十堰市| 朝阳区| 清新县| 平顺县| 姚安县| 锡林郭勒盟| 慈利县| 北京市| 商城县| 武功县| 建始县| 彰化县| 丹寨县| 从化市| 云林县| 馆陶县| 定兴县| 上栗县| 秦安县| 东平县| 长葛市| 丰顺县| 得荣县| 张家界市| 榕江县| 基隆市| 余江县| 福海县| 南投市| 如东县| 南川市| 沾化县| 太谷县|