背景:html
最近有個項目,開發工時在1000+h,測試這邊預估的工做量在400h左右,但按照項目截點算,預留給測試的時間只有200h左右。(這裏先不考慮開發可能提早交付,以及項目截點延期)框架
縱觀,整個項目的研發過程,咱們總會遇到測試資源和時間頗有侷限的狀況:工具
一是:在項目截點固定的前提下,可能受到產品、開發部分工做進度的壓縮;性能
二是:測試工做自己須要終止點,多是上線時間到了,也多是發現的問題都解決了。單元測試
測試工做最大的挑戰就是在有效的時間內發現較多的缺陷,從而使軟件達到一個相對可靠的質量(不敢說絕對可靠,畢竟發現的問題越多隱藏的問題也就越多)。測試
這就要求咱們測試要有策略性的測試,那麼什麼是測試策略呢?spa
何爲測試策略設計
從上述背景看,測試策略的誕生就是要平衡效率與質量,爲了以最低的成本,最大程度發現產品的質量問題,而使用的最合理的工做方式、方法或者過程。htm
那麼測試策略都包含哪些內容呢,接下來咱們就說下測試策略模板中包含的內容。blog
描述制定測試策略的目的及指望
描述項目背景及相關信息
描述具體要測試的功能模塊,接口等信息。
描述要測試項目或需求範圍,是否涉及多項目聯調等。
功能實現正確,數據一致,用戶體驗較好等。配合一些可量化的指標,如:千行代碼漏洞率、一級BUG數量、模塊漏洞率、缺陷修復率、用例執行率等。
產品設計規範、開發規範、框架規範,測試規範等
可參考51test上的一篇文章淺談實施軟件測試風險分析,分析的仍是比較到位的。
產品獨有的業務或技術特色及特定要求等
用到的測試工具、測試方法等
人力、時間、文檔、測試環境等描述
產品運用的技術或者框架特色,業務特色(CS/BS/APP,依賴的開發語言,依賴的不熟環境等)
各測試階段時間點或項目要求時間點
測試完成時間,提交反饋及相應輸出結果。
能夠按業務場景覆蓋率或者用例執行率
根據測試內容排優先級,考慮因素時間、人力、成本、質量等因素,須要與產品、項目、開發四方確認,並達成一致。
方式包含:
手工方式、自動化方式;探索式測試或基於腳本的傳統測試;自動團隊測試仍是衆測、外包等。
方法包含:
基於需求的、基於數據流、基於控制流、組合測試、形式化等方法、技術、工具等。
什麼時候介入、從什麼地方開始、先作什麼、再作什麼等
相關報告的產出、覆蓋率的達標、項目要求時間點的界限、一級問題是否都已修復等。
預防式:在問題尚未發生前,預防問題發生的策略。
應對式:在出現問題出現之後,如何應對的策略。
使用到的測試類型:單元測試,集成測試,系統測試,驗收測試(Alpha、Beta、用戶驗收、運營驗收、功能驗收),迴歸測試,黑盒測試:功能測試、邏輯功能測試、界面測試、易用性測試、兼容性測試,白盒測試,灰盒測試,接口測試,性能測試:對時間的要求、對資源的使用等。
透過上述內容,不難看出,最終策略的重點在於:就當前現狀進行梳理分析,並與相關人員溝通互動,從而在效率、進度、質量、投入上達成一致,並按要求輸出。
測試工做自己就須要謀定然後動,面對有效的資源,制定相應的策略,將核心精力放在價值更高,優先級更高,使用場景最多的事情上,最大限度的保障產品的質量。
在提高效率與質量上一直奔走,是做爲測試工做者的不變使命。