<output id="uabzf"></output>
<code id="uabzf"><ol id="uabzf"></ol></code>


        1. 精準測試技術十年發展漫談

          上一篇 / 下一篇  2022-10-14 10:38:30 / 個人分類:精準測試

           

           精準測試技術十年發展漫談

           


          一、 背景

           

          精準測試技術,是這幾年比較熱的一個方向。從2012這個體系開始誕生,到現在整整歷經了10年的時間。中國從國外引進了很多技術,火與不火其實在國外已經決定了。本土成長起來的精準測試路線獨樹一幟,它不是從國外引入,是在中國的大環境下慢慢發展起來的。從寂寂無名,到軟件質量技術從業者的熱情被一點點的調動起來,再到被認可及至推廣,中間翻越過萬重山。本文作者星云測試平臺設計師、創始合伙人趙明先生站在另一個維度,以星云為例側重了精準測試技術的起源發展、商內核以及行業的展。

           

          二、 精準測試的定義 

           

          精準測試一句話概括就是測試用例和代碼之間的追溯,這是它最本質的東西。精準測試的本質決定了它抓住了測試的一個核心要點。

          大家知道,軟件主要有兩個方面:一個是我們看到的功能,即從界面上看到輸入輸出通常我們測試是基于這個);另外還有背后的代碼。功能測試整體動態運行的時候,功能和代碼必然存在著追溯關系。這種相互追溯,很像物理界的量子糾纏理論。就是說,軟件代碼運行邏輯和功能輸出,是兩個也同時是一個整體,像量子糾纏一樣。當把兩個量子視為一個整體,觀測任何一個都觀測不全面。這個也就是我們黑盒測試以前遇到的問題,它存在很多隱性問題,因為它沒辦法觀察計算機最本質的東西--代碼的同步變動。精準測試就把這兩個全部觀測、捕捉并回放出來了。

           

          早星云2014年的國際軟件測試大會上首先發布精準測試的時候,就叫穿線測試,英文名字叫Threading Test,并沒有直譯成Accurate test,現在看還是Threading Test最契合。首先,精準測試建立起了用例和代碼的關系,相當于把黑盒和白盒關聯起來,做黑盒測試時獲取到白盒數據。即完成一個測試邏輯,代碼上的邏輯立馬同步生成,準確地把開發測試關聯起來,這里使用了Threading的穿線的含義。另外一個層面,精準測試最本質就是線程覆蓋測試。它跟白盒最大的區別是覆蓋率是線程級的,也就是我們要追溯用例這個級別。比如一個系統可能很多用例同時跑,最終用例級的數據是在線程里面。我們拿到線程級的數據,就能拿到測試用例級別的這種覆蓋率。這里體現了Threading線程的含義。所以我們整體英文名字叫Threading Test,這是我們中國自己命名的。

           

          三、 精準測試技術發展

           

          精準測試是從2012年開始發展的。最開始的時候(星云)團隊建立一些基礎理念,主要建立用例和代碼相互追溯基本技術方向和框架。

          2013年,星云開始做第一個源碼插裝內核,基于JAVA的SASI(源碼插裝)。

          2014年,用例和代碼追溯、軟件示波器、回歸用例自動選取基本已經成型。年有個重大的事項:iSQE會上以“穿線測試第一次發布產品。當時引起了行業上很大的關注。

          2015年,開始做C++的SASI(源碼插裝)相當于向國際最頂級的白盒測試工具進行挑戰并闖關突破了這個技術領域。

          2016年,做出的產品開始正式商用,開始有用戶采購。

          2017年,向白盒測試最頂級的覆蓋率MC/DC100%覆蓋率)去挺進并獲得成功。意味著在航空航天、智能工業等領域,中國開始有能力完成自己的高端白盒工具的替代。

          2018年,在分布式系統的追溯上,星云全系統的用戶標識和流量隔離技術誕生,這也是精準測試比較核心的技術。

          2019年,開始做SABI 1.0SouceCode Analyzer ByteCode Intrumentation,插裝方式發生重大變革,跟我們見到的常規架構區別很大。能夠做到無損采集與分析數據,可靠性很高,用戶發流程也很簡單。

          2020年,開始做整體輪次級項目級累計覆蓋率,能夠實現全自動的實時的跨版本的數據合并,解決覆蓋率技術商用的重要障礙,以及嵌入系統的支持。

          2021年,開始做SABI 2.0高可用。

          2022年,突破了多關鍵的領域,比如linux kernel、DSP芯片、安卓的Framework操作系統,因為以上的數據采集方式非常特殊,完成非常不容易。

           

          可以說任何一項高端技術,都不能脫離一個漸進的過程,唯有量變才能真正實現質變。雖然充滿了艱辛,但從學術理論到技術落地、到各大企業實際場景接連不斷的好評,宣布了中國在這個領域中率先取得了令人驚喜的成果,不再受制于人。

           

          四、 精準測試的專利技術

           

           

          (星云)精準測試建立了非常完整的國家級專利簇保護機制。下面為大家講解一下這些專利技術的特點。

           

          一種基于測試用例與源碼雙向追溯的測試裝置及方法,是星云精準測試最關鍵的發明專利,2014年申請2017年正式授權。這個專利當時引起了很大的爭議,專利局認為這種東西非常底層,就像蘋果因為重力而落地,通過水的勢能來發電一樣,專利局一通認為這個東西太常理化了。不過就像通過水的落差發電一樣,需要有人能夠進行系統的理論論證探索并且進行工業化的應用,才能真正的在轉變為生產力,而用例和代碼的追溯也正是通過工業級精準測試的應用才開始全面受到重視并開始大面的應用。

           

          2018年獲得授權國家發明專利覆蓋率可視化”(行業俗稱代碼染色)、回歸測試用例選取等,都是在精準測試體系中比較關鍵的專利。比如“回歸測試用例選取”,在代碼變化的情況下,到底應該選哪些用例進行回歸?(星云)的這項目技術可以精準的挑出這些用例(都是基于代碼和用例的關系,在新版本發布以后,看它代碼路徑變化的問題,整體回歸效率提高3-5倍以上,并且大幅度降低因為回歸時間有限而引起的質量風險。

           

          其它的專利技術是在整個商用過程中,陸續發明的。比如:分布式系統或者集中式系統,很多人同時訪問的場景。就是在分布系統上,看一個用例在各個系統都怎么跑的,而且并發跑的時候不受到干擾。那么就要有用戶標簽技術,然后做流量隔離。這個在分布式系統下也是一個重要的發明專利。就是指我們在分布系統下,每個測試用例可能跑到每個分布系統里面,往哪個版本存?我們做了一套自動處理機制,這也是很關鍵的一套邏輯,屬于精準測試的基礎性專利。

           

          完整的優秀軟件體系,基本來說它需要8項發明專利進行全方位的保護。精準測試是中國擁有完全知識產權的理論體系,F在我們(星云)已經批準和申請超過16個,后續我們還在持續全面的知識產權覆蓋。 

           

          五、 精準測試的一分一合

           

          對于精準測試不算太了解的人可能認為精準測試就是單純的覆蓋率工具或者白盒工具在中國改了個名字,但還是有重大區別。簡單理解,它跟傳統覆蓋率有一個一分一合的變化。

          一分”指的是:精準測試僅僅去統計(大范圍的整體)代碼覆蓋率,而是要精確到用例級。比如回歸用例選取、測試用例聚類分析、智能缺陷定位、開發測試的協同,所有的數據都可關聯到用,精準測試的作用范圍就變得很大。大家看上面的雷達對比圖,相當于給傳統白盒測試做了一個全方位的包圍。用例級就能有高精準度的測試分析,傳統的白盒并沒有這種測試分析。

          一合指的是我們這個覆蓋率已經不再是單元級的。傳統白盒測試主要針對單元級,工具很貴,號稱壁壘極高無法突破,但實際上它的難度還不至于高不可攀。軟件在單元情況下,一個單元跑,它的性能要求很低。星云精準測試跟傳統測試的白盒的差別很大。以前白盒測只能用單元,現在我們精準測試可以把它用到系統<

          TAG:

           

          評分:0

          我來說兩句

          我的欄目

          日歷

          « 2022-11-07  
            12345
          6789101112
          13141516171819
          20212223242526
          27282930   

          數據統計

          • 訪問量: 2064
          • 日志數: 8
          • 文件數: 1
          • 建立時間: 2018-11-08
          • 更新時間: 2022-10-14

          RSS訂閱

          Open Toolbar
          明星乱亚洲合成图com|国产真实破苞视|日本a级不打码按摩片|一本通中文字幕亚洲欧美
          <output id="uabzf"></output>
          <code id="uabzf"><ol id="uabzf"></ol></code>