2011年已經過去了,一直在想去年我的測試水平到底有沒有提升,主要在哪些方面,而哪些方面提升不多,哪些事情做得不到位,這些都是需要思考的。
其實自己個人感覺做得比較多,但是很多事情也沒用升華下去,接下來就說說自己做的幾塊大的事情吧,也說下自己的思考。
預計會寫如下幾篇(爭取一天一篇):
2011回顧之接口性能測試
2011回顧之持續集成初步實踐
2011回顧之持續測試設計最優化
2011回顧之探索式測試實踐
2011回顧之公共組件的抽象
2011回顧之前端測試
持續測試設計最優化
測試設計在項目測試過程中是個重要的一環,個人認為測試設計的質量很大程度上決定著項目測試的質量和效率。測試設計這個話題非常的大,本來不想說些基礎的知識,但是考慮到我個人的一些想法和做法,還是決定說的清楚點較好。
測試設計的定義:
輸入:測試計劃;需求規格說明書;UC;詳細設計。
輸出:測試設計。
行動:對于評審后的需求使用各種測試設計方法進行更進一步的用例設計。
原則: 通常應該避免依賴先前測試用例的輸出。
為什么要做測試設計:
1.對前面評審后的需求進行進一步的評審。
2.對于大的需求做一些分解和加深理解。
3.產出所有具體需求的所有測試思路和異常分支。
4.對后續的用例編寫根本性的指導。
5.對整個被測系統進行測試模型的建立。
6.為了對被測接口進行接口功能的評審和檢查(接口)。
測試設計的關鍵目的就是為了讓測試更豐富
測試設計的產出形式:
測試設計的產出不是一份文檔
內容:
1.功能需求分解MM圖:Free Mind; Xmind
2.系統交互圖:Rose
3.數據流程圖:Rose
4.分析完成的用例思路集合
5.接口設計的具體測試用例(接口)
我這邊提出的測試設計,就是本產品測試所需要的所有測試思路的集合,按照類型和功能的結合來進行分類,讓其他測試人員都能快速了解測試覆蓋率和需求覆蓋率。同樣的是,我個人認為測試設計分兩種:一種是項目的測試設計,該測試設計文檔的生命周期是是隨著需求評審的開始到項目監控期的結束。另一種是產品的測試設計,只要該產品還存在于線上,該產品的測試設計文檔無論在何時必須處于最新狀態,最完整狀態,最正確狀態。
可能受到探索式測試的一些影響,我負責的產品的測試的測試設計都是必須要達到這三個狀態,所以我對測試用例的編寫非常不感冒,這些都要求和train我在做測試設計的時候的高規格。對測試思路和關鍵字的把控一定要到位,同時對分類和組合有一定經驗。關于測試設計的案例,我的很多blog都貼著圖了,這里就不再重復了。
很多人對于我這個想法都會提出異議,認為我的產品的測試用例寫的不行,確實,我的cover點不是非常詳細的tc,而是豐富且全面的測試思路集合,也就是我必須要維護的測試設計。很多team的測試人員都做不到這一點,把精力分散出去,靠很多零星的記錄點來維持,缺乏系統性和持久性。
為啥說我的測試設計是最優化,那就是該產品的任何一個需求的開始和結束,不管是大的項目需求,還是小的日常需求,我都在我的產品測試里面增、刪、該。保持最新業務狀態,反饋最新業務發展,給開發和需求人員的指導和提醒,幫助開發做自測等等都啟動一定的好處。
另外還需要說到的是,如何將我們的測試設計的覆蓋達到最高呢,如何來最優化它呢,我這邊提出了一些基本的測試設計流程,那就是基于測試模型的測試設計。
測試模型:在一定的測試范圍內建立一個模型圖,以便讓測試人員快速地了解和掌握該測試范圍內的關鍵測試點,將這些關鍵測試點在一定測試范圍內進行簡單的建模,從而得到測試模型。
下面是詳細的說明:
測試設計:通過三個階段得到的設計文檔,第一個是在PRD(需求規格說明書)評審階段,使用基于需求的測試方法編寫的測試設計思維圖(功能點劃分,P1級、P2級的用例場景);第二個是在User Case評審階段,使用基于需求的測試方法評審User Case并完善測試設計思維圖(補充P1 級、 P2級的用例場景,P3級、P4級的用例場景);第三個是在系統設計評審階段,通過評審接口說明文檔,詳細設計文檔,數據庫設計文檔(補充每個功能點容易遺漏的異常場景和詳細校驗點)。
測試設計一 :應用功能測試模型階段,通過熟悉功能測試模型和分析系統的功能需求,補充公共功能容易遺漏的異常場景和詳細校驗點。
測試設計二 :應用線下故障測試模型階段,通過熟悉線下故障測試模型和分析系統的功能需求類型,補充復雜特殊功能容易遺漏的異常場景和詳細校驗點。
測試設計三 :應用線上故障測試模型階段,通過熟悉線上故障測試模型和分析系統的功能需求類型,補充特殊環境下容易遺漏的異常場景和詳細校驗點。
使用基于測試模型的測試設計,可以得到完整和覆蓋率較高的測試設計思路,從而保證測試的質量和減少線上故障。
原文轉自:http://www.anti-gravitydesign.com