一種測試方向的探討-基於模型測試調研引發的思考-4
第四篇 方向評估
4.1 元件化測試的過程改進方向
4.1.1 過程改進
元件化測試本身基於敏捷的思路,發揮測試人員的全程參與能力以及對產品的控制力度。將會結合目前已經形成的測試過程不斷完善。實現測試驅動設計,測試驅動開發的過程。我們最應該落實的首要是:rd應該提供什麼。我們應該如何做。這個應該在整個敏捷過程中不斷明確與打通。
4.1.2 意識轉變
從功能、程式碼的測試意識向加強產品設計、開發、評估的意識轉變。測試的範疇應該更多的納入產品設計的內容與產品評估的內容。這個是一件很困難的事情,但這部分應該嘗試。
4.1.3 技術積累
從整個產品團隊角色,應該儘量避免qa的角色邊緣化,從整個技術發展角度,測試應該形成自己的技術文化與思路。
4.2 元件化測試的技術方向
4.2.1 建模技術方向
建模過程梳理,目前對應的主要是流程模型的建立。
建模幾個關鍵標準:(具體技術標準參見wiki文件)
1、 不同粒度的流程與功能在不同級別進行劃分
2、 相同功能屬於同一層次結構
3、 粒度細的流程模型應該對應於具體的功能,對於low level的流程模型,測試方法應該是固定的。(自動化方案也是固定明確的)
其中3是核心。
4.2.2 自動化的方向(意外的驚喜?)技術的低耦合性
1、 不同粒度的流程與功能在不同級別進行劃分
2、 相同功能屬於同一層次結構
3、 粒度細的流程模型應該對應於具體的功能,對於low level的流程模型,測試方法應該是固定的。(自動化方案也是固定明確的)
其中3是核心。
4.2.2 自動化的方向(意外的驚喜?)技術的低耦合性
標準模型的元件化例項:
A、 對應於目前的元件化測試平臺—主要解決建模與模型分析的方法。
B、 對應於一套自動化框架(從產品特點來看,應該是基於資料驅動)
C、 資料,過程工具的整合維護。
從調研分析可以看到,技術的高耦性會必然帶來失敗。因此,元件化發展時將盡量採取技術低耦合的方式進行。上述三個框圖內容彼此應該是可拆解與組合的。
由於模型建立時基於功能類聚的準則。因此,對於細粒度的模型來說,對應於非常具體的功能,也就是對應於同樣的操作序列,同樣的測試方法,同樣的驗證過程。不同的只是資料而已。資料驅動的良好嫁接。
是意外還是必然? 從基於模型測試的本身來說,必然會出現這種邏輯,模型是根據當前元件特點建立的,方法上必然具有天生的一致性。這也是模型驅動測試開發的關鍵。
B、 對應於一套自動化框架(從產品特點來看,應該是基於資料驅動)
C、 資料,過程工具的整合維護。
從調研分析可以看到,技術的高耦性會必然帶來失敗。因此,元件化發展時將盡量採取技術低耦合的方式進行。上述三個框圖內容彼此應該是可拆解與組合的。
由於模型建立時基於功能類聚的準則。因此,對於細粒度的模型來說,對應於非常具體的功能,也就是對應於同樣的操作序列,同樣的測試方法,同樣的驗證過程。不同的只是資料而已。資料驅動的良好嫁接。
是意外還是必然? 從基於模型測試的本身來說,必然會出現這種邏輯,模型是根據當前元件特點建立的,方法上必然具有天生的一致性。這也是模型驅動測試開發的關鍵。
4.3 元件化測試的風險評估
4.3.1 質量風險
基於模型分析的方法覆蓋率已被證明比手工測試建立更加徹底。(注意,這裡的模型包括狀態圖,流程圖,UML圖的形式。 IBM用的較多的是UML圖)
從目前元件化測試的實際結果來看,覆蓋率的提升也在40%左右。
但是有一點前提依賴: 需要經驗豐富的測試人員或者產品工程師進行建模。人的能力挑戰是一大風險。
4.3.2 技術風險
目前模型測試技術研究方面是不算太成熟的,對於資料分析,產品評估方面的方法沒有十分適合的技術,這個存在未知風險。摸索的結果可能完全錯誤。這一點我們希望能儘量參考業界研究,包括建模方法,分析方法。避免彎路。
同時,對於以前的測試模式,方法工具,人員能力都提出挑戰。這個有較高代價,困難重重. 而模型測試本身又需要一定的學習成本。這一塊得挑戰不言而喻。
前途美好,道路曲折。
4.3.3 組織風險
過程改進可能面臨的排斥,主要是敏捷思想帶來的排斥。
4.3.4 規模失控風險
規模失控包括模型失控與case失控。
1、 case失控。包含兩個方面。Case爆炸與無效case。這個對於狀態圖來說非常明顯。微軟spec是個解決方案,但是如何與我們的產品結合是個難題。對於流程圖模型來說,經過人工分析抽象後,case爆炸不會存在。無效case不會出現。這種擔心小很多。
2、 模型失控。主要是模型的複雜度與數量。 這個要注意一個前提,模型測試之初是為了解決複雜大型系統的測試而誕生的。因此模型的建立必須是簡單,明瞭。高度抽象的。這個依賴於測試人員建模過程的分析與把握。
4.4 元件化測試的收益分析(具體參見wiki總結)
4.4.1 質量方面
基於模型分析的方法覆蓋率已被證明比手工測試建立更加徹底。(注意,這裡的模型包括狀態圖,流程圖,UML圖的形式。 IBM用的較多的是UML圖)
以目前受益分析來看,覆蓋率比以前提升在40%左右。
4.4.2 效率方面
以敏捷的思路來做,專案週期縮短是必然的。
後續主要是在元件分析與元件自動化方面獲得較大效率提升。
4.4.3 敏捷過程的完全實施與優化
1、前期介入(建模)
2、測試驅動設計,開發(基於模型驅動)
3、迭代開發
4、維護的極低成本(模型可以更好的應對需求設計變動帶來的修改代價)
4.4.4 產品設計與產品評估的嘗試(產品價值)
1、 產品設計bug在試行與實際執行的幾個專案中都有出現,2-4個不等。本身數量不大,但是意義很大,出現了就是好的。在鍛鍊大家的這種意識。
2、 產品評估嘗試。如何進行產品評估,google在微模型的架構下進行驅動開發,rd與測試人員的產品設計與評估方面的區分被弱化。而這一塊目前我們並沒有嘗試。
4.4.5 技術/流程導向性
1. 技術導向性希望能形成一定的測試方法沉澱。
2. 流程導向性希望能促進測試人員的產品全過程參與能力。
作者:sevensky615
本文轉自百度技術51CTO部落格,原文連結:http://blog.51cto.com/baidutech/743229,如需轉載請自行聯絡原作者
相關文章
- 一種測試方向的探討-基於模型測試調研引發的思考-1模型
- 測試雜談——一條SQL引發的思考SQL
- 關於測試流程的思考
- 關於enq: TX - index contention 等待的探討與測試ENQIndex
- Web效能測試種類與全面測試模型Web模型
- 一種基於 cypress 的 UI 自動化測試框架UI框架
- 基於 AI 大模型的精準測試分享AI大模型
- 測試的思考點
- 基於測試驅動的iOS開發iOS
- 試析軟體測試的錯覺及發展方向
- 探討Morest在RESTful API測試的行業實踐RESTAPI行業
- 系統測試-從研發到測試過程
- 一種新的UI測試方法:視覺感知測試UI視覺
- 測試驅動開發(TDD)的思考
- 我對測試的思考
- 軟體測試學習 ——五種軟體測試模型模型
- 被領導逼瘋的測試 --- 尋求測試發展方向指導
- 介面測試 - 引數測試
- iOS自動化測試調研方案iOS
- 一次筆試引發的關於setTimeout的this的思考筆試
- 中興通訊測試專案實踐:敏捷測試特性文件的交付過程實踐探討敏捷測試
- 基於Web的系統測試Web
- 網購 “砍價” 引發的思考:為什麼要做介面測試?
- 測試開發的方向應該如何選擇?
- 軟體測試之Fuzzing和基於屬性的測試
- 滴滴開源 | Rdebug:基於真實流量的研發、除錯、測試利器除錯
- 深入探討 Chrome iOS 版測試及釋出流程ChromeiOS
- 軟體測試培訓分享:軟體測試的職業發展方向有哪些
- 特徵工程:基於梯度提升的模型的特徵編碼效果測試特徵工程梯度模型
- 軟體測試基礎 (一): 單元測試
- 軟體測試基礎 (一):單元測試
- 測試建立基於函式的索引函式索引
- 基於敏捷測試的技術研究敏捷測試
- 基於jmeter的效能全流程測試JMeter
- 測試4
- 測試測試測試測試測試測試
- 關於壓力測試中 TPS 和併發數的思考
- 基於函式index的一點簡單測試!函式Index