你在過度測試你的軟體嗎?
釋出候選測試需要花費很長時間,這是許多敏捷團隊都面臨的一個最大的挑戰。但據JavaWorld報導,許多公司都透過持續交付模型消除或極大地減少了釋出候選測試,而且它們有一些共性:
使用測試工具:有許多測試工具可以執行軟體,貫穿軟體的基本流程。因此,選擇恰當的自動化檢查工具非常關鍵,而其目標是降低風險,快速執行,減少手工維護的工作量。
將工具鉤連到構建系統:等待構建完成再手工執行檢查會浪費大量的時間,而在每次構建時自動檢查可以消除這種浪費,最好是有一個自動化的檢出/構建/部署/測試/推廣管道。
從根本上消除迴歸錯誤:利用減少釋出候選測試節省出的時間改進開發實踐。
開發可單獨部署的元件:藉助元件,每個變更都是相互隔離的。變更影響範圍小,降低了部署風險,使得部署或回滾過程更可控。
根據風險劃分測試/部署策略:不同的功能可能需要不同的測試策略或過程,高風險、釋出頻率低的變更可能需要更嚴格的測試過程。Zappos(Amazon的一個部門)很久之前就採用了這種方式。
持續監控生產環境:缺陷程式碼在生產環境中存在的時間越長造成的損害越大。如果團隊可以快速發現並修復缺陷,那麼風險將大大降低。
自動部署和回滾:透過幾次點選就可以實現部署或回顧。
配置標識:程式設計師在編碼時將新特性封裝在一個if()語句中,然後就可以透過將配置標識設定為“On”或“Off”來啟用或關閉特性。感興趣的讀者可以閱讀下這篇文章。
增量滾動釋出:將配置標識與不同的使用者關聯,就可以實現為不同的客戶提供不同的功能。感興趣的讀者可以看下微軟的做法。
當然,並不是在任何情況下都可以消除釋出候選測試。在某些情況下,需要在測試時間和釋出風險之間進行權衡。也就是說,要根據風險制定靈活的釋出候選測試策略。
對於JavaWorld的報導,有網友提出了不同的意見。Steve Naidamast認為:
這個消除或減少應用程式的建議跟實際的測試過程一樣複雜,甚至更復雜……此外,由於能力的不足或工具的缺陷……,會引入新的問題……
而網友Chris Riley則認為該報導具有誤導性:
第一,它沒有建議我們減少測試,而只是將測試移到了管道中的不同位置。第二,持續交付並不適合所有人……這看上去是個不錯的理想,但可能會誤導R&D主管在沒有備用計劃的情況下錯誤地削減了QA職位。
本文轉自:
使用測試工具:有許多測試工具可以執行軟體,貫穿軟體的基本流程。因此,選擇恰當的自動化檢查工具非常關鍵,而其目標是降低風險,快速執行,減少手工維護的工作量。
將工具鉤連到構建系統:等待構建完成再手工執行檢查會浪費大量的時間,而在每次構建時自動檢查可以消除這種浪費,最好是有一個自動化的檢出/構建/部署/測試/推廣管道。
從根本上消除迴歸錯誤:利用減少釋出候選測試節省出的時間改進開發實踐。
開發可單獨部署的元件:藉助元件,每個變更都是相互隔離的。變更影響範圍小,降低了部署風險,使得部署或回滾過程更可控。
根據風險劃分測試/部署策略:不同的功能可能需要不同的測試策略或過程,高風險、釋出頻率低的變更可能需要更嚴格的測試過程。Zappos(Amazon的一個部門)很久之前就採用了這種方式。
持續監控生產環境:缺陷程式碼在生產環境中存在的時間越長造成的損害越大。如果團隊可以快速發現並修復缺陷,那麼風險將大大降低。
自動部署和回滾:透過幾次點選就可以實現部署或回顧。
配置標識:程式設計師在編碼時將新特性封裝在一個if()語句中,然後就可以透過將配置標識設定為“On”或“Off”來啟用或關閉特性。感興趣的讀者可以閱讀下這篇文章。
增量滾動釋出:將配置標識與不同的使用者關聯,就可以實現為不同的客戶提供不同的功能。感興趣的讀者可以看下微軟的做法。
當然,並不是在任何情況下都可以消除釋出候選測試。在某些情況下,需要在測試時間和釋出風險之間進行權衡。也就是說,要根據風險制定靈活的釋出候選測試策略。
對於JavaWorld的報導,有網友提出了不同的意見。Steve Naidamast認為:
這個消除或減少應用程式的建議跟實際的測試過程一樣複雜,甚至更復雜……此外,由於能力的不足或工具的缺陷……,會引入新的問題……
而網友Chris Riley則認為該報導具有誤導性:
第一,它沒有建議我們減少測試,而只是將測試移到了管道中的不同位置。第二,持續交付並不適合所有人……這看上去是個不錯的理想,但可能會誤導R&D主管在沒有備用計劃的情況下錯誤地削減了QA職位。
本文轉自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29379530/viewspace-2123938/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 軟體測試這些你知道嗎?
- 你瞭解過軟體確認測試嗎?可進行確認測試的軟體測評中心推薦
- 選擇了軟體測試,你後悔嗎?
- 作為一個軟體測試新手,你知道軟體測試的幾個方向嗎?
- 軟體測試這些誤區你有過嗎?快收藏避雷了!
- 做軟體測試,為什麼你的工資不過萬?
- 第三方軟體測評▏web測試和app測試的區別你知道嗎?WebAPP
- 軟體安全測試擔心效果不好?這3個安全測試工具你用了嗎?
- 自動化測試可替代手動測試?軟體測試這個誤區你有嗎?
- 你不知道的軟體測試那些事?
- 介面測試工具好物分享,讓你的軟體測試事半功倍
- 軟體測試新人,你該如何找到方向?
- 寫PHP程式碼你搞過單元測試嗎PHP
- 軟體測試的五個目的,你知道幾個?
- 賀炘:你的軟體測試基因是什麼?
- 【軟體測試】你最常用的web測試-瀏覽器相容性測試Web瀏覽器
- 軟體測試中過度設計的那些事兒
- 解放雙手——你知道軟體測試階段都有哪些主流自動化測試技術嗎?
- 你試過不用if擼程式碼嗎?
- 測試工程師看過來!面試,你真的會嗎?工程師面試
- 49種軟體測試方法,你知道幾個?
- 在分散式系統中,軟體測試工程師如何測試你不知道的東西?分散式工程師
- 軟體專案驗收測試範圍和流程,這些你都知道嗎?
- 軟體測試培訓分享:軟體測試的發展空間大嗎
- 軟體測試員,聽說你在找工作!給你講講我是如何實現薪資翻倍的?
- 軟體測試真的比不上軟體開發嗎?
- 軟體測試培訓分享:軟體測試自學能找到工作嗎
- 你真的會搭建測試環境嗎?
- 學軟體測試必看的10本書推薦給你
- 軟體安全測試有哪些測試手段?軟體測試報告收費貴嗎?測試報告
- 軟體測評中心▏軟體效能測試的這幾個誤區你一定要避免!!!
- 學軟體測試有前途嗎
- 用了ZAP,你的軟體就安全了嗎?
- 軟體開發!=軟體工程 你真的希望如此嗎?軟體工程
- “搭建過測試環境嗎” 你怎麼回答?需要掌握哪些技能?
- 你確定能通過現在的VUE面試嗎?Vue面試
- 總結49種軟體測試方法,你知道幾個?
- # 一篇文章帶你入門軟體測試