BEA WebLogic Platform應用程序通常作為復雜生產(chǎn)系統(tǒng)的一部分進行部署。當交付以WebLogic Platform為基礎的應用程序時,對應用程序進行正式測試需要恰當控制的測試條件,而提供這些條件本身是一項復雜的任務。如果沒有準備好恰當?shù)沫h(huán)境并成功地進行應用程序部署,無法執(zhí)行正式測試,從而影響交付,而交付時間安排上一點點的松懈都將導致整個項目的推遲。
構(gòu)建測試環(huán)境流程的自動化將有助于防止這種延誤的發(fā)生。在本文中,我將展示對一個測試環(huán)境進行自動部署的工作如何重用于其他測試環(huán)境。
“發(fā)布我吧”
“發(fā)布我吧,讓我去,
我的 bug已經(jīng)不再是重要的了……”
這些話不是我寫的,而是在Web上看到的,但它特別切合我們的主題。您可以在Web上查看完整版本,更多內(nèi)容請參見 Filks站點。
那么,您的開發(fā)團隊已經(jīng)構(gòu)建了應用程序套件,成功將它部署在WebLogic域中,并通過自動測試腳本對應用程序進行了徹底的測試。開發(fā)人員可能已經(jīng)閱讀并實現(xiàn)了Michael Meiner在 使用WLST和BEA Workshop在集群環(huán)境中開發(fā)Web應用程序(Dev2Dev,2006) 一文中的建議,在集群中測試了套件(使用Web服務作為集群的前端),見到它在集群中運行,并證明了故障轉(zhuǎn)移能正常工作。
團隊準備好了發(fā)行說明和所有的歸檔文件。那么現(xiàn)在已經(jīng)萬事具備,只等用戶驗收測試了,祈禱用戶會喜歡它吧,您可以為這次成功交付舉杯慶祝了。
醒醒吧!現(xiàn)實是生產(chǎn)套件的萬里長征才剛剛邁出了第一步。成功的交付需要跨越無數(shù)的障礙,需要開發(fā)人員的多次嘗試。于是測試開始了,將使用各種測試器或測試工具,將涉及套件和開發(fā)人員無權(quán)訪問的機器,這些測試將找到錯誤,至少有幾個錯誤是需要修復的,整個過程需要重復進行多次。
獲得推進
測試通常在一組明確指定的環(huán)境中進行,F(xiàn)在討論這些受控環(huán)境包括哪些,以及將一個應用程序從一個測試環(huán)境推進到下一個測試環(huán)境需要哪些條件。
受控環(huán)境
我使用術語“受控環(huán)境”表示訪問受到某個策略限制的環(huán)境。生產(chǎn)環(huán)境是一個受控環(huán)境,分段測試環(huán)境也是一個受控環(huán)境。這兩個環(huán)境的訪問控制測試類似,但分段測試環(huán)境的限制性訪問策略的可能更少一些。簡單地說,“受控測試環(huán)境”是一個用來測試應用程序(套件)的、受控制的(即訪問受策略限制)環(huán)境。
在受控環(huán)境下進行測試的目的是獲得可重復的測試結(jié)果:在相同的環(huán)境下對相同的軟件進行測試,應該獲得相同的結(jié)果。“相同的條件”要求準備的測試環(huán)境是一致的并且是可重復的。自動環(huán)境構(gòu)建應該確保環(huán)境初位于可重復的環(huán)境中,但還需要更多的條件以確保測試發(fā)生在可重復環(huán)境下。應該進行訪問控制,以限制環(huán)境構(gòu)建后能夠更改該環(huán)境的人以及所允許的更改。如果在測試前應用了運行時更改,那么應該在測試日志中記錄這些更改(這一點很重要),這樣才能重新創(chuàng)建完全一樣的測試環(huán)境,即重復構(gòu)建時也要重新應用運行時更改。
可以正式或非正式(或者兩者結(jié)合)的形式應用訪問控制。如果您的項目使用正式訪問控制,則通常通過可以保護策略規(guī)則的軟件或硬件設備實現(xiàn)。如果您的項目不需要太過正式,那么可能會非正式的(即根據(jù)公認的實踐經(jīng)驗)應用部分或全部訪問控制。很明顯,非正式控制很容易遭到破壞,有時甚至無意中破壞了,這種環(huán)境需要安裝審計軟件,用于根據(jù)期望的設置檢查環(huán)境配置,并在出現(xiàn)不可接受的變化時發(fā)出警告。
受控測試環(huán)境的例子有:性能測試環(huán)境、壓力測試環(huán)境、用戶驗收測試環(huán)境等。在受控測試環(huán)境中,開發(fā)人員通?梢圆榭礈y試結(jié)果、調(diào)查問題或錯誤,但是不允許管理或修改環(huán)境配置或者參與測試執(zhí)行過程。