<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨心蕓蕓 @ JPeanut(舊版)

    搬遷至 http://www.17m.net.cn/

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      43 Posts :: 0 Stories :: 54 Comments :: 0 Trackbacks

    作者:陳市明/Slipper Feng 摘自:http://www.tkk7.com/JPeanut

    ?????? 現(xiàn)在越來(lái)越多的系統(tǒng)不是獨(dú)立運(yùn)行的,會(huì)和其他系統(tǒng)進(jìn)行交互。交互的方式又很多,從傳統(tǒng)的頁(yè)面 post 到現(xiàn)在的 jms ws 等。這個(gè)就給測(cè)試帶來(lái)比較大的難度,特別是互相通訊的系統(tǒng)不屬于同一個(gè)公司。測(cè)試人員很難在一個(gè)辦公室里面進(jìn)行對(duì)項(xiàng)目完整的測(cè)試,更何況對(duì)方系統(tǒng)有的時(shí)候是沒(méi)有測(cè)試小組的,只有開(kāi)發(fā)人員兼職做測(cè)試。

    ?????? 我這里主要是解決 jms 通訊的單元測(cè)試。在我們公司, jms 的傳輸?shù)臄?shù)據(jù)密文傳輸(因?yàn)闅v史原因被稱為電文)。很多情況下我們都是通過(guò) mock 來(lái)模擬隊(duì)列和電文的,我這里是通過(guò)重新寫 jms mq jms message 來(lái)實(shí)現(xiàn)的,所有的數(shù)據(jù)不是通過(guò)模擬的東西,而是進(jìn)入真實(shí)的隊(duì)列中。

    ?? 設(shè)計(jì)思想

    模擬 MQ JMS 的工作原理,編寫一個(gè)本地的 MQ 和消息發(fā)送接收系統(tǒng)

    在內(nèi)存中直接將替換 aop 容器中的 MQ JMS 替換為本地的 MQ 和我們的消息處理

    ?????? 具體設(shè)計(jì)

    ?????? 1 )電文接收

    新電文系統(tǒng)接收電文原理.jpg

    圖表 1 新電文系統(tǒng)接收電文原理

    新電文接收系統(tǒng):其他系統(tǒng)如果要發(fā)送信息給我們的系統(tǒng),是先講電文發(fā)送給我們的 uecp 平臺(tái),然后 uecp 講電文存放倒 MQ 中,我們項(xiàng)目對(duì)從 MQ 中讀出電文,然后根據(jù)配據(jù)配置調(diào)用響應(yīng)的 Service ,最后,一般情況, service 都是來(lái)操作數(shù)據(jù)庫(kù)進(jìn)行增刪改動(dòng)作。

    新電文平臺(tái)的幾大特點(diǎn):

    ????????? 電文是異步傳輸

    ????????? 電文的是有時(shí)序的

    ????????? 一般來(lái)說(shuō),一個(gè)應(yīng)用只有一個(gè)電文接收隊(duì)列


    新電文接收的單元測(cè)試原理.jpg

    圖表 2 新電文接收的單元測(cè)試原理

    針對(duì)新電文系統(tǒng)接收的原理和特點(diǎn),可以分析出:

    ????????? 電文必須改成本地的的,單元測(cè)試做不到異步電文的自動(dòng)化回歸

    ????????? 應(yīng)用只有一個(gè)隊(duì)列,我們只需要封裝下 ArrayList 就可以作為隊(duì)列了

    ????????? 為了修改最小話, IBMMQProxy 的實(shí)現(xiàn)改成 JunitMessagingServerProxy ,然后,再通過(guò) ioc 注入 junit MQ Junit JMS

    ????????? 因?yàn)樵?/span> uecp 中可以看到電文的明文的,所以, Test***Action 發(fā)送電文也是明碼,可以直接把 uecp 中的電文 copy 到程序中


    ? 2)電文發(fā)送
    新電文系統(tǒng)發(fā)送電文原理.jpg

    圖表3新電文系統(tǒng)發(fā)送電文原理

    新電文發(fā)送系統(tǒng):我們的系統(tǒng)如果對(duì)其他多個(gè)系統(tǒng)進(jìn)行交互,會(huì)對(duì)幾個(gè)隊(duì)列分別發(fā)送數(shù)據(jù),uecp讀取這些隊(duì)列將數(shù)據(jù)準(zhǔn)確發(fā)送到各個(gè)系統(tǒng)中。

    新電文發(fā)送的單元測(cè)試原理.jpg

    圖表4新電文發(fā)送的單元測(cè)試原理

    新電文發(fā)送的單元測(cè)試原理比較簡(jiǎn)單,就是Test×××Action調(diào)用會(huì)引起發(fā)送電文的代碼,等運(yùn)行完,就去查看隊(duì)列里面是不是我們預(yù)期發(fā)送的電文。

    通過(guò)這樣的方式來(lái)進(jìn)行對(duì)JMS的電文系統(tǒng)進(jìn)行單元測(cè)試,可以做到自動(dòng)化的回歸測(cè)試。因?yàn)閷?shí)現(xiàn)電文的測(cè)試功能是按照框架的插件協(xié)議編寫,在我們的系統(tǒng)中只要項(xiàng)目TC注冊(cè)一下電文插件就可以使用其功能,原來(lái)已有的測(cè)試腳本無(wú)需修改。后面還會(huì)后續(xù)開(kāi)發(fā)關(guān)于socket和ws的傳輸方式的測(cè)試插件。
    posted on 2006-04-20 19:45 陳市明 閱讀(1628) 評(píng)論(0)  編輯  收藏 所屬分類: 基于j2ee單元測(cè)試框架介紹
    主站蜘蛛池模板: 国产精品无码一二区免费 | 成人a视频片在线观看免费| 一区二区三区福利视频免费观看| 无码国产精品一区二区免费vr| 久久夜色精品国产亚洲av| 亚洲国产精品一区| 亚洲人成www在线播放| 亚洲AV无码国产剧情| 最近免费中文字幕中文高清| 日本免费一区二区三区| 午夜两性色视频免费网站| 在线观看亚洲av每日更新| 亚洲自国产拍揄拍| 一个人看的免费视频www在线高清动漫 | 巨胸狂喷奶水视频www网站免费| 亚洲黄色免费观看| 国产精品麻豆免费版| 日本亚洲高清乱码中文在线观看| 精品亚洲永久免费精品| 国产美女做a免费视频软件| 日韩色视频一区二区三区亚洲 | 成人人观看的免费毛片| 国产成人综合久久精品亚洲| 久久大香伊焦在人线免费| 国产男女猛烈无遮档免费视频网站 | 日本不卡免费新一区二区三区| 亚洲视频免费在线观看| 亚色九九九全国免费视频| 亚洲春色在线视频| 亚洲成a人片在线不卡一二三区| 18禁美女裸体免费网站| 亚洲色大成网站WWW国产| 亚洲精品视频在线观看免费| 亚洲综合精品成人| 久久精品国产亚洲AV不卡| 久久精品乱子伦免费| 亚洲男人的天堂网站| 一级毛片不卡片免费观看| 亚洲熟妇AV日韩熟妇在线| 狠狠色婷婷狠狠狠亚洲综合| 久视频精品免费观看99|