在持續測試中使用哪種測試?談談DevOps在測試策略中的實踐!
DevOps 是一個完整的面向IT運維的工作流,以 IT 自動化以及持續整合(CI)、持續部署(CD)為基礎,來最佳化產品開發、測試、系統運維等所有環節,DevOps的引入能對產品交付、測試、功能開發和維護起到意義深遠的影響。
從大趨勢上分析,未來所有企業都將是IT軟體企業,無論是製藥業、服務業,還是金融業等行業,比如說大部分銀行都意識到創新的偉大驅動力,都在往金融科技企業轉型,終究會轉型為軟體企業,過去幾年,DevOps正在成為軟體企業主流模式,正在成為企業能否在行業內脫穎而出的關鍵性因素。在DevOps實踐中,測試策略的優劣成為了往往能決定DevOps實踐是否獲得成功的必要條件,下面我們來談談DevOps 在測試策略中的實踐。加我VX:atstudy-js 回覆“測試”,進入軟體測試學習交流裙~~
測試有很多種類,在持續測試中使用哪種測試,在團隊融合的趨勢下使用何種團隊結構,使用什麼樣的測試架構,如何更好地推動驗證效率,如何才能在知識不斷更新的當下進行測試團隊的建設,以及不同測試階段需要使用什麼樣的策略,這些都是在實踐中需要關注的。
1、測試促進架構重構策略:根據測試的反饋不斷最佳化系統架構
諸如DevOps之類的實踐,其中最重要的目標是,希望能夠透過測試的反饋來促進系統架構的不斷最佳化和重構。系統重構的基本前提和原則就是,在改變內部架構的同時不會對原有的外部關聯和操作造成影響。在實際的專案實踐中,這當然需要大量的測試來保證,只有透過測試用例驗證,才能證明重構不會帶來新的問題且原有的功能也都能正常工作,這些需要回歸測試來進行保證。而完整的迴歸測試耗時、耗力,這也是導致開發人員對於修改畏手畏腳的重要原因之一。
在推動自動化測試的早期,出現過以覆蓋率提升為導向的現象,在這個時期,比起提升測試率本身,發現程式碼存在的問題及如何進行改進才是自動化測試所追求的。例如,透過對測試覆蓋率的確認,可能會發現一些在邏輯上永遠走不通的分支和語句。這種情況往往是無用程式碼或者潛藏的缺陷引起的,而無論是哪種情況都值得我們對類似程式碼進行確認和重新檢査。
而在推動自動化測試的中後期,自動化迴歸測試起到了非常重要的作用,穩定、快速並且保持實時更新的自動化迴歸測試的使用頻度非常高,而它也能為開發團隊帶來信心,可以保證所有的修改會有它“兜底”,即使在複雜的大型專案中也不用再畏懼可能帶來的影響。所以,在這種情況下,修改不是在問題出現的地方打“補丁”,而是真正從架構的角度對系統進行重構, 這樣才能保證系統可持續發展。加我VX:atstudy-js 回覆“測試”,進入軟體測試學習交流裙~~
2.測試團隊技能提升策略:逐步推動測試團隊知識與技能的重建
隨著雲端計算、物聯網、區塊鏈、人工智慧等的發展,以及敏捷、DevOps的推進,對測試人員的的要求也越來越高。基於這些挑戰,建議採取如下4個步驟來推動測試團隊知識與技能的重建。
步驟1:保證敏捷團隊的測試成員具有相關測試技能及自動化技能,建議所有測試團隊成員都具有自動化相關的技能。
步驟2:測試團隊中具有編碼基礎的成員必須要具備更高階別的自動化技能,如白盒測試能力及開發能力。
步驟3:確保團隊中擁有所需的具有小眾測試技能(如安全、非功能性因素、測試環境、 資料管理等)的成員。
步驟4:測試專傢俱有人工智慧相關技能,如深度學習概念、演算法、神經網路、高階統計知識、資料最佳化等。
3.業務需求優先策略:根據業務需求推行自動化測試
自動化測試的實施是一個長期過程,其中推行的優先順序非常重要。而關於如何確認推行的優先順序,應該回歸到DevOps實踐的目的上。DevOps實踐的目的是實現企業目標,在大部分情況下,盈利是企業最重要的目標,而關鍵業務則是企業實現盈利的重要保證。根據業務的重要性及相關需求設立優先順序,優先保證關鍵業務的自動化測試,按照重要程度設定出短期、中期、長期對關鍵業務的應用覆蓋,這樣才能保證在修改問題時自動迴歸測試有效,以及增加新特性功能時能夠實現敏捷實踐所需要的速度,同時又不會在測試上因折中或讓步而降低質量。
4.測試覆蓋程度提升策略:根據專案狀況逐步提升測試覆蓋率
對於測試覆蓋率的提升,一定要根據專案規模和架構特點,並結合業務變更程度,同時需要確認團隊成員關於自動化測試用例及編寫指令碼的熟練程度等,對這些進行綜合考量之後設立專案應用的測試覆蓋率。一般按照如下步驟來實現測試覆蓋率的提升。
步驟1:根據優先順序,首先實現關鍵業務的良好路徑(聚焦於正常操作的功能測試)及糟糕路徑(聚焦於異常操作或異常狀況下的功能測試)的自動化測試。
步驟2:對於大量的非關鍵業務,仍然按照優先順序,首先實現非關鍵業務的良好路徑(聚焦於正常操作的功能測試)的自動化測試。
步驟3:對於大量的非關鍵業務,仍然按照優先順序,首先實現非關鍵業務的糟糕路徑(聚焦於異常操作或異常狀況下的功能測試)的自動化測試。
步驟4:實現自動迴歸測試並不斷擴大回歸測試所能包括的範圍,而以上步驟同時也可以使用敏捷方式,小步快跑,最終實現整體的自動化迴歸測試。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31407649/viewspace-2788339/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DevOps 中的測試實踐dev
- DevOps中的測試實踐dev
- 簡單談一下我對持續測試下的測試左移、迭代測試和測試右移的理解吧
- 談談測試環境管理與實踐
- 聊聊持續測試
- 測試驅動開發在專案中的實踐
- Redis pipeline 在連續一萬次插入操作測試中的使用Redis
- 【討論】論 cursor 在測試中的使用
- Mock 在 Python 單元測試中的使用MockPython
- Java中的單元測試與整合測試最佳實踐Java
- .net持續整合單元測試篇之單元測試簡介以及在visual studio中配置Nunit使用環境
- Flutter測試(二):在專案中進行 Widget 測試Flutter
- 淺談前端測試前端
- 淺談效能測試
- 提升龍蜥核心測試能力!探究持續性模糊測試最佳化實踐
- 持續測試效能的方法
- .netcore持續整合測試篇之測試方法改造NetCore
- 從測試小白到測試組長,談談我的測試過程及管理經驗總結
- Android 談談自動化測試Android
- 自動化測試在國際軟體測試中的應用
- JDBC 在效能測試中的應用JDBC
- 在介面測試中如何加密 token加密
- 使用 Xcode Server 持續整合 & 打包測試XCodeServer
- 淺談ddos的測試方式
- 淺談並行測試並行
- 淺談web介面測試Web
- 淺談效能測試分析
- 各種工具在軟體測試中的作用,值得收藏!
- 聊聊持續測試的進階
- Linux 核心的持續整合測試Linux
- 聊聊持續測試與安全
- JMeter MQTT 在連線測試場景中的使用JMeterMQQT
- 在平時的測試過程中,測試需要做推進工作嗎?
- .net持續整合測試篇之Nunit引數化測試
- 軟體測試中的功能測試和非功能測試
- 測試測試測試測試測試測試
- 質量運營在智慧支付業務測試中的初步實踐
- 單元測試在Unity中的應用Unity