題外話:
終於又提筆了。一直都記得博客園,偶爾看到評論,偶爾也會翻看舊的文章。一直沒有寫是因為這段時間里有些忙碌,學習測試方法分析,自動化編程,發布流程環境管理,測試提效,學習和積累是一個漫長的過程,以及暫時沒有找到可以單獨成文寫出來的內容。
這次文章講到的內容,是如何從一個測試角度看待發布流程和環境管理這些在功能測試前應該先了解的基礎。
一、環境
開發環境:
通常表示最低環境,由代碼開發人員直接使用和維護,是代碼最超前版本的一個環境。
測試環境:
開發人員確認代碼分支在開發環境自測沒有問題后,提交測試環境進行測試。
測試環境對代碼和系統已經集成,可以供測試人員進行功能模塊測試,集成測試,系統測試,測試環境有獨立的數據庫和賬號權限管理系統,由測試人員使用和管理,功能型bug一般在測試環境中暴露較多。
預發布環境(Pre):
測試人員確認代碼在測試環境經過測試用例測試沒有問題后,提交預發布環境進行測試。
預發布環境作為上線前的最后一套環境,所有的功能和配置,數據庫都已經與線上環境高度相似,僅准入本次需要上線的功能代碼。測試人員使用該環境可以實現大面積的功能測試,該環境比較容易出現不同jar包的依賴和版本匹配問題。預發布環境測試沒有問題的代碼可以直接將該代碼分支提交上線。
預發布環境不常見,一般在比較大,項目相對復雜的環境會特別搭設預發布環境,甚至有公司會搭多套預發環境供上線前使用。預發環境可以獨立建立數據庫,階段遷移一些線上數據作為預發環境的測試數據;也可以直接連線上數據庫測試,但這種方式需要注意臟數據的產生。
線上環境:
最高環境,直接面向用戶。
二、部署
1)Application的版本管理:
通常被很多測試忽略的一點,就是檢查當前測試的包的版本號。如果版本號與開發最新提供有誤,需要查看最近一次部署是否成功。
2)新代碼分支部署進測試環境主干代碼的方式:
模式1:合並后測試。開發人員A與B的代碼分支同時merge進app,提前解決沖突后,再進入測試環境供測試人員測試。
模式2:單個模塊測試后退出環境。開發人員A代碼分支可以先上到測試環境,測試人員測試完成后,再將A代碼分支退下,提交B代碼分支測試,每個分支獨立管理,上線前再整理全部需要上線的分支代碼。
3)上線后的所有代碼需要merge到開發環境,保證后續所有代碼都基於線上代碼開發,避免版本漏洞。
4)發布計划:
當前后端代碼都需要上線/資源存在依賴關系時,需要安排application的發布順序,如:前端的邏輯依賴后端代碼,必須先發布后端,再發布前端。
三、工具
1)showip
showip工具在瀏覽器右下角直接展示當前頁面的IP地址,在測試中可以快速查看當前訪問機器的版本號,以IP地址判斷當前訪問的環境是否正確。
https://chrome.google.com/webstore/detail/agoljmemkbciolpigpabjfkagboolkcj
2)URL Redirect
Redirect工具可以快速重定向某些資源的url地址,以方便在某些環境測試的時候需要用到另外一些環境的資源。
https://chrome.google.com/webstore/detail/kpdinddojclpdndplpblgckkfepjplie
(以上小工具均為chrome插件,非常快捷使用和安裝)