溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

星云精準測試之用例魔方

發布時間:2020-07-17 07:36:31 來源:網絡 閱讀:1863 作者:星云測試 欄目:軟件技術

  精準測試從某個層面來講,是賦予了測試用例真正的生命力,傳統的測試用例僅僅是一些只能夠依賴人去理解和分析的文本文件而已,在計算機和算法層面則沒有存在意義和價值。下圖是精準測試的整體架構圖:
星云精準測試之用例魔方

  大家首先可能會比較好奇,“用例魔方”的概念是怎么來的?測試用例魔方是在精準測試的設計、開發和商業實踐中自然產生的功能集合的一個統稱。當我們把精準測試的和用例分析相關的功能畫成架構圖形表示的時候,它自然而然地看起來就像魔方,所謂“魔”則是精準測試核心算法所賦予的超能力。
上圖是星云精準測試系統的總體結構圖,“測試魔方”即分布在左上角區域。大家知道精準測試的核心技術是測試用例與代碼的追溯關系的建立,而在此之上就可以構建測試魔方的核心功能區。如下:
 
星云精準測試之用例魔方

  所謂“方”實際上是代表測試用例的集合,每個測試用例用一個小方塊標識,所有測試用例的集合用一個大方塊?,F在來看在精準測試架構下,“用例魔方”所能夠提供的功能(對精準測試的底層技術不是很了解的話,可以預先溫習下《精準測試框架白皮書》)。精準測試體系中,測試用例對應的代碼邏輯都可以實現全自動的追溯和存儲,因此測試用例就具備了進行深入分析的基礎。在精準測試的用例魔方中,目前存在三個面(隨著后續功能的增加,將增加分析的面),即回歸測試用例選取、測試用例聚類分析、測試用最小化,同時輔之以智能缺陷定位技術。下面對“用例魔方”做詳細的說明,選用的工具為星云精準測試平臺ThreadingTest產品系列。
 
  首先介紹回歸測試用例選取。從魔方視圖中可以看到回歸用例選?。ㄖ饕x取可能影響到的重點用例)。精準測試中所謂的回歸測試和自動化回歸有很大的差別,我們聽的比較多的自動化測試中的回歸其實是把自動化用例重新運行的意思,而精準測試中的回歸測試是通過內部算法自動選取新版本修改后可能影響到的測試用例。通過回歸測試用例選取,解決了新版本上線該對哪些用例進行測試和重點測試的問題,這也是敏捷開發中測試所面臨的最大問題。下面是回歸測試用例選取的原理圖:
 星云精準測試之用例魔方
 
 原理介紹:
星云精準測試之用例魔方 
 
 測試用例A與測試用例B為在版本A中進行測試的用例,其綠圈中A1、A2、A3、B2…等為其測試用例所對應的運行中采集的函數信息。
 星云精準測試之用例魔方
 
 在版本迭代過程中,版本B也對其測試用例A進行了測試,并添加了測試用例C,精準測試采集其對應的函數信息。
 星云精準測試之用例魔方
 
  當版本C進行迭代發布時,精準測試根據測試用例A、B、C最后運行的版本所對應的函數信息與版本C的版本函數信息進行比較,根據變化差異進行回歸優先級排序。
 
?、? 測試用例A最后運行在版本B中,對應的函數信息為A1、A2、B1、A3,對比版本C中的函數無代碼變化,計算回歸優先級值為0。
 
?、? 測試用例B因為在版本B中未運行,最后運行的版本為A,版本A的測試數據B1、B2、B3、C3和版本C中的函數比對,得出函數C3的代碼有變化,計算回歸優先級值為1。
 
?、? 測試用例C最后運行在B,對應的函數信息為C1、C2、C3、A3,和版本C中的函數比對,得出函數C3的代碼有變化,函數C2進行了刪除,計算回歸優先級值為3。
 
?、? 結果進行回歸優先級排序,得出測試用例C回歸優先級最高優先值為3>測試用例B回歸優先值為1>測試用例A,回歸優先值0,不需要回歸。
 
 當新版本上線后,精準測試系統會自動給出本次發布波及到的測試用例列表以及收到波及的程度。如下圖:
