在開始正文以前咱們首先來作一次思惟推導。咱們來嘗試回答下面的問題:單元測試
反覆稱重可否幫你減肥?學習
這個答案顯然是:否測試
測試工做自己並不能直接產出質量,就如使用體重計稱重並不能讓人減肥同樣。測試能夠被看作信息收集和評估過程,但反覆評估一件事物,並不能直接改善這件事物。優化
軟件測試能夠經過數據的收集,缺陷的彙報,用於促進產品質量的改進,質量風險的規避,然而質量最終的改進還要來自於研發過程自己。ui
實際上咱們認爲過程質量決定產品質量。那麼改進項目的過程質量,纔是推進產品質量提高的根本辦法。編碼
在軟件行業內,過程改進是許多企業,特別是大型企業很是關注的,咱們耳熟能詳的CMMi軟件成熟度模型,就旨在幫助企業提高自身的組織和過程成熟度。spa
CMMI成熟度模型是關注質量的,實際上咱們談過程改進,但願達到的目標應該是成本,效率和質量的三方收益。設計
除了CMMi這種着眼於研發過程全局改進的模型,專一於測試過程的改進模型也有許多的應用場景。3d
經常使用的測試改進模型包括:blog
之因此在過程改進中,咱們傾向於使用模型,其實是秉承着「借鑑」的思想。直接使用業界先驅們成功經驗的總結,與本身的項目進行比對和匹配。
以上這些模型中,有一些模型多是比較重量型的,相似CMMi,會和企業成熟度認證結合起來,須要外部助推力來幫助達成。
不過也有一些是以小團隊甚至我的爲出發點也是能夠應用的,下面咱們就介紹其中的一種:TPI-Next。
TPI模型將測試改進方向劃分爲三個區域:
在此基礎之上,繼續將他們劃分爲16個域,並用「受控級」、「高效級」和「優化級」定義其成熟度。
經過將自身項目特性與TPI-Next16個域的三級成熟度標準進行對比,咱們能夠很容易獲得自身項目測試的改進方向。
除了使用模型來幫助咱們進行過程改進,其實針對特定問題而改進特定過程是更經常使用的作法。使用這種方式的改進過程,可能會缺少系統性和結構性,可是倒是最貼近現實,可以最有效帶來直觀收益的。
固然這種問題驅動式的改進,也一樣能夠參照過程模型和改進模型,以便於找到改進方向。咱們來看幾個例子:
在測試活動中,咱們經常會趕上一些窘局,好比某系統的測試,爆出大量(遠超預期)缺陷。
咱們先來論斷一下,測試報出大量缺陷到底是不是一個問題?有的人可能會說,這不是問題,測試報出缺陷,這不是天經地義的嗎。
實際上咱們簡單來講,咱們對項目缺陷的預期數量實際是存在邊界的(CMMi3級標準,測試密度不該超過2.39%),測試的理想狀態應該是在邊界以內揭示問題。
缺陷數量超出邊際值會帶來顯而易見的風險:
那麼經過過程改進,咱們如何解決這一問題呢?
咱們能夠從TPI模型中找出幾個關鍵域,用於改進這個問題:
測試團隊常常會面臨時間壓力,測試時間的爭奪是測試團隊夾在產品質量和市場壓力之間的反覆博弈過程。
如何改進這一現象呢?咱們一樣嘗試找出幾個改進的關鍵域:
以上是兩個問題驅動的過程改進的例子,咱們能夠觸類旁通,經過對於相應問題的分析,對應標準的解決辦法來逐步實現測試過程的改進。
最後,過程改進實際上是一個很是大的課題,從事過程改進的人員一般具有很是高的團隊地位(想要改變什麼事情一般都沒有那麼容易)。
過程改進也必須遵循IDEAL模型:
最重要的是,取得利益干係人的支持,是過程改進得以推進的必備條件。