15個問答為專業測試人員揭開“精准測試”的面紗


1.到底什么是精准測試。和傳統測試的區別和聯系。

  相對於普通測試,精准測試是在傳統測試過程中,通過技術手段對被測程序進行360度全景測試,將測試過程可視化、數字化、標准化,從而達到被測程序上線穩定、無風險、維護成本低等優勢。

  和傳統測試比起來,精准測試需要通過程序自動的生成海量的、不能被篡改的原生態測試數據,通過這些數據的匯集、分析對測試進行帶有智能性的指導,避免了傳統測試過程中人力記錄的時間成本與真實性的問題。

  精准測試和傳統測試的聯系在於,整個測試過程中實際操作完全基於傳統測試,並通過技術手段在傳統的測試過程中自動產生原生態的測試數據。

我的理解,所謂精准測試就是在傳統測試基礎上進行智能化的分析處理,可視化的跟蹤查看,更多是采用數據方式展現你這個項目進度情況等等,舉個例子一般大型項目都會有項目經理進行跟蹤,開發情況提測時間,測試進度,回歸測試,上線情況等,這一系列的處理流程都是人工在excel表中記錄的,透明度達不到特別的清晰,很可能某一個環節出現問題就會導致整個鏈條的死循環,更多時間需要拉上相關負責人開會push,建立各種討論組微信群進行討論分析解決,而精准測試就是把這一系列的流程通過第三方軟件呈現出來,提早暴漏出來風險,催促相關人員解決,更有效的溝通,說白了就是以前大家開例會匯報下工作情況,每個人只知道自己的,而不知道別人的,通過第三方軟件可以有效地查看到別人情況,特別對於領導而言是極大地便利可以把控項目節奏和控制風險的一種方法。

 

2.精准測試技術對於黑盒手工測試的效率提升。

肯定很多人想問,精准測試更精准、質量越高是否需要花費更大量的時間,在現今互聯網時代,版本高速迭代的過程中,導致了大量黑盒手工測試的誕生,這樣是否與精准測試提出的質量保證產生矛盾,我們通過下面這樣圖進行分析:

 

傳統的黑盒測試在70%前的階段,查找BUG是非常迅速的,但之后缺陷的發現效率會急劇的下降。

  精准測試是結合傳統的黑盒測試與白盒測試相結合的模式,它可以在黑盒測試過程中,通過程序自動產生白盒級別的運行邏輯數據,根據可視化出來的不足點和漏洞點,引導開發和測試有針對性的高效的補充用例。

我的理解,舉個例子當測試接到需求時候要進行需求分析拆分功能點,書寫相關測試用例,盡可能想到各種異常用例和盡量達到高的產品測試覆蓋率,前期產品不穩定會有很多bug,但是后期會很難發現更多的問題,產品會進入一個平穩期,這個時候可能就會有很多漏洞的產生,如果上線之后必然會有補丁的發布等等,線上問題的解決,甚至一些高風險問題暴露出來,很難做到覆蓋率跟漏洞的分析,但是通過第三方工具就可以查看到那些模塊覆蓋率低並且具體問題具體分析做到萬無一失。如:函數ID 1880 isrefreshview scroll通過代碼可視化和開發交流得知,此模塊為優惠卷拉升加載功能,但是此功能需要優惠卷超過一定量后才會出現,但是實際測試中,測試人員只得到了一張優惠卷的賬號,在遍歷中自然無法覆蓋到該功能。

 

3.精准測試對於測試行業的影響是什么?對普通測試人員的影響。

  精准測試對於測試行業來說是一項重大的突破,用原生態的測試數據來保證被測程序的質量,從而提高程序的穩定性、可維護性。

  對普通測試人員來說,精准測試相當於一個“透明”的測試,在測試中后期,精准測試能大大提高普通測試人員的測試質量以及把控測試方向,黑盒手工測試也能夠容易的突破職位的瓶頸。

 

4.精准測試為什么可以促進測試和開發的互動,以及融洽二者的關系。

  精准測試在測試過程中會產生大量的原生態測試數據,,而精准測試在測試過程中能夠直接將測試人員的功能執行定位到代碼的運行邏輯,使得開發人員很容易的在代碼中定位到測試過中產生的問題,這樣的使得開發和測試有了一層交流的通道從而達到互動。

回歸測試用例自動選取

傳統:在回歸中因開發回歸范圍大或避免測試遺漏回歸范圍,往往在回歸過程中要求測試進行全部回歸,但是又因時間緊等因素導致測試不全,上線后測試心理沒底。