星云精準測試之用例魔方
 星云精準測試之用例魔方

  通常測試用例的分類都是人工根據功能組織進行硬性歸類的,在精準測試體系中,用例魔方中的測試用例為聚類分析。由于測試用例都包含有對應的內部代碼執行邏輯,執行路徑直接可以通過代碼塊或者函數進行舉例計算,例如一個程序總共有10個函數。
 
  “用例魔方”中的聚類結果具有非常實用的價值,體現在以下幾點:
 
 1.通過用例聚類結果,可以從管理端審核測試執行的正確性。傳統測試一般由人工執行,因此想確認測試用例是否本身執行有錯誤,或者是否按照預先設定的要求執行了,是非常困難的,這也是測試管理的成本一直很高的一個重要原因。通過對精準測試“用例魔方”的聚類結果分析,若兩個功能迥異、本不應該分到一起的測試用例被分到了一組,那么產品經理或者項目管理者會非常容易識別出這里面存在測試用例的執行錯誤,并在產品發布的最后一環,及時處理。
 
 2.通過“用例魔方”的測試用例聚類結果這一功能,可以發現缺陷分布的密集區域。因為聚類的依據是用例執行對應的代碼路徑差異信息,聚類結果充分而真實的體現了用例之間的空間感,結果非常有意義。缺陷的分布一般是有規律的:功能相近的用例如果有出現錯誤,那么同類型用例出錯的概率也更大。所以當時間不充足的情況下,可以依據聚類結果,每個用例聚類簇隨機選幾個。如果沒有bug,就可以放松對簇內其他用例的考察,如果發現了缺陷,那么其它簇內的用例也需要重點考察。
 
星云精準測試之用例魔方
星云精準測試之用例魔方

  在企業大量應用自動化測試場景下,隨著日積月累,產生了大量的、邏輯重復的測試用例。通過“用例魔方”的測試用例集最小化算法,可以把重復或者存在包含關系的用例從用例集中剔除出去。原理非常簡單:假設兩個用例,在代碼覆蓋上存在完全包含關系,那么被包含的用例就可以從用例集中剔除。算法所依據的數據依然是測試用例與代碼的追溯關系技術數據。
 
  “用例魔方”中另外一個精彩的功能是智能的缺陷定位技術,星云精準測試提供了3種計算公式。
 
星云精準測試之用例魔方
星云精準測試之用例魔方

  通過智能缺陷定位,測試工程師僅需要標記用例從功能角度的執行狀態(是否存在缺陷),再結合星云精準測試“用例魔方”自動記錄的對應程序執行的代碼頻譜,就可以對缺陷進行代碼級的精準定位。
 
 1.源代碼
 簡單分析第15行代碼,當第十行y<z成立且第十二行x<y不成立且第十四行x<z成立時即得y<z且x>=y且x<z.此時可得y<=x<z,中間數為x,所以此處正確語句應為m=x。
星云精準測試之用例魔方

 2.創建7個測試用例test1、test2、test3………..test7并進行測試
?、? test1輸入為3 3 5輸出為3,預期輸出為3,符合預期,此用例記為通過
?、? test2輸入為1 2 3輸出為2,預期輸出為2,符合預期,此用例記為通過
?、? test3輸入為3 2 1輸出為2,預期輸出為2,符合預期,此用例記為通過
?、? test4輸入為5 5 5輸出為5,預期輸出為5,符合預期,此用例記為通過
?、? test5輸入為5 3 4輸出為4,預期輸出為4,符合預期,此用例記為通過
?、? test6輸入為2 1 3輸出為1,預期輸出為2,不符合預期,此用例記為未通過
?、? test7輸入為3 2 4輸出為2,預期輸出為3,不符合預期,此用例記為未通過
 
 3.針對test6、test7提交缺陷,表明test6與test7輸出與預期不符
 
 4.打開缺陷分析界面進行分析
 
星云精準測試之用例魔方
 
 5.可疑度算法包括如下三種,可自主選擇
 
星云精準測試之用例魔方

 其中aep表示通過且覆蓋到該塊的測試用例的個數、anp表示通過且未覆蓋到該塊的測試用例的個數、aef表示未通過且覆蓋到該塊的測試用例的個數、anf表示未通過且覆蓋到該塊的測試用例的個數。結果表示該塊的可疑度。
 
 6.代碼可視化查看位置
星云精準測試之用例魔方
 
  關聯源碼之后可根據代碼可視化定位第十二塊位置,根據實際分析可得第十二塊確實為缺陷語句,分析過程見第一步。
 ?。ù蠹胰绻信d趣可以到星云測試的官網上www.teststars.cc 試用。)
  精準測試的精髓在于通過專用測試軟件實現表層功能和底層代碼的關聯,并且獲取成本很低。它在測試用例執行的過程中,通過軟件示波器以透明方式自動獲取兩者的關聯關系。通過精準測試系統,使針對用例的深入分析“用例魔方”成為可能。目前精準測試的核心用例分析算法正在持續增強,“用例魔方”的軟件研發輔助分析功能,為軟件測試的智能化、專業化成長,帶來曙光和方向。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女