![]() |
Erik van Veenendaal是一名國際的顧問和培訓師,和一名在軟件測試和質量管理領域廣受認可的專家。 他是Improve Quality Services BV的創始人。 他保持著歐洲之星的記錄,三次獲得佳導師將! 2007年,因其對測試專業做出多年貢獻,他獲得了歐洲測試獎。 他作為測試經理和顧問在各個領域工作了20多年。他撰寫了多篇論文和多部著作,包括“實用基于風險的測試: Prisma法”和“軟件測試ISTQB基礎” 。 他是TMap測試方法的核心開發人之一及一名國際需求工程局( IREB )的工作小組的參與者。 Erik曾是艾恩德霍芬科技大學的一名兼職高級講師及國際軟件測試認證委員會的副會長( 2005-2009 ) ,目前是TMMi基金會的董事會成員。 你可以在twitter上通過@ ErikvVeenendaal關注Erik。 |
在審查對“測試經驗”問題的貢獻時,我注意到,許多作者一開始解釋如何使用和應用特定的測試設計技術。但是,我們不應該忘記我們為什么要這樣做,即這樣做的目標是什么。目標絕不“僅僅是”使用測試設計技術,而是使用正確的測試設計技術以減輕產品的風險,無論是功能性的還是非功能性的。
基于風險的測試
在基于風險的測試中,風險識別、風險分析、及風險緩解活動的制定奠定了定義測試方法的基礎[ 4 ] 。每個風險項目相關的風險級別決定每個風險相關的測試工作(即減緩行動)所需要的精力。某些安全相關的標準規定了:要用的測試方法和要達到的基于風險度(見下文)的覆蓋率。
測試是一種減輕產品風險的方法。如果發現了缺陷,測試人員通過缺陷意識和機會意識在發布前處理缺陷來降低風險。如果測試員沒有發現缺陷,測試員通過確保系統在一定條件(例如,測試條件)下正常運行以降低風險。
測試設計技術
降低產品風險的一個選擇是使用測試設計技術。
風險的級別和類型應是一個:通過使用不同測試設計技術改變測試強度的主要參數。如:對高風險的測試項目使用決策圖表技術(decision table technique),對低風險測試項目使用“”等價類劃分方法,或對高風險測試項目使用完整決策圖表技術,對低風險測試項目使用崩潰決策圖表技術(collapsed decision tables),等等。
風險(風險的級別和類型都)應該是一個:選擇測試設計技術及其變體的主要推動力。測試方法應基于風險!風險越大,越需要進行更徹底更激烈及更正式的測試。例如,用邊界值分析法選擇使用兩個邊界或三個邊界應該是一個基于風險的決策。有三個邊界的測試是更徹底(更激烈)的 ,但這需要更多精力,降低更高等級的風險是判斷付出的精力是否值得的標準。
發布一個產品時的商業風險或許會受到質量問題(因此更正式的測試設計技術才合適),或上市時間問題的影響(因此探索性測試將是一個更合適的選擇) 。
當然,選擇要用的測試設計技術的時候,風險不是因素(盡管是非常重要的一個)。
決策將基于多個因素,包括內部的和外部的,例如[2]:
內部因素
使用模型
測試員的知識及經驗
預期缺陷類型
可用文檔
生命周期模型
生命周期階段,例如新開發或維護
外部因素(除了風險的級別和類型)
客戶/合同要求
系統類型
監管要求
時間和預算
基于風險的測試方法
圖1.系統測試的不同的基于風險的測試方法的例子