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