軟件測試環(huán)境要不要和軟件開發(fā)環(huán)境隔離?
作者:網(wǎng)絡轉載 發(fā)布時間:[ 2012/6/29 14:09:54 ] 推薦標簽:
開發(fā)環(huán)境要不要和測試環(huán)境隔離?要是說,是不是要各用一套數(shù)據(jù)庫等基礎設施?
能隔離當然好,開發(fā)人員和測試人員不會互相干擾。但隔離是有代價的,它意味著你要多引一個數(shù)據(jù)庫,如果你的系統(tǒng)是分布式的,你還要多維護一套MQ、RPC中間件等。
依我看,需不需要隔離要看系統(tǒng)是否滿足下面的三個條件:
1、兩個環(huán)境的系統(tǒng)總是要接觸到同一份數(shù)據(jù)
2、數(shù)據(jù)被一個系統(tǒng)接觸后,業(yè)務狀態(tài)會改變;導致這份數(shù)據(jù)對另一個系統(tǒng)不再可用
3、很難禁止兩個系統(tǒng)在同一時刻接觸到同一份數(shù)據(jù)
解釋:
條件1.如果兩個環(huán)境共享數(shù)據(jù)庫,但開發(fā)環(huán)境只處理北方數(shù)據(jù),測試環(huán)境只處理南方的,那不用隔離
條件2.即使兩個環(huán)境都會處理北方數(shù)據(jù),但如果這種處理是只讀的,也是開發(fā)環(huán)境用了,測試環(huán)境可以再用,那也無所謂
條件3.即使數(shù)據(jù)被一個環(huán)境處理后,另一個不能用;但如果對數(shù)據(jù)的接觸是人為觸發(fā)的,也是說開發(fā)環(huán)境被人觸發(fā)數(shù)據(jù)改動時,不會干擾測試環(huán)境的測試,那也無所謂。
具體的場景:
1、純讀的網(wǎng)站不必隔離,它不滿足條件2
2、有寫、但所有操作都由用戶觸發(fā)的網(wǎng)站也不必隔離,因為它不滿足條件3
3、以全局數(shù)據(jù)為目標的自啟應用需要隔離,比如Quartz,Cron,MQ消費者等,因為它們不滿足條件1。以MQ應用為例,如果外部發(fā)來的某個數(shù)據(jù)被測試環(huán)境消費過了,開發(fā)環(huán)境無法再消費了,這時你應該為開發(fā)和測試環(huán)境各配一個MQ
4、對自啟應用,如果實在不想隔離,要在代碼里做一些env-specific的東西,使得不同環(huán)境不會訪問到相同的數(shù)據(jù),比如開發(fā)環(huán)境只能訪問數(shù)據(jù)庫里flag=Dev的記錄。不過,這種作法對程序和數(shù)據(jù)的侵入都很大,不值得提倡。但這種做法可以應用到其他環(huán)境的隔離上,比如預發(fā)環(huán)境和正式環(huán)境,它們必須使用相同的數(shù)據(jù)庫。
相關推薦
最新發(fā)布
性能測試之測試環(huán)境搭建的方法
2020/7/21 15:39:32軟件測試是從什么時候開始被企業(yè)所重視的呢?
2020/7/17 9:09:11Android自動化測試框架有哪些?有什么用途?
2020/7/17 9:03:50什么樣的項目適合做自動化?自動化測試人員應具備怎樣的能力?
2020/7/17 8:57:06幾大市面主流性能測試工具測評
2020/7/17 8:52:11RPA機器人能夠快速響應企業(yè)需求,是怎么做到的?
2020/7/17 8:48:05Bug可以真正消滅嗎?為什么?
2020/7/17 8:43:03軟件測試基本概念是怎么來的?軟件測試生命周期的形成歷經(jīng)了什么?
2020/7/16 9:11:10