基于風險的測試
基于風險的測試的本質是我們評估系統不同部分蘊含的風險,并專注于我們的測試在那些最高風險的地方。這個方法可能讓系統的某些部分缺乏充分的測試,甚至完全不測,但是它保證了這樣做的風險是最低的。
“風險”對于測試與風險對于其他任何情況是一樣的。為了評估風險,我們必須認識到它有兩個截然不同的方面:可能性和影響。
-“可能性”是可能出錯的機會。不考慮影響程度,僅僅考慮出現問題的機會有多大。
-“影響”是確實出錯后造成的影響程度。不考慮可能性,僅僅考慮出現的問題的情況會有多糟糕。
假設一個會計系統,我們更改了分期付款的利息。更改會用3天的時間,我們會用2天的時間來測試。因為我們不能在兩天時間內完全充分測試這個會計系統,我們需要評估所作的更改給其它系統部分帶來的風險。
-分期付款模塊的功能會很可能出錯,因為這些是更改的部分。它們同時是對系統來說相對影響重大的部分,因為它們影響收入。既是高可能性的,又是高影響程度的,意味著系統的這部分必須投入充分的測試。
-應收款模塊擁有中等程度的錯誤可能性,因為改變的功能是這個模塊的一個緊密組成部分。因為收款模塊影響收入,因此出錯的影響程度是高的。所以收款模塊也需要投入足夠的測試關注,因為它擁有中-高程度的風險。
-總賬模塊擁有低程度的錯誤可能性。但是如果錯誤會對公司有重大的影響。因此總賬模塊擁有低-高程度的風險。
-最后,應付款出錯的可能性很低,因為更改功能與它沒有什么關系。而且這個模塊錯誤后的影響最多也是中等程度的。因此擁有低-中程度風險,不需要投入太多的測試。
使用這些風險信息,我們可能選擇這樣分配我們的測試:
- 50%的測試專注于新改的分期付款模塊
- 30%的測試放在應收款模塊
- 15%的測試放在總賬模塊
- 5%的測試時間放在應付款模塊