英文縮寫 英文 中文
DEV development 開發
SIT System Integrate Test 系統整合測試(內測)
UAT User Acceptance Test 用戶驗收測試
PET Performance Evaluation Test 性能評估測試(壓測)
SIM simulation 仿真
PRD/PROD production 產品/正式/生產
今天給大家介紹一下開發過程中,四個環境以及各自的功能特點,四個環境分別是:pro、pre、test、dev環境,中文名字:生產環境、灰度環境、測試環境、開發環境,其實大家看英文應該就差不多可以看出來對應的是什么環境。
環境介紹:
pro環境:生產環境,面向外部用戶的環境,連接上互聯網即可訪問的正式環境。
pre環境:灰度環境,外部用戶可以訪問,但是服務器配置相對低,其它和生產一樣。
test環境:測試環境,外部用戶無法訪問,專門給測試人員使用的,版本相對穩定。
dev環境:開發環境,外部用戶無法訪問,開發人員使用,版本變動很大。
分成四個環境原因:
大多數人都知道四個環境指的是什么,但是很多人卻不知道為什么要這么區別,甚至為了省事就只有dev和pro環境。如果項目沒有上線之前沒有問題,如果項目上線之后就會有非常麻煩的事情發生。下面我們針對這四種環境,來分析一下對應的各種場景。
dev+pro:
如果我們只有dev和pro環境,pro突然發現bug,需要緊急處理,只有兩個環境,這個時候我們要如何解決呢???
首先dev現在已經更新到1.1.0,而pro現在才1.0.0,所以這個時候我們需要重新創建一個brunch分支,這邊我們可以叫做1.0.0.1,然后修改代碼之后需要放到dev環境上面進行測試,這個時候就會變成如下所示狀態:
然后測試通過之后,我們需要將1.0.0.1發布到pro環境,然后合並1.0.0.1的代碼到1.1.0中,最后將dev環境修改為1.1.1,如下所示:
在dev1.0.0.1測試期間,所以開發工作全部得停止,必須等測試通過發布到生產上面才可以,如果僅僅只有兩個環境,代價實在是太大了!!
dev+test+pro
如果我們多了一個test環境情況就會好很多了,比如上面說所的問題,我們就可以這么來處理。
我們可以在test1.0.0上面直接修改,修改后的版本是1.0.0.1,測試通過之后直接發布到pro環境即可。然后再將test中1.0.0.1代碼合並到1.1.0,最后dev的版本升一級就可以了。
這樣的好處就是不會影響dev開發環境,不管怎么修改test,都不會造成dev暫停。
dev+test+pre+pro:
如果test環境和pro環境版本不同步,還是會有問題存在,比如test環境在測試1.0.1版本的代碼而生產上面運行的是pro環境的代碼,這個時候pro出現問題修改的時候就會比較麻煩。
這個時候和之前的做法一樣,創建一個新的brunch分支(1.0.0.1)然后在1.0.0.1中修復bug,然后發布到test最新版本中,測試通過之后發布到pro環境中。然后就是復雜的合代碼操作了,將1.0.0.1代碼合並到1.0.1中,將dev的1.1.0添加上修復的代碼變成1.1.1。
這種情況下,首先在test測試期間,1.0.1的測試工作會停止,其次步驟太繁瑣,所以這邊我們新增了pre環境。
我們只要保證pre的版本和pro環境的版本一致,就可以解決上面的問題了。如上圖所示,我們只需要在pre的1.0.0環境上面修復bug就可以了,修復好之后發布到pro環境就可以了,然后將代碼同步到test和dev中即可。
這樣以后不管pro遇到什么問題,我們都可以按照上面的步驟來解決。
總結:
四個環境最大的好處就是各司其職,既不會影響開發,也不會影響測試工作。而且增加一個pre環境也可以盡可能的模仿pro的真實環境,讓測試結果更加准確。