精準測試的軟件產品質量效率變化分析

伴隨着軟件規模的擴大和軟件快速迭代的雙重業務加速要求,軟件質量控制的壓力也越來越明顯。但黑盒測試的無力感和白盒測試的高複雜度,讓軟件測試工程師和管理者都非常鬱悶,多樣化的自動化測試工具也解決不了根本性的問題。
目前正在業內流行的精準測試技術,從企業級應用的反饋來看,它最爲主要的三個技術特性,使企業在軟件質量改進方面,突破了原有的天花板。
1、 測試用例與代碼的雙向追溯技術:使開發和測試過程可視化,達到軟件與團隊管理的數據化交流,不再流於形式和口頭交流;灰盒的透明運行模式,不改變傳統企業流程,卻能夠將功能測試的數據映射到代碼層面進行精準分析。
2、 延展測試數據的應用價值:精準測試在運行中會產生大量的數據,基於這些數據可以讓測試過程的價值拓展到整個研發體系,例如通過深度測試數據直接進行智能缺陷定位,通過逆向追溯幫助開發分析進行代碼一致性修改等。
3、 通過智能算法全面支持敏捷:全自動的智能迴歸用例選取、用例聚類分析、測試漏洞分析,累計覆蓋率等技術全面支持敏捷場景下的質量保證。

本文將重點分析精準測試在研發體系中應用後的整體運行效率和質量改進分析。另本文分析數據對應的標的產品是星雲測試的ThreadingTest產品,目前也是精準功能最全面、商用化程度最高的精準測試產品(讀者可提前閱讀精準測試框架白皮書以及到體驗精準測試產品,熟悉精準測試的整體功能)。
精準測試運行效率很高。它採用的技術路線爲系統級灰盒技術範疇,因此精準測試的運行過程依然是黑盒,不直接改變用例的運行方法及團隊成員構成,上手比較快。它的數據採集是基於軟件測試示波器全自動採集,用於標記採集數據和用例的映射關係,對原有測試的運行效率干擾極小,實際運行分析額外附加工作量在2%以下。精準測試必要的插裝過程無需人工干預,實施成本也是一次性的。

下圖是精準測試的運行效率圖:
精準測試的軟件產品質量效率變化分析

  1. 傳統意義上的黑盒測試方法一般在覆蓋率進入到40-50區間以後,會逐步開始產生較大運行瓶頸,測試專業上形象的稱之爲殺蟲劑效應。而黑盒的瓶頸點又恰恰是精準測試的發力點。精準測試可以關聯到代碼看到語句塊,分支,條件等的覆蓋率,也可以根據精準測試提供的各種彩色分析視圖確定漏測點。因此不管被測系統有多複雜,精準測試的運行效率均呈線性45度角穩步上升。
    從上圖可以看出,越過瓶頸點後的中等覆蓋率水平,精準測試所使用的時間僅僅是傳統黑盒測試的一半,因此成本投入也將是普通黑盒測試的一半。這一點對於企業來講不僅僅是大幅度提升了測試的工作效率、加快了產品發佈時間,同時節約了大量的人力成本投入。

  2. 精準測試的核心技術要點是測試用例與代碼的追溯技術。這項技術簡單來說就是當功能執行完成以後對應的整體代碼執行情況就會立即產生,可以理解爲一種強大的全景調試器,即當點擊一個測試用例,就立即追蹤到對應的代碼和模塊。如果你有一個足夠大的屏幕,可以想象場景是多麼的震撼…

  3. 精準測試測試漏洞分析功能,適用於敏捷測試。它可以基於程序靜態數據和動態運行數據,自動分析軟件缺陷最高風險的位置,引導首先對於高風險的模塊完成覆蓋,在有限時間內完成最具有風險的模塊的覆蓋測試。基於智能缺陷定位技術,精準測試結果可以直接定位到缺陷的位置,因此精準測試讓開發人員定位缺陷的效率可以至少提升2-3倍。

  4. 企業最爲頭痛的迴歸測試維護,精準測試也給予了很好的方案。根據國際權威統計,平均每6行代碼的修改,就會引入一個未知的難以直接預測的缺陷。從另一個角度來看,迴歸測試會隨着項目人員記憶模糊以及團隊調整,使不可預知的缺陷比例逐步上升。而精準測試由於其內置算法的原因,各種信息都極其完整的保存在了計算機裏。我們實際對比了5個用例集在1000個左右的系統的測試,其計算用例集可控制在20%左右。另外在從迴歸測試的風險角度上看,傳統通過經驗判斷型方法,由於週期拉長後人員變動以及記憶模糊。導致發現迭代引起的未知關聯的概率越來越低,上線後引入風險。而採用精準測試,由於每輪測試記錄的數據越來越多,基礎代碼覆蓋輻射面越來越廣,其計算準確性亦在持續上升。經過一定量的版本迭代後,其發現關聯缺陷的概率可以達到80%以上。
    精準測試的軟件產品質量效率變化分析
  5. 精準測試的測試用例聚類分析功能,可以有效地發現“測試的錯誤”。比如一個用例執行步驟錯誤,它的聚類結果必然會發生變化,管理者通過系統分析的結果就可以發現並糾正這一類的錯誤,而之前可能需要在現場反覆的確認。
  6. 從管理角度看,傳統架構下平均4-5個測試執行人員就需要一個管理者,管理成本極高。精準測試體系下,由於過程管理均由計算機自動記錄,管理者只需看報表就能清楚獲知項目進度情況及每位項目參與者的工作效率。通過日報、週報、月報等,輕鬆瞭解各項目狀況。後續團隊無論如何變更,都可以在被授權的情況下,通過平臺清楚地瞭解到整體框架結構與細緻追溯關係,達到快速接手、大量節省開發與維護成本的目的。
    根據上述分析,精準測試適合應用於研發、測試的成熟體系中,特點是引入成本低,提高企業研發、測試效率顯著,軟件風控成果卓越。正如網絡上所說,精準測試正在快速成爲主流技術。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章