精准:通過回歸測試用例的自動選取,提取需要回歸的版本的測試用例以及該版本之前所有版本的測試用例進行查詢,獲取每條測試用例最后運行的版本進行數據提取,並通過測試用例、代碼、模塊的追溯關聯技術,與要回歸的版本進行比對。分析出開發改動所影響最大的回歸測試用例。

在測試時間不充足的情況,可以通過該功能和開發人員一起對其測試用例進行評估,圈定測試用例回歸的范圍,從而降低測試回歸的成本。

 

5.精准測試對於覆蓋率技術的全新詮釋。

  對於白盒測試有深入研究的技術人員可能會問到,精准測試還是很多用到了覆蓋率技術,這些本來不就是有開源的工具嗎?下面我們來比較一下:

  開源的覆蓋率工具:

  1、 將所有的測試產生的覆蓋率混在一起,不具備快速定位缺陷與輔助查錯,分析測試效率以及管理特性等等。

  2、 單機運行,一個團隊下多人測試的結果無法有效的整合,也不能按照日期累計

  3、 無法達到MC/DC這些更高要求的覆蓋率計算。

  4、 無法提供版本變更后的覆蓋率的累積,無法適應高速迭代的應用場景。

  5、最大的問題在於普通開源產品必須面對代碼進行覆蓋率的統計,而絕大部分場合測試工程師是不具備拿到代碼的權限的。

  精准測試:

  1、 覆蓋率的分析和計算精確到每條測試用例針對的函數,每個代碼塊,每行代碼

  2、 多人異地測試,數據整合計算該版本的覆蓋率,按日增長趨勢的分析

  3、 把覆蓋率划分不同的等級,最高支持MC/DC條件組合覆蓋率分析計算,可自定義要求

  4、 版本迭代,多版本覆蓋率分析對比,適應高速迭代的應用場景

  5、 編譯時需要代碼(可隔離編譯保證源碼安全性),后期整個測試和覆蓋率分析過程無需代碼

 

6. 精准測試和手工、自動化測試的關系,以及各自對測試行業的導向。

  精准測試因為不改變原有的測試流程,這使得它在手工或者自動化測試中都能使用,例如:精准測試產生的數字化測試數據對整個自動化測試過程可以進行深入跟蹤和分析,精准測試的分析降低了自動化測試人為的干預度,使得自動化測試更加智能。

  未來類似於精准測試技術的測試分析系統會真正引領測試走出打開新的局面。因為測試分析系統是屬於測試的專業范疇,更加適合測試人員的專業特性。而自動化測試,天生的腳本開發特性以及復雜的控制特性,對絕大部分普通測試工程師來講,這方面處於明顯的劣勢

筆者大膽猜想一下,未來測試行業走向肯定是更加智能化,偏向AI方面,所有的測試技術都會以更加智能化的方式體現,換句話說整個產品的生命周期是可視化的,通過UI的方式呈現出來,比如測試覆蓋率這些比較虛的東西都可以通過實打實的數據展示出來,excel這種記事方法,單純的發報告郵件方法會被淘汰,整個產品從生到上線以及后續的運行情況都透過精准測試這一手段展示出來,而測試需要做的就是在此基礎之上進行好工作,而工作的體現就是透過精准更加有效精准的展現。

 

7.精准測試強調的測試數據的原生性的含義以及對測試組織形式的影響

  原生性也就代表了公正性、真實性,精准測試提倡原生性的目的在於通過原生的數字化信息讓測試這個行業的結果更加公正、真實、可信。避免人為原因造成的驗收盲區。

  國內的測試外包幾乎100%都是駐場的,駐場外包會產生很多不必要的開銷。而精准測試雖然是技術層面的概念,但因為精准測試技術采用的是非人工錄入數據的原生態數據源,又有實時的報表計算和測試跟蹤等功能,因此精准測試天生也是一個具有互聯網基因的技術,它存在推動軟件測試互聯網化潛能。

 

8.精准測試在軟件質量分析領域的核心特性。

  精准測試的核心特性有:測試示波器、崩潰捕獲、路徑分析、全方位可視化的測試每一步、實時測試數據接收、測試用例和代碼的雙向關聯與追溯、全面記錄測試過程中的測試設備和測試人員以及測試用例與代碼等多者之間的關聯,並通過豐富的報表和技術債務與風險指標進行展示

  精准測試將測試過程所獲得數據進行了指標化,測試后即會得到關於覆蓋率、復雜度、代碼重復率、測試漏洞計算、崩潰分析、測試充分度分析、測試貢獻度分析、技術債務計算、設備和缺陷的關聯度分析等精准的質量分析報告來分析測試和項目質量。

 

9.精准測試在設計上對於普通手工測試工程師的考慮。

  精准測試在設計上對於普通手工測試工程師進行了優先考慮,在完全不改變測試流程的情況下產生成原生態的測試數據,精准測試為了降低普通手工測試工程師的數據分析難度,采用覆蓋率計算可視化,控制流程圖,雙向追溯等技術,以圖型的展示(而不是一個數字的表達)方式讓普通手工測試理解或尋求幫助。

 

10.精准測試對於代碼保全和軟件工程方面的重要貢獻。

  精准測試在實際運行過程中會記錄測試每一步足跡,這也間接的保全了功能的實現邏輯,精准測試通過技術手段把測試用例和代碼進行了對接,這使得開發來人在改動代碼的時候可以通過測試人員的測試用例知曉其改動的印象范圍,以便於做到一致性修改,並且更換新的開發人員也可以通過這個功能來了解被測程序的代碼運行邏輯,這樣有利於開發理解迅速掌握程序的內部結構。

 

11. 沒有源代碼能否進行精准測試。

  傳統白盒測試不能進入工業界的主要原因是因為學習難度以及對代碼的安全度,精准測試為了保證源碼安全性,采用了對代碼進行插裝的技術,插樁后打包的應用給測試人員,完全杜絕了測試人員或用戶觸碰代碼的機會,在測試分析過程中如需要源碼,只需在本地有源碼的環境中與測試數據所記錄的數據庫匹配,就能實現無縫對接。

  精准測試這項技術更完美的適用於車聯網這類的行業。

  測試人員甚至可以邊在行駛過程中操作智能駕駛系統的同時,通過精准測試的軟件示波器即時地獲得測試數據和測試結果。測試人員在移動的車上進行測試后,將一整天獲得的測試數據拿到軟件平台中進行分析。測試全程無法接觸到源碼,保證源碼安全。

 

12.如何理解精准測試里面的技術債務分析。

  一款程序的代碼的編寫、代碼的復雜度、以及開發的人員、測試人員后期的維護等都會對程序產生技術債務,在精准測試里面,通過各項指標對軟件進行了債務分析,並進行計算,債務越少自然表示該程序的測試越充分、穩定性更好、可維護性佳,且通過該值也反映了后期對該程序所需要的投入以及團隊的能力進行了預判。精准測試會引導用戶如何去償還債務,而這個償還債務的過程即是軟件質量接近完美的過程。

其實就是產品后期的可維護性,需要一個人每天看看報告,不需要大量人力去修復后期的bug

 

13.精准測試未來的發展方向?

  精准測試未來的發展方向主要是針對被測程序的質量驗收與建立良好的測試體系,對於現今互聯網企業的崛起,版本高速迭代與程序的質量都影響着互聯網企業的發展,精准測試在這方面憑借着自身的技術優勢,在不為企業增加多余的負擔的情況下逐步的提升程序質量以及建立一套完善的測試體系。

 

  14.精准測試對於軟件交付、軟件眾測的意義。

  在互聯網發展的今天,軟件定制已經成了行業熱門,但是如何讓軟件達到甲方要求的預期呢?通過尾款的方式進行保障已經完全不夠,采用外包形式需要花費大量的人力管理和其它開支成本。精准測試的原生態數據恰好解決了這些顧慮,通過技術手段采用分布式互聯網管理的測試方式,甲方只需通過精准測試的原生不得篡改的數據平台就能觀察到整個程序的測試質量,讓甲方在驗收的同時多了一份信心。

  對於軟件眾測來說,大量的測試人力,且個人能力高地差距較大,雖然能在某些方面幫甲方解決的軟件試用問題,但是在維護方面又如何呢?各種BUG的描述、問題的表達、以及測試的范圍度,這些都無法進行考量與統一。精准測試模式恰巧能解決這類問題,它通過與眾測進行結合,通過不同的測試人員運行的測試軌跡,加以合並計算出完整的測試覆蓋率范圍,也能直接表現出程序模塊的熱門度,更大大解決測試人員因能力差異而提交BUG問題反饋,這樣配合讓甲方在眾包人力的測試過程中,得到了一份原生態的數字化報告。

 

15.精准測試如何降低企業立測試團隊的難度和成本。

  精准測試對於企業來說通過測試人員的管理、中后期的測試效率以及不依賴個人能力等特點,大大降低了企業測試團隊成本,精准測試通過一系列技術手段在不改變原有的測試流程大幅度降低測試人員要求,並在中后期的測試效率上給予大幅度的幫助提高質量,這使得企業成本的核心公式計算中發生了轉變。精准測試為企業帶來的是明確的、數字化的對於產品質量的信心,而並不是對於團隊的模糊的基於能力的、經驗的判斷。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM