自動化測試更適合缺陷預防,而不是提高測試效率
很多人在回答為什麼要開展自動化測試時,立即回想到的答案是提高測試效率。這種回答本身並沒有錯,但我想這只是問題的次要方面。在經過數次的自動化測試時間投入與效益比來看,可以基本得出,基於某個場景的測試指令碼,在沒有變更與維護情況下,指令碼執行頻率大於5-7次才基本能夠收回投入成本,產生自動化效益。基於網際網路的產品條件下,一個專案或系統如果包含 > =100個測試場景,事實遠超這個資料的N倍,其實很難能夠保證在收回自動化效益後,場景業務或資料才變更,通常變更是無法預期的或難以控制。
從技術的手段來保證:
曾經我們大膽試圖在技術上創新,嘗試如下技術攻關點:
1、能否透過手工用例,自動化生成指令碼?
2、業務物件變更自動識別,與指令碼自動化維護?
技術點1與2看起來很有挑戰,很值得做,曾經為這樣的Idea 也熱血,與冷靜思考過,並開始一步步逼近實現。但現在可以告訴大家四個字:“得不償失”,其實上面技術點的本質,是在客觀上用技術來代替現實世界中人的主觀。
對於技術1,事實上很難能夠找到通用的建模方式,來描述用例生成指令碼;
對於技術2, 自動化技術是永遠落後開發實現技術的發展,任何新的操作物件產生,必須跟進自動化識別技術,但搞自動化一幫人不可能在office意淫明天會有什麼新的物件面世。即,真正意義上的做到完全無人職守,指令碼自動生成或透過物件嗅探自動維護指令碼,幾乎是“布林什維克”主義, 或者可以說實現上述兩種技術方法,要先誕生實驗室研究或論文階段,類似於企業或像阿里巴巴,華為這樣的大的公司來說,也不會有人站出來說這樣做肯定有收益。
從流程的手段來保證:透過自動化測試體系中流程來約束變更的發現機制?如果,任何變更的源頭來自於需求或者業務,他們可以在變更時告訴軟體生命週期後期測試環節的QA工程師來維護指令碼麼?答案也是幾乎很難,所以從上述技術與流程兩個方面來看,就會涉及到測試效率提高的被動性,當然和重複生成測試資料與較穩定功能的迴歸,測試效率還是有提高的,但和剛才提到的測試效率提高的被動性來比,透過自動化測試來提高效率,其侷限性就不言而喻了。
舉例來看:
上個月釋出了功能點A,有2000個case,這個月釋出了功能點B又新增1000個case。
對於QA手工測試來講,如果沒有自動化測試介入的情況下,我們只是測試與後面1000個case相關的功能,如果時間允許的情況下,我們把頂多把A功能其中主要的500case測試一遍,就可以認為盡力測試到放心上線了,但問題恰恰出現在A功能2000減去500後的1500個case中,但如果我們用了自動化測試角度來看,但我們用了2000個case指令碼,我們只要開發功能點B又新增1000個case的指令碼,那麼我們是可以保證在釋出之前,用自動化來check 2000+ 1000=3000case的,手工測試的釋出時間,肯定要早於用了自動化測試的釋出時間,但測試的覆蓋與範圍從1500case增加到3000case
那麼最後當然得出結論自動化測試更適合缺陷預防,而不是提高測試效率,希望看完這篇文章的同學,能夠和我悟出同樣結論與觀點,也幫助影響你的主管或身邊的同事。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942496/viewspace-2652534/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 手工測試與APPSCAN自動化測試結合的提高效率測試策略APP
- 自動化測試是什麼?什麼軟體專案適合自動化測試?
- 如何選擇合適的自動化測試工具?
- 何時適合進行自動化測試?(下)
- 何時適合進行自動化測試?(上)
- 自動化測試系列 —— UI自動化測試UI
- 2023年好用的自動化測試框架有哪些?如何提高自動化測試效果?框架
- 測試人員如何提高API功能測試效率?API
- 軟體測試:自動化測試
- 【自動化測試入門】自動化測試思維
- 如何提高介面測試的效率
- 自動化測試系列(三)|UI測試UI
- 手工測試和自動化測試 BattleBAT
- 小程式自動化測試--測試3
- 功能測試、自動化測試、效能測試的區別
- 如何學習自動化測試?從手工測試到自動化測試的過程…
- 自動化裝置測試與自動化測試的區別
- 如何做自動化測試?什麼是自動化測試?
- 提高GUI自動化測試穩定性解決方案GUI
- 自動化測試常見問題總結!(適合新手團隊)
- 自動化測試面試點面試
- 自動化測試如何管理測試資料
- API自動化測試API
- 自動化測試框架框架
- 自動化測試理解
- 自動化測試思路
- 介面自動化測試
- airTest自動化測試AI
- selenium自動化測試
- 自動化測試篇
- python自動化測試Python
- jest 自動化測試
- 自動化會提高測試覆蓋率,那測試覆蓋率是什麼?
- seldom 2.0 讓介面自動化測試更簡單
- 測試開發之自動化篇-自動化測試框架設計框架
- 如何選擇一款適合自己的APP自動化測試工具?APP
- 軟體測試理論(2)自動化測試
- Docker與自動化測試及其測試實踐Docker