新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 自動化測試在動態(tài)文檔發(fā)布系統(tǒng)中的應(yīng)用

自動化測試在動態(tài)文檔發(fā)布系統(tǒng)中的應(yīng)用

作者: 時間:2011-07-20 來源:網(wǎng)絡(luò) 收藏

3.2 框架方案
有了輸入和輸出,以及明確的需求,我們給出框架的解決方案:

本文引用地址:http://www.butianyuan.cn/article/194837.htm

b.JPG


(1)把整個過程分為輸入、過程中、輸出、輸出后。
(2)對于配置,采用XML,并且在XML里提供對輸入、輸出、以及中間的過程的配置。
(3)對于輸入,我們定義一個接口,對于這個接口的實現(xiàn)將會是各個不同的輸入方式,對于目前來說我們是支持ASL+Textpieces。但是我們以后會支持另外的輸入方式。然后對于所有的輸入接口,我們定義一個中心的中間輸出,我們叫它IDoc。它實際上是輸入和發(fā)布的中心,輸入都要轉(zhuǎn)成這個我們定義的中間結(jié)果,然后輸出都需要從這個中間結(jié)果進(jìn)行加工。
(4)對于輸出,我們可以把它們同樣配置在XML里面。并且對于最基本的輸出例如PDF,我們可以把它作為默認(rèn)的一個輸出,而不需要每次進(jìn)行配置。
(5)對于中間過程,我們配置了一些攔截器,這些攔截器以IDoc為中心,設(shè)置了publish前和publish后的攔截器,也就是說,在這里我們可以對publish前和publish后進(jìn)行一些配置。比如,在開始前我們可以開始計時,結(jié)束后結(jié)束計時,這樣我們可以測試一些效率方面的例子。
(6)對于輸出,我們對于PDF輸出,我們要實現(xiàn)它和自動比較工具的一個集成,也就是生成完P(guān)DF后,在配置要求進(jìn)行比較的情況下,自動調(diào)用PDF比較工具對輸出結(jié)果和標(biāo)準(zhǔn)進(jìn)行比較,然后得出結(jié)果,并且生成HTML結(jié)果表格,然后通過Email給相關(guān)人員進(jìn)行發(fā)送。
3.3 用例
當(dāng)整個系統(tǒng)運(yùn)行起來后,操作步驟如下:
首先,簡單來說,我們會提供一些默認(rèn)的XML配置,包括用例存放路徑、輸入方式、輸出方式、發(fā)比較結(jié)果郵件會發(fā)給哪些人等等進(jìn)行默認(rèn)配置。因為這些東西會很少改動,當(dāng)然改動的時候,我們重新配置就行。然后我們把需要運(yùn)行的輸入,即ASL+Text Pieces放到一個配置的路徑里,然后用名字去區(qū)分不同的用例。然后我們通過XML配置我們的輸入格式、輸出格式,以及需不需要對結(jié)果進(jìn)行比較、需不需要發(fā)郵件等等選項。當(dāng)這些配置配完以后,我們給它起一個唯一的用例名,然后在程序里將這個用例名作為參數(shù)運(yùn)行就能使整個過程自動完成。對于程序員,我們每次提交關(guān)鍵代碼,都會先運(yùn)行一下這個框架程序,然后查看自動生成的測試報告。如果發(fā)現(xiàn)問題,及時改正。而對于配置管理員來說,他們這個過程用ant工具配置在打包腳本中,然后我們就可以在每次打包時,自動地運(yùn)行我們預(yù)先設(shè)置的用例。并且,生成文件后,程序會自動對生成的PDF文件進(jìn)行比較,并將結(jié)果整理發(fā)出郵件。相關(guān)人員會通過Email收到比較結(jié)果,在上面可以通過超鏈接很方便地點選那些比較不對的文檔,然后通知程序員進(jìn)行改正。整個過程由于都是由機(jī)器在后臺快速運(yùn)行,少了人工的干擾,所以既提高了準(zhǔn)確率,又提高了效率。

4 結(jié)論
由于文檔的客戶對于不同系統(tǒng)版本間文檔一致性的高要求,使我們必須要提供一個長久的機(jī)制保證這個一致性。而要保證這個系統(tǒng)的一致性,我們提出了一個輕量級自動測試的方案。這里所說的輕量級,只是說該框架下運(yùn)行方便,不需要受應(yīng)用服務(wù)器和數(shù)據(jù)庫的約束,但是理論它上提供了文檔同樣的功能和行為。實際上在整個過程中,我們盡量調(diào)用原先系統(tǒng)的程序,但是在解除對于服務(wù)器和數(shù)據(jù)庫的依賴方面,我們通過仔細(xì)分析原來的各個模塊的前提下,采用了用本地文件模擬數(shù)據(jù)庫的方法,通過重載方法實現(xiàn)了對于數(shù)據(jù)庫的解耦。該框架提供了強(qiáng)大的可配置功能,通過簡單的XML設(shè)置,我們可以對整個過程進(jìn)行配置,靈活實現(xiàn)不同的功能組合。
在未來,我們還會不斷完善這個框架,例如會提供更多的輸入選擇,提供可視化的配置,提供盡量準(zhǔn)確的診斷功能幫助程序員方便定位錯誤,并且根據(jù)發(fā)布系統(tǒng)的升級而相應(yīng)提供更多的配置和功能。


上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