軟體測試持續整合的方法實踐
配置管理在軟體開發專案中極其重要,它記錄了軟體開發流程的演進過程。它能夠實現軟體增量式開發,並隨時可以追溯或檢視任意時間的軟體版本。持續整合一書中對配置管理是這樣定義的:
配置管理是指一個過程,通過該過程,所有與專案相關的產物,以及它們之間的關係都被唯一的定義、修改、儲存和檢索。
那麼我們怎麼做配置管理?
(一)版本控制
(1)首先我們需要一個版本控制系統,Subversion、Mercurial或者Git,對於一個分散式的團隊最好優先選擇Mercurial或者Git。
(2)把軟體開發有關的所有內容進行版本控制。包括原始碼、資料庫指令碼、構建指令碼、部署指令碼、文件、第三方依賴、MindMap等等。保證新加入的成員能夠很容易地從零開始工作,保證在新的測試或者生產中能輕鬆部署應用。
(3)頻繁提交程式碼到主幹。為了驗證修改的正確性,快速的得到反饋,以及能夠輕鬆地回滾到某個無錯誤的版本,提倡頻繁提交。
(4)提交註釋清晰明瞭。構建失敗時,為了能夠通過版本控制器查詢是誰破壞了構建,以及他做了哪些修改,提交程式碼的時候必須使用意義明顯的提交註釋。建議第一段是簡短的總結,第二段是描述更多的修改細節。
(二)依賴管理
第三方庫檔案是最常見的依賴,我們可以在本地建一個外部依賴庫的副本來統一管理所有依賴,如果你使用Maven,你就可以這樣做。
(三)環境配置
軟體最終的執行環境可能不止一個,而且每個軟體都會依賴的硬體、軟體、基礎設施或者外部系統才能工作。我們必須把環境配置自動且可靠化,可以藉助Puppet或者CfEngine之類的工具軟體。
持續整合
敏捷宣言首要原則就是儘快的交付可工作的軟體到客戶手中,為了實現這一原則,控制成本並及早的驗證修改的正確性和快速得到反饋,提倡使用持續整合方法。
準備工作:
(1)版本控制
(2)自動化構建
(3)持續整合系統(Jenkins,Go,TeamCity等等)
(4)七步程式碼提交法則。如下圖:
(2)提交前在本地執行所有的提交測試(單元測試、功能測試等)
持續整合改變了以往的軟體開發模式,使應用程式任何時候都處於可執行狀態,建立了一個快速的反饋環,使你能夠儘早的發現問題,而發現問題越早,修復成本越低。
測試策略的設計主要是識別和評估專案風險的優先順序,以及決定採用哪些行為來緩解風險的一個過程。
測試有很多種,Brian Marick提出瞭如下圖 所示的測試象限。
好的測試策略會帶來很多的積極作用。測試會建立我們的信心,使我們相信軟體可按預期正常執行。
相關連結:
====================================分割線================================
最新內容請見作者的GitHub頁:http://qaseven.github.io/
相關文章
- SoapUI實踐:自動化測試、壓力測試、持續整合UI
- .netcore持續整合測試篇之測試方法改造NetCore
- Flutter web 持續整合實踐FlutterWeb
- 持續整合(三):最佳實踐
- 軟體測試過程的持續改進
- Linux 核心的持續整合測試Linux
- 持續整合開源軟體
- 京東到家的持續整合實踐之路
- CI/CD 持續整合部署實踐
- Jenkins & Docker 持續整合實踐JenkinsDocker
- ET-ci — 全自動軟體測試排程(持續整合)平臺
- 個人對持續整合的理解和實踐
- Jenkins與Docker的持續整合實踐JenkinsDocker
- Artifactory & GitLab CI持續整合實踐Gitlab
- Jenkins持續整合 入門實踐Jenkins
- 一個Web 持續整合工作實踐Web
- 持續整合實踐成熟度模型模型
- Apworks框架實戰(三):單元測試與持續整合框架
- 使用 Xcode Server 持續整合 & 打包測試XCodeServer
- .net持續整合測試篇之Nunit引數化測試
- Practice - iOS 專案持續整合實踐(一)iOS
- Practice – iOS 專案持續整合實踐(一)iOS
- 持續整合之路——資料訪問層的單元測試(續)
- .net持續整合測試篇之Nunit that斷言
- .netcore持續整合測試篇之搭建記憶體伺服器進行整合測試一NetCore記憶體伺服器
- 在持續測試中使用哪種測試?談談DevOps在測試策略中的實踐!dev
- 質量之匙:持續整合工具與實踐
- 擁抱變化——持續整合(CI)實踐心得
- 聊聊持續測試
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- 軟體開發為何採用持續整合
- 軟體測試理論和實踐
- Django測試與持續整合:從入門到精通Django
- 軟體測試的方法
- Parasoft軟體測試實踐:什麼是左移測試?
- [原創]淺談持續整合在測試中的應用
- M1 macbook pro已到位,軟體測試持續更新中Mac
- 淺談持續整合的理解以及實現持續整合,需要做什麼?