<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/194837.htm

          b.JPG


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

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


          上一頁(yè) 1 2 3 下一頁(yè)

          評(píng)論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();