精準測試的軟件產品質量效率變化分析算法
伴隨着軟件規模的擴大和軟件快速迭代的雙重業務加速要求,軟件質量控制的壓力也愈來愈明顯。但黑盒測試的無力感和白盒測試的高複雜度,讓軟件測試工程師和管理者都很是鬱悶,多樣化的自動化測試工具也解決不了根本性的問題。網絡
目前正在業內流行的精準測試技術,從企業級應用的反饋來看,它最爲主要的三個技術特性,使企業在軟件質量改進方面,突破了原有的天花板。架構
本文將重點分析精準測試在研發體系中應用後的總體運行效率和質量改進分析。另本文分析數據對應的標的產品是星雲測試的ThreadingTest產品,目前也是精準功能最全面、商用化程度最高的精準測試產品(讀者可提早閱讀精準測試框架白皮書以及到體驗精準測試產品,熟悉精準測試的總體功能)。框架
精準測試運行效率很高。它採用的技術路線爲系統級灰盒技術範疇,所以精準測試的運行過程依然是黑盒,不直接改變用例的運行方法及團隊成員構成,上手比較快。它的數據採集是基於軟件測試示波器全自動採集,用於標記採集數據和用例的映射關係,對原有測試的運行效率干擾極小,實際運行分析額外附加工做量在2%如下。精準測試必要的插裝過程無需人工干預,實施成本也是一次性的。工具
下圖是精準測試的運行效率圖:測試
從上圖能夠看出,越過瓶頸點後的中等覆蓋率水平,精準測試所使用的時間僅僅是傳統黑盒測試的一半,所以成本投入也將是普通黑盒測試的一半。這一點對於企業來說不只僅是大幅度提高了測試的工做效率、加快了產品發佈時間,同時節約了大量的人力成本投入。調試
精準測試的核心技術要點是測試用例與代碼的追溯技術。這項技術簡單來講就是當功能執行完成之後對應的總體代碼執行狀況就會當即產生,能夠理解爲一種強大的全景調試器,即當點擊一個測試用例,就當即追蹤到對應的代碼和模塊。若是你有一個足夠大的屏幕,能夠想象場景是多麼的震撼…blog
精準測試測試漏洞分析功能,適用於敏捷測試。它能夠基於程序靜態數據和動態運行數據,自動分析軟件缺陷最高風險的位置,引導首先對於高風險的模塊完成覆蓋,在有限時間內完成最具備風險的模塊的覆蓋測試。基於智能缺陷定位技術,精準測試結果能夠直接定位到缺陷的位置,所以精準測試讓開發人員定位缺陷的效率能夠至少提高2-3倍。開發
企業最爲頭痛的迴歸測試維護,精準測試也給予了很好的方案。根據國際權威統計,平均每6行代碼的修改,就會引入一個未知的難以直接預測的缺陷。從另外一個角度來看,迴歸測試會隨着項目人員記憶模糊以及團隊調整,使不可預知的缺陷比例逐步上升。而精準測試因爲其內置算法的緣由,各類信息都極其完整的保存在了計算機裏。咱們實際對比了5個用例集在1000個左右的系統的測試,其計算用例集可控制在20%左右。另外在從迴歸測試的風險角度上看,傳統經過經驗判斷型方法,因爲週期拉長後人員變更以及記憶模糊。致使發現迭代引發的未知關聯的機率愈來愈低,上線後引入風險。而採用精準測試,因爲每輪測試記錄的數據愈來愈多,基礎代碼覆蓋輻射面愈來愈廣,其計算準確性亦在持續上升。通過必定量的版本迭代後,其發現關聯缺陷的機率能夠達到80%以上。產品
根據上述分析,精準測試適合應用於研發、測試的成熟體系中,特色是引入成本低,提升企業研發、測試效率顯著,軟件風控成果卓越。正如網絡上所說,精準測試正在快速成爲主流技術。
精準測試的軟件產品質量效率變化分析
伴隨着軟件規模的擴大和軟件快速迭代的雙重業務加速要求,軟件質量控制的壓力也愈來愈明顯。但黑盒測試的無力感和白盒測試的高複雜度,讓軟件測試工程師和管理者都很是鬱悶,多樣化的自動化測試工具也解決不了根本性的問題。
目前正在業內流行的精準測試技術,從企業級應用的反饋來看,它最爲主要的三個技術特性,使企業在軟件質量改進方面,突破了原有的天花板。
本文將重點分析精準測試在研發體系中應用後的總體運行效率和質量改進分析。另本文分析數據對應的標的產品是星雲測試的ThreadingTest產品,目前也是精準功能最全面、商用化程度最高的精準測試產品(讀者可提早閱讀精準測試框架白皮書以及到體驗精準測試產品,熟悉精準測試的總體功能)。
精準測試運行效率很高。它採用的技術路線爲系統級灰盒技術範疇,所以精準測試的運行過程依然是黑盒,不直接改變用例的運行方法及團隊成員構成,上手比較快。它的數據採集是基於軟件測試示波器全自動採集,用於標記採集數據和用例的映射關係,對原有測試的運行效率干擾極小,實際運行分析額外附加工做量在2%如下。精準測試必要的插裝過程無需人工干預,實施成本也是一次性的。
下圖是精準測試的運行效率圖:
從上圖能夠看出,越過瓶頸點後的中等覆蓋率水平,精準測試所使用的時間僅僅是傳統黑盒測試的一半,所以成本投入也將是普通黑盒測試的一半。這一點對於企業來說不只僅是大幅度提高了測試的工做效率、加快了產品發佈時間,同時節約了大量的人力成本投入。
精準測試的核心技術要點是測試用例與代碼的追溯技術。這項技術簡單來講就是當功能執行完成之後對應的總體代碼執行狀況就會當即產生,能夠理解爲一種強大的全景調試器,即當點擊一個測試用例,就當即追蹤到對應的代碼和模塊。若是你有一個足夠大的屏幕,能夠想象場景是多麼的震撼…
精準測試測試漏洞分析功能,適用於敏捷測試。它能夠基於程序靜態數據和動態運行數據,自動分析軟件缺陷最高風險的位置,引導首先對於高風險的模塊完成覆蓋,在有限時間內完成最具備風險的模塊的覆蓋測試。基於智能缺陷定位技術,精準測試結果能夠直接定位到缺陷的位置,所以精準測試讓開發人員定位缺陷的效率能夠至少提高2-3倍。
企業最爲頭痛的迴歸測試維護,精準測試也給予了很好的方案。根據國際權威統計,平均每6行代碼的修改,就會引入一個未知的難以直接預測的缺陷。從另外一個角度來看,迴歸測試會隨着項目人員記憶模糊以及團隊調整,使不可預知的缺陷比例逐步上升。而精準測試因爲其內置算法的緣由,各類信息都極其完整的保存在了計算機裏。咱們實際對比了5個用例集在1000個左右的系統的測試,其計算用例集可控制在20%左右。另外在從迴歸測試的風險角度上看,傳統經過經驗判斷型方法,因爲週期拉長後人員變更以及記憶模糊。致使發現迭代引發的未知關聯的機率愈來愈低,上線後引入風險。而採用精準測試,因爲每輪測試記錄的數據愈來愈多,基礎代碼覆蓋輻射面愈來愈廣,其計算準確性亦在持續上升。通過必定量的版本迭代後,其發現關聯缺陷的機率能夠達到80%以上。
根據上述分析,精準測試適合應用於研發、測試的成熟體系中,特色是引入成本低,提升企業研發、測試效率顯著,軟件風控成果卓越。正如網絡上所說,精準測試正在快速成爲主流技術。