專利名稱:一種測試系統(tǒng)及實現(xiàn)測試的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及測試技術(shù),尤指一種測試系統(tǒng)及其實現(xiàn)測試的方法。
背景技術(shù):
測試環(huán)境是具有完整功能模塊的系統(tǒng),僅供測試使用。正式環(huán)境是實際使用的系統(tǒng),用于供外部用戶使用。目前,主要通過使用測試環(huán)境、模擬正式環(huán)境。圖I為現(xiàn)有測試環(huán)境的組成結(jié)構(gòu)示意圖,由于測試環(huán)境無法調(diào)用正式環(huán)境下的功能模塊,就必須在測試環(huán)境中搭建正式環(huán)境中已有的所有功能模塊,否則整體測試環(huán)境的系統(tǒng)就無法正常運(yùn)作。如圖I所示,在測試環(huán)境中,建立一套與正式環(huán)境功能一致的、完整的新環(huán)境,包括證實環(huán)境中的所有功能模塊, 這樣,號碼登錄到該測試環(huán)境下,就能進(jìn)行新功能體驗和驗證?,F(xiàn)有的測試環(huán)境為測試帶來了一些問題,比如由于測試環(huán)境下的數(shù)據(jù)不夠真實,不足以完整模擬實際使用的場景;如果測試系統(tǒng)所有功能模塊的數(shù)據(jù)量都很少,使用的用戶量也不足,很容易發(fā)生測試事件在測試環(huán)境下正常工作,而到了正式環(huán)境下就無法工作的情況;如果要求測試環(huán)境要具備系統(tǒng)的正式環(huán)境已有的所有功能模塊,特別是有部分功能模塊的工作要依賴于其它功能模塊正常工作,其發(fā)布驗證必須先保證其它模塊正常的情況下,才能開始驗證自己的功能,因此維護(hù)難度比較大;部分功能模塊受機(jī)器數(shù)量的限制,不能提供和正式環(huán)境一樣的完整的服務(wù)支持。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種測試系統(tǒng)及其實現(xiàn)測試的方法,能夠保證測試結(jié)果的有效性,同時,節(jié)省人力物力維護(hù)的投入。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的一種測試系統(tǒng),包括正式單元、預(yù)發(fā)布單元,以及過濾單元;其中,正式單元,用于供外部用戶使用的實際使用的系統(tǒng);預(yù)發(fā)布單元,包括需要進(jìn)行預(yù)測試的功能模塊;過濾單元,用于將被過濾單元過濾的用戶的正式請求轉(zhuǎn)發(fā)給預(yù)發(fā)布單元中對應(yīng)的功能模塊,將未被過濾單元過濾的用戶的正式請求轉(zhuǎn)發(fā)給正式單元中對應(yīng)的功能模塊。所述預(yù)發(fā)布單元中的需要進(jìn)行預(yù)測試的功能模塊,為按照正式單元中的搭建方法搭建的功能模塊;所述需要進(jìn)行預(yù)測試的功能模塊被設(shè)置為開啟。所述預(yù)發(fā)布單元,還用于將測試成功后的所述功能模塊設(shè)置為關(guān)閉。所述過濾單元為白名單表,在白名單中的用戶被過濾,不在白名單中的用戶不被過濾。一種測試系統(tǒng)實現(xiàn)測試的方法,包括復(fù)制需要進(jìn)行預(yù)測試的功能模塊;
將滿足過濾條件被過濾的用戶的正式請求轉(zhuǎn)發(fā)給復(fù)制后的功能模塊,將未滿足過濾條件的用戶的正式請求轉(zhuǎn)發(fā)給原功能模塊。所述過濾條件是預(yù)先設(shè)置的白名單;所述過濾具體包括在白名單中的用戶被過濾,不在白名單中的用戶不被過濾。所述被復(fù)制的功能模塊設(shè)置在預(yù)發(fā)布單元中,所述原功能模塊被設(shè)置在正式單元中; 該方法還包括當(dāng)測試完成后,按照現(xiàn)有的復(fù)制方式,將測試成功的所述功能模塊重新在正式單元中創(chuàng)建并替換原有模塊。該方法還包括將所述預(yù)發(fā)布單元中的功能模塊設(shè)置為關(guān)閉狀態(tài)。從上述本發(fā)明提供的技術(shù)方案可以看出,包括復(fù)制需要進(jìn)行預(yù)測試的功能模塊,將滿足過濾條件被過濾的用戶的正式請求轉(zhuǎn)發(fā)給復(fù)制后的功能模塊,將未滿足過濾條件的用戶的正式請求轉(zhuǎn)發(fā)給原功能模塊。通過本發(fā)明提供的方案,在預(yù)發(fā)布單元中,按照測試需要設(shè)置功能模塊,而系統(tǒng)內(nèi)的其它功能模塊無需同時搭建,其它功能模塊仍然處于正式單元下。這樣,一方面,預(yù)發(fā)布單元中的功能模塊,使用的是實際使用的數(shù)據(jù),實現(xiàn)了盡最大可能模擬正式環(huán)境的效果,從而保證了測試結(jié)果的有效性;另一方面,由于不需要進(jìn)行預(yù)測試的功能模塊并不在預(yù)測試環(huán)境中搭建,因此,節(jié)省了機(jī)器資源和人力維護(hù)的投入。
圖I為現(xiàn)有測試環(huán)境的組成結(jié)構(gòu)示意圖;圖2為本發(fā)明測試系統(tǒng)的組成結(jié)構(gòu)示意圖;圖3為本發(fā)明測試系統(tǒng)實現(xiàn)測試的方法的流程圖。
具體實施例方式圖2為本發(fā)明測試系統(tǒng)的組成結(jié)構(gòu)示意圖,如圖2所示,包括組成正式環(huán)境的正式單元和預(yù)發(fā)布單元,以及過濾單元,其中,正式單元,實際使用的系統(tǒng),用于供外部用戶使用。其具體實現(xiàn)屬于現(xiàn)有技術(shù),不屬于本發(fā)明的保護(hù)范圍。預(yù)發(fā)布單元,包括需要進(jìn)行預(yù)測試的功能模塊。其中,需要進(jìn)行預(yù)測試的功能模塊只需按照正式環(huán)境中的搭建方法搭建即可,具體如何搭建屬于現(xiàn)有技術(shù),不屬于本發(fā)明的保護(hù)范圍。在預(yù)發(fā)布單元中,需要進(jìn)行預(yù)測試的功能模塊被設(shè)置為開啟,測試成功后的功能模塊被設(shè)置為關(guān)閉。過濾單元,用于將被過濾單元過濾的用戶的正式請求轉(zhuǎn)發(fā)給預(yù)發(fā)布單元中對應(yīng)的功能模塊,將未被過濾單元過濾的用戶的正式請求轉(zhuǎn)發(fā)給正式單元中對應(yīng)的功能模塊。過濾單元可通過白名單的設(shè)置來實現(xiàn),即白名單中的用戶將被過濾,而不在白名單中的用戶將不被過濾。在預(yù)發(fā)布單元中,按照測試需要設(shè)置功能模塊,而系統(tǒng)內(nèi)的其它功能模塊無需同時搭建,其它功能模塊仍然處于正式單元下。這樣,一方面,預(yù)發(fā)布單元中的功能模塊,使用的是實際使用的數(shù)據(jù),實現(xiàn)了盡最大可能模擬正式環(huán)境的效果,從而保證了測試結(jié)果的有效性;另一方面,由于不需要進(jìn)行預(yù)測試的功能模塊并不在預(yù)測試單元中搭建,因此,節(jié)省了機(jī)器資源和人力維護(hù)的投入。需要說明的是,圖2中由正式單元和預(yù)發(fā)布單元組成的正式環(huán)境中,如果預(yù)發(fā)布單元中的需要進(jìn)行預(yù)測試的功能模塊需要與正式單元中使用的功能模塊之間的交互,其具體實現(xiàn)與處于正式環(huán)境中的各模塊之間的交互一致,屬于現(xiàn)有技術(shù),并且不用于限定本發(fā)明的保護(hù)范圍,這里不再贅述。當(dāng)測試完成后,只需按照現(xiàn)有的復(fù)制方式,將預(yù)發(fā)布單元中的模塊重新在正式單元中創(chuàng)建并替換原有模塊,即可以最低的風(fēng)險,最小的影響順利完成發(fā)布。之后,可以直接將預(yù)發(fā)布單元中的模塊設(shè)置為關(guān)閉狀態(tài)即可;也可以一直保持預(yù)發(fā)布單元中的模塊為開啟狀態(tài),讓被白名單過濾的用戶一直訪問預(yù)發(fā)布單元中的模塊。因為,預(yù)發(fā)布單元與正式單元的重要級別是相同的,都必須保證完整服務(wù)質(zhì)量,只是在功能上,預(yù)發(fā)布單元中的模塊可能存在bug需要完善;這樣,如果預(yù)發(fā)布單元中的模塊一直處于打開狀態(tài),并導(dǎo)入部分實際使用的用戶至該模塊,就相當(dāng)于將預(yù)發(fā)布納入正式環(huán)境進(jìn)行管理和要求,這種運(yùn)營上的統(tǒng)一管理,更容易保持各環(huán)境版本的一致,解決了使用測試環(huán)境時,其功能和正式環(huán)境長時間相 差很多的問題,保證了預(yù)發(fā)布單元中的模塊的測試版本與正式單元中的模塊的版本的一致性。需要說明的是,在正式環(huán)境建立后,如果各模塊暫時沒有能力建立預(yù)發(fā)布單元,那么,只需要將預(yù)發(fā)布單元設(shè)置為關(guān)閉即可,這樣,正式請求包將全部由過濾單元發(fā)往正式單
J Li o本發(fā)明測試系統(tǒng)還包括現(xiàn)有的測試環(huán)境,如圖2虛線框中所示的測試環(huán)境,用于實現(xiàn)最初的基礎(chǔ)調(diào)試和初步測試驗證。圖3為本發(fā)明測試系統(tǒng)實現(xiàn)測試的方法的流程圖,如圖3所示,包括步驟300 :復(fù)制需要進(jìn)行預(yù)測試的功能模塊。本步驟中,被復(fù)制的功能模塊設(shè)置在預(yù)發(fā)布單元中,原有的功能模塊被設(shè)置在正式單元中。復(fù)制的方法為按照正式單元中的搭建功能模塊的方法搭建需要進(jìn)行預(yù)測試的功能模塊,具體如何搭建屬于現(xiàn)有技術(shù),不屬于本發(fā)明的保護(hù)范圍。在預(yù)發(fā)布單元中,需要進(jìn)行預(yù)測試的功能模塊被設(shè)置為開啟,測試成功后的功能模塊被設(shè)置為關(guān)閉。步驟301 :將滿足過濾條件被過濾的用戶的正式請求轉(zhuǎn)發(fā)給復(fù)制后的功能模塊,將未滿足過濾條件的用戶的正式請求轉(zhuǎn)發(fā)給原功能模塊。本步驟中,過濾條件可以是預(yù)先設(shè)置的白名單。本發(fā)明方法還包括當(dāng)測試完成后,按照現(xiàn)有的復(fù)制方式,將預(yù)發(fā)布單元中的模塊重新在正式單元中創(chuàng)建并替換原有模塊。本發(fā)明方法還包括將預(yù)發(fā)布單元中的功能模塊設(shè)置為關(guān)閉狀態(tài);或者,讓被白名單過濾的用戶一直訪問預(yù)發(fā)布單元中的模塊。以圖2為例,假設(shè)當(dāng)要更新某模塊如圖2中的模塊2的功能時,先將該模塊2發(fā)布在預(yù)發(fā)布單元中;設(shè)置少量即時消息(頂)信息如QQ號碼到白名單中,這部分QQ號碼可以是開發(fā)人員、測試人員、公司同事等的號碼,以便可以發(fā)現(xiàn)問題快速反饋;之后,設(shè)置模塊2為開啟狀態(tài)。這時,如果有對模塊2的請求包,就會分成兩部分進(jìn)行轉(zhuǎn)發(fā)一部分來自白名單中的QQ號碼的請求包,被轉(zhuǎn)發(fā)到預(yù)發(fā)布單元中的模塊2處理;另一部分來自不在白名單中的QQ號碼的請求包,即占據(jù)絕對多數(shù)的用戶的請求包,仍然被轉(zhuǎn)發(fā)至正式單元中的模塊2 ;對預(yù)發(fā)布單元中其它功能模塊(如圖2中的模塊I和模塊3)的請求,由于被設(shè)置為關(guān)閉狀態(tài),或者是對預(yù)發(fā)布單元中其它未搭建的功能模塊,過濾單元將來自所有QQ號碼的請求包轉(zhuǎn)發(fā)給正式單元中的相應(yīng)模塊。從上述實施例可見,無論是對于白名單中設(shè)置的QQ號碼的用戶,還是其它用戶,通過本發(fā)明的測試系統(tǒng),實現(xiàn)了盡最大可能模擬正式環(huán)境的效果。對白名單中的用戶,除了新發(fā)布的模塊2采用了預(yù)發(fā)布單元中的模塊2外,其它模塊都采用的是在正式單元中的,使用的是實際使用的數(shù)據(jù)。再以圖2為例,當(dāng)需要更新一個模塊如模塊2的功能時,先將該模塊2發(fā)布在預(yù)發(fā)布單元中;設(shè)置導(dǎo)入少量QQ號碼到白名單中,這部分QQ號碼可以是開發(fā)人員、測試人員、公司同事等的號碼,以便可以發(fā)現(xiàn)問題快速反饋;之后,設(shè)置模塊2為開啟狀態(tài)。
這時,如果有對模塊2的請求包,就會分成兩部分進(jìn)行轉(zhuǎn)發(fā)一部分來自白名單中的QQ號碼的請求包,被轉(zhuǎn)發(fā)到預(yù)發(fā)布單元中的模塊2處理;另一部分來自不在白名單中的QQ號碼的請求包,即占據(jù)絕對多數(shù)的用戶的請求包,仍然被轉(zhuǎn)發(fā)至正式單元中的模塊2 ;對預(yù)發(fā)布單元中其它功能模塊(如圖2中的模塊I和模塊3)的請求,由于被設(shè)置為關(guān)閉狀態(tài),或者是對預(yù)發(fā)布單元中其它未搭建的功能模塊,過濾單元將來自所有QQ號碼的請求包轉(zhuǎn)發(fā)給正式單元中的相應(yīng)模塊。從上述實施例可見,無論是對于白名單中設(shè)置的QQ號碼的用戶,還是其它用戶,通過本發(fā)明的測試系統(tǒng),實現(xiàn)了盡最大可能模擬正式環(huán)境的效果。對白名單中的用戶,除了新發(fā)布的模塊2采用了預(yù)發(fā)布單元中的模塊2外,其它模塊都采用的是在正式單元中的,使用的是實際使用的數(shù)據(jù)。需要說明的是,為了保證預(yù)發(fā)布單元的測試能達(dá)到較好的效果,可以增加實際使用用戶的QQ號碼數(shù)量,比如在白名單中配置10000至I億的號碼,使其請求包被轉(zhuǎn)發(fā)至預(yù)發(fā)布單元中的模塊2。這樣,保證了測試結(jié)果的有效性,避免了測試事件在測試環(huán)境下正常工作,而到了正式環(huán)境下就無法工作的情況的發(fā)生。以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種測試系統(tǒng),其特征在于,包括正式單元、預(yù)發(fā)布單元,以及過濾單元;其中, 正式單元,用于供外部用戶使用的實際使用的系統(tǒng); 預(yù)發(fā)布單元,包括需要進(jìn)行預(yù)測試的功能模塊; 過濾單元,用于將被過濾單元過濾的用戶的正式請求轉(zhuǎn)發(fā)給預(yù)發(fā)布單元中對應(yīng)的功能模塊,將未被過濾單元過濾的用戶的正式請求轉(zhuǎn)發(fā)給正式單元中對應(yīng)的功能模塊。
2.根據(jù)權(quán)利要求I所述的測試系統(tǒng),其特征在于,所述預(yù)發(fā)布單元中的需要進(jìn)行預(yù)測試的功能模塊,為按照正式單元中的搭建方法搭建的功能模塊; 所述需要進(jìn)行預(yù)測試的功能模塊被設(shè)置為開啟。
3.根據(jù)權(quán)利要求2所述的測試系統(tǒng),其特征在于,所述預(yù)發(fā)布單元,還用于將測試成功后的所述功能模塊設(shè)置為關(guān)閉。
4.根據(jù)權(quán)利要求I所述的測試模塊,其特征在于,所述過濾單元為白名單表,在白名單中的用戶被過濾,不在白名單中的用戶不被過濾。
5.一種測試系統(tǒng)實現(xiàn)測試的方法,其特征在于,包括 復(fù)制需要進(jìn)行預(yù)測試的功能模塊; 將滿足過濾條件被過濾的用戶的正式請求轉(zhuǎn)發(fā)給復(fù)制后的功能模塊,將未滿足過濾條件的用戶的正式請求轉(zhuǎn)發(fā)給原功能模塊。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述過濾條件是預(yù)先設(shè)置的白名單;所述過濾具體包括 在白名單中的用戶被過濾,不在白名單中的用戶不被過濾。
7.根據(jù)權(quán)利要求5或6所述的方法,其特征在于,所述被復(fù)制的功能模塊設(shè)置在預(yù)發(fā)布單元中,所述原功能模塊被設(shè)置在正式單元中; 該方法還包括當(dāng)測試完成后,按照現(xiàn)有的復(fù)制方式,將測試成功的所述功能模塊重新在正式單元中創(chuàng)建并替換原有模塊。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,該方法還包括將所述預(yù)發(fā)布單元中的功能模塊設(shè)置為關(guān)閉狀態(tài)。
全文摘要
本發(fā)明公開了一種測試系統(tǒng)及其實現(xiàn)測試的方法,包括復(fù)制需要進(jìn)行預(yù)測試的功能模塊,將滿足過濾條件被過濾的用戶的正式請求轉(zhuǎn)發(fā)給復(fù)制后的功能模塊,將未滿足過濾條件的用戶的正式請求轉(zhuǎn)發(fā)給原功能模塊。通過本發(fā)明提供的方案,在預(yù)發(fā)布單元中,按照測試需要設(shè)置功能模塊,而系統(tǒng)內(nèi)的其它功能模塊無需同時搭建,其它功能模塊仍然處于正式單元下。這樣,一方面,預(yù)發(fā)布單元中的功能模塊,使用的是實際使用的數(shù)據(jù),實現(xiàn)了盡最大可能模擬正式環(huán)境的效果,從而保證了測試結(jié)果的有效性;另一方面,由于不需要進(jìn)行預(yù)測試的功能模塊并不在預(yù)測試環(huán)境中搭建,因此,節(jié)省了機(jī)器資源和人力維護(hù)的投入。
文檔編號H04L12/26GK102761452SQ20111010362
公開日2012年10月31日 申請日期2011年4月25日 優(yōu)先權(quán)日2011年4月25日
發(fā)明者熊歡, 王金華, 舒軍 申請人:騰訊科技(深圳)有限公司