天天看點

【星雲測試】精準測試的軟體産品品質效率變化分析

伴随着軟體規模的擴大和軟體快速疊代的雙重業務加速要求,軟體品質控制的壓力也越來越明顯。但黑盒測試的無力感和白盒測試的高複雜度,讓軟體測試工程師和管理者都非常郁悶,多樣化的自動化測試工具也解決不了根本性的問題。

目前正在業内流行的精準測試技術,從企業級應用的回報來看,它最為主要的三個技術特性,使企業在軟體品質改進方面,突破了原有的天花闆。

1、 測試用例與代碼的雙向追溯技術:使開發和測試過程可視化,達到軟體與團隊管理的資料化交流,不再流于形式和口頭交流;灰盒的透明運作模式,不改變傳統企業流程,卻能夠将功能測試的資料映射到代碼層面進行精準分析。

2、 延展測試資料的應用價值:精準測試在運作中會産生大量的資料,基于這些資料可以讓測試過程的價值拓展到整個研發體系,例如通過深度測試資料直接進行智能缺陷定位,通過逆向追溯幫助開發分析進行代碼一緻性修改等。

3、 通過智能算法全面支援靈活:全自動的智能回歸用例選取、用例聚類分析、測試漏洞分析,累計覆寫率等技術全面支援靈活場景下的品質保證。

本文将重點分析精準測試在研發體系中應用後的整體運作效率和品質改進分析。另本文分析資料對應的标的産品是星雲測試的ThreadingTest産品,目前也是精準功能最全面、商用化程度最高的精準測試産品(讀者可提前閱讀精準測試架構白皮書以及到體驗精準測試産品,熟悉精準測試的整體功能)。

精準測試運作效率很高。它采用的技術路線為系統級灰盒技術範疇,是以精準測試的運作過程依然是黑盒,不直接改變用例的運作方法及團隊成員構成,上手比較快。它的資料采集是基于軟體測試示波器全自動采集,用于标記采集資料和用例的映射關系,對原有測試的運作效率幹擾極小,實際運作分析額外附加工作量在2%以下。精準測試必要的插裝過程無需人工幹預,實施成本也是一次性的。

下圖是精準測試的運作效率圖:

【星雲測試】精準測試的軟體産品品質效率變化分析

  1. 傳統意義上的黑盒測試方法一般在覆寫率進入到40-50區間以後,會逐漸開始産生較大運作瓶頸,測試專業上形象的稱之為殺蟲劑效應。而黑盒的瓶頸點又恰恰是精準測試的發力點。精準測試可以關聯到代碼看到語句塊,分支,條件等的覆寫率,也可以根據精準測試提供的各種彩色分析視圖确定漏測點。是以不管被測系統有多複雜,精準測試的運作效率均呈線性45度角穩步上升。

    從上圖可以看出,越過瓶頸點後的中等覆寫率水準,精準測試所使用的時間僅僅是傳統黑盒測試的一半,是以成本投入也将是普通黑盒測試的一半。這一點對于企業來講不僅僅是大幅度提升了測試的工作效率、加快了産品釋出時間,同時節約了大量的人力成本投入。

  2. 精準測試的核心技術要點是測試用例與代碼的追溯技術。這項技術簡單來說就是當功能執行完成以後對應的整體代碼執行情況就會立即産生,可以了解為一種強大的全景調試器,即當點選一個測試用例,就立即追蹤到對應的代碼和子產品。如果你有一個足夠大的螢幕,可以想象場景是多麼的震撼…
  3. 精準測試測試漏洞分析功能,适用于靈活測試。它可以基于程式靜态資料和動态運作資料,自動分析軟體缺陷最高風險的位置,引導首先對于高風險的子產品完成覆寫,在有限時間内完成最具有風險的子產品的覆寫測試。基于智能缺陷定位技術,精準測試結果可以直接定位到缺陷的位置,是以精準測試讓開發人員定位缺陷的效率可以至少提升2-3倍。
  4. 企業最為頭痛的回歸測試維護,精準測試也給予了很好的方案。根據國際權威統計,平均每6行代碼的修改,就會引入一個未知的難以直接預測的缺陷。從另一個角度來看,回歸測試會随着項目人員記憶模糊以及團隊調整,使不可預知的缺陷比例逐漸上升。而精準測試由于其内置算法的原因,各種資訊都極其完整的儲存在了計算機裡。我們實際對比了5個用例集在1000個左右的系統的測試,其計算用例集可控制在20%左右。另外在從回歸測試的風險角度上看,傳統通過經驗判斷型方法,由于周期拉長後人員變動以及記憶模糊。導緻發現疊代引起的未知關聯的機率越來越低,上線後引入風險。而采用精準測試,由于每輪測試記錄的資料越來越多,基礎代碼覆寫輻射面越來越廣,其計算準确性亦在持續上升。經過一定量的版本疊代後,其發現關聯缺陷的機率可以達到80%以上。
    【星雲測試】精準測試的軟體産品品質效率變化分析
  5. 精準測試的測試用例聚類分析功能,可以有效地發現“測試的錯誤”。比如一個用例執行步驟錯誤,它的聚類結果必然會發生變化,管理者通過系統分析的結果就可以發現并糾正這一類的錯誤,而之前可能需要在現場反複的确認。
  6. 從管理角度看,傳統架構下平均4-5個測試執行人員就需要一個管理者,管理成本極高。精準測試體系下,由于過程管理均由計算機自動記錄,管理者隻需看報表就能清楚獲知項目進度情況及每位項目參與者的工作效率。通過日報、周報、月報等,輕松了解各項目狀況。後續團隊無論如何變更,都可以在被授權的情況下,通過平台清楚地了解到整體架構結構與細緻追溯關系,達到快速接手、大量節省開發與維護成本的目的。

    根據上述分析,精準測試适合應用于研發、測試的成熟體系中,特點是引入成本低,提高企業研發、測試效率顯著,軟體風控成果卓越。正如網絡上所說,精準測試正在快速成為主流技術。

繼續閱讀