国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種適用于軟件系統(tǒng)的基于ttcn-3的分布式測試框架的制作方法

      文檔序號(hào):7898291閱讀:1042來源:國知局
      專利名稱:一種適用于軟件系統(tǒng)的基于ttcn-3的分布式測試框架的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種適用于軟件系統(tǒng)的分布式測試系統(tǒng),更特別地說,是指一種基于 TTCN-3的分布式測試框架系統(tǒng)。
      背景技術(shù)
      隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,越來越多的軟件系統(tǒng)采用分布式架構(gòu)。分布式技術(shù)的廣泛 應(yīng)用,也逐漸影響著測試系統(tǒng)的設(shè)計(jì)。一方面為了測試分布式的軟件系統(tǒng),測試系統(tǒng)不得不 支持分布式的測試;另一方面,測試系統(tǒng)采用分布式的架構(gòu),不但可以充分利用有限的測試 硬件資源和人力資源,提高測試執(zhí)行的效率,減少時(shí)間和資源的花費(fèi),而且對(duì)于一些采用分 布式架構(gòu)的系統(tǒng),測試系統(tǒng)可以模擬出系統(tǒng)實(shí)際的運(yùn)行環(huán)境,支持一些特殊的測試場景,產(chǎn) 生出需要的測試負(fù)載。
      對(duì)于測試系統(tǒng)的分布式,面對(duì)的問題是類似的。在單機(jī)測試環(huán)境中,測試用例是在 同一臺(tái)計(jì)算機(jī)上運(yùn)行,他們的執(zhí)行環(huán)境都是相同的。在分布式測試環(huán)境中,測試用例被分配 到不同的測試計(jì)算機(jī)上運(yùn)行,而這些不同的計(jì)算機(jī)分布在不同的物理位置,通過網(wǎng)絡(luò)進(jìn)行 互聯(lián)。這些計(jì)算機(jī)可能具有不同的操作系統(tǒng)、文件結(jié)構(gòu)以及硬件配置。
      TTCN-3 (Testing and Test Control Notation version 3)是一個(gè)描述能力豐富 的基于黑盒的測試描述語言,能夠應(yīng)用于多種形式的交互系統(tǒng)的測試規(guī)約描述。典型的應(yīng) 用領(lǐng)域包括協(xié)議測試、服務(wù)測試、構(gòu)件測試。同時(shí)TTCN-3支持多種類型的測試,諸如一致性 測試、互操作測試、健壯性測試、回歸測試、集成和系統(tǒng)測試等。TTCN-3作為一種標(biāo)準(zhǔn)化的測 試技術(shù),它已經(jīng)得到了很多測試廠商的工具支持。同時(shí)TTCN-3作為一種通用的測試語言, 現(xiàn)在已經(jīng)應(yīng)用到很多方面,并且取得了很好的成果。發(fā)明內(nèi)容
      本發(fā)明的技術(shù)解決問題是針對(duì)目前軟件系統(tǒng)測試需要分布式的需求,提供一種 基于TTCN-3的分布式測試框架系統(tǒng),該框架系統(tǒng)提供了方便的用戶分布式部署測試用例, 分布式執(zhí)行測試用例的機(jī)制,從而達(dá)到了耦合度底,擴(kuò)展性強(qiáng)的目的。
      本發(fā)明的一種適用于軟件系統(tǒng)的基于TTCN-3的分布式測試框架系統(tǒng),其特征在 于該框架系統(tǒng)使用了 TTCN-3作為分布式測試執(zhí)行腳本語言,其包括有節(jié)點(diǎn)控制器模塊、 中心節(jié)點(diǎn)模塊和執(zhí)行節(jié)點(diǎn)模塊;所述節(jié)點(diǎn)控制器模塊包括有節(jié)點(diǎn)管理單元和時(shí)差服務(wù)器 單元;所述中心節(jié)點(diǎn)模塊包括有測試報(bào)告單元、執(zhí)行調(diào)度單元、腳本部署單元和參數(shù)管理單 元;所述執(zhí)行節(jié)點(diǎn)模塊包括有編解碼器單元、測試執(zhí)行器單元和測試輔助單元;
      節(jié)點(diǎn)管理單元一方面在測試執(zhí)行開始前,需要獲知當(dāng)前分布式測試環(huán)境下存在有 哪些可用的執(zhí)行節(jié)點(diǎn);另一方面節(jié)點(diǎn)管理單元為中心節(jié)點(diǎn)模塊提供了執(zhí)行節(jié)點(diǎn)模塊的查詢 機(jī)制,同時(shí)也為執(zhí)行節(jié)點(diǎn)提供了注冊(cè)機(jī)制,每當(dāng)執(zhí)行節(jié)點(diǎn)啟動(dòng),它通過節(jié)點(diǎn)管理單元將自己 加入到分布式測試環(huán)境中;
      時(shí)差服務(wù)器單元提供標(biāo)準(zhǔn)時(shí)鐘T標(biāo)準(zhǔn),測試計(jì)算機(jī)通過向時(shí)差服務(wù)器單元進(jìn)行查詢,將信息校準(zhǔn)到標(biāo)準(zhǔn)時(shí)鐘T標(biāo)準(zhǔn),從而使中心節(jié)點(diǎn)模塊與執(zhí)行節(jié)點(diǎn)模塊在時(shí)間上保持一 致;
      執(zhí)行調(diào)度單元是由中心節(jié)點(diǎn)模塊向執(zhí)行節(jié)點(diǎn)模塊發(fā)送執(zhí)行調(diào)度命令;該執(zhí)行調(diào)度 命令用于指導(dǎo)分布式測試環(huán)境下的執(zhí)行節(jié)點(diǎn)模塊執(zhí)行測試用例操作;
      腳本部署單元將用戶在中心節(jié)點(diǎn)模塊上開發(fā)的測試集和包含執(zhí)行機(jī)所需信息的 文件分發(fā)到各個(gè)需要執(zhí)行的節(jié)點(diǎn)上,并生成執(zhí)行所需文件;經(jīng)過部署之后的測試節(jié)點(diǎn)將處 于待命狀態(tài),隨時(shí)可以接受來自中心節(jié)點(diǎn)的調(diào)度執(zhí)行命令并立即執(zhí)行相應(yīng)任務(wù);
      所述的腳本部署是中心節(jié)點(diǎn)模塊向執(zhí)行節(jié)點(diǎn)模塊部署測試腳本等文件,腳本部署 由部署會(huì)話來完成,部署會(huì)話解決測試部署過程中的節(jié)點(diǎn)間交互問題;同時(shí)也處理部署過 程中遇到的異常的問題;部署會(huì)話的步驟如下
      步驟2-1 中心節(jié)點(diǎn)啟動(dòng)部署事務(wù);
      步驟2-2 執(zhí)行節(jié)點(diǎn)在受到中心節(jié)點(diǎn)的部署事務(wù)信息之后,根據(jù)中心節(jié)點(diǎn)的端口 信息并啟動(dòng)文件傳輸事務(wù);
      步驟2-3 中心節(jié)點(diǎn)和執(zhí)行節(jié)點(diǎn)進(jìn)行文件傳輸;
      步驟2-4 執(zhí)行節(jié)點(diǎn)受到文件之后,堅(jiān)持所得文件的準(zhǔn)確性,如果文件是正確的, 則啟動(dòng)文件接受成功事務(wù);
      步驟2-5 在執(zhí)行節(jié)點(diǎn)生成測試工具需要的輔助文件,然后啟動(dòng)部署完成事務(wù);
      由于通信環(huán)境的不確定性,并非所有部署都能夠順利執(zhí)行,因此在出現(xiàn)異常的情 況下,異常部署會(huì)話的步驟如下
      步驟3-1 中心節(jié)點(diǎn)啟動(dòng)部署事務(wù);
      步驟3-2 執(zhí)行節(jié)點(diǎn)在受到中心節(jié)點(diǎn)的部署事務(wù)信息之后,根據(jù)中心節(jié)點(diǎn)的端口 信息并啟動(dòng)文件傳輸事務(wù);
      步驟3-3 如果在啟動(dòng)文件傳輸事務(wù)之后,文件在網(wǎng)絡(luò)當(dāng)中傳輸?shù)臅r(shí)候出現(xiàn)了異 常,這個(gè)異??赡苁怯捎谖募徽_或者是輔助文件生成失敗造成的;
      步驟3-4 執(zhí)行節(jié)點(diǎn)會(huì)給中心節(jié)點(diǎn)開啟一個(gè)異常事務(wù);
      步驟3-5 中心節(jié)點(diǎn)在受到異常事務(wù)的信息之后,會(huì)開啟重新部署事務(wù);
      步驟3-6 如果文件在網(wǎng)絡(luò)當(dāng)中的傳輸超時(shí)了,那么中心階段會(huì)自動(dòng)地開啟重新 部署事務(wù);
      參數(shù)管理單元用于管理分布式測試環(huán)境下的動(dòng)態(tài)參數(shù);
      編解碼器單元用于負(fù)責(zé)編碼和解碼測試數(shù)據(jù),在測試用例的執(zhí)行中被執(zhí)行節(jié)點(diǎn)模 塊調(diào)用,同時(shí)編解碼結(jié)果也要返回給執(zhí)行節(jié)點(diǎn)模塊;
      測試執(zhí)行器單元用于負(fù)責(zé)測試用例的執(zhí)行,包括有下列的執(zhí)行步驟
      (A)根據(jù)中心節(jié)點(diǎn)模塊傳輸給執(zhí)行節(jié)點(diǎn)模塊的配置文件,測試執(zhí)行器單元生成與 執(zhí)行節(jié)點(diǎn)模塊對(duì)應(yīng)的測試配置文件;
      (B)測試執(zhí)行器單元將中心節(jié)點(diǎn)模塊傳輸給執(zhí)行節(jié)點(diǎn)模塊的測試腳本作為的輸 入,調(diào)用TTCN-3的執(zhí)行器進(jìn)行執(zhí)行;
      (C)測試執(zhí)行器單元調(diào)用TTCN-3的執(zhí)行器執(zhí)行完測試腳本之后,將測試的結(jié)果返 回;
      測試輔助單元通過測試輔助能力、可配置能力和可擴(kuò)展能力進(jìn)行測試能力表征;其中測試輔助能力是指測試輔助單元能夠調(diào)用功能模塊擴(kuò)充整個(gè)測試系統(tǒng)的功能;目前可 供測試輔助單元使用的功能模塊包括測試適配器動(dòng)態(tài)切換,魯棒性測試用例生成和測試信 息收集;可配置能力是指用戶可以根據(jù)測試需要對(duì)測試輔助單元進(jìn)行配置,從而實(shí)現(xiàn)不同 的功能組合,這樣可以提高測試輔助單元的靈活性,同時(shí)也增強(qiáng)了用戶對(duì)測試輔助單元的 控制;可擴(kuò)展能力是指測試輔助單元能夠利用為滿足其他測試需求而開發(fā)的功能模塊;
      測試報(bào)告單元一方面向用戶提供性能測試的測試報(bào)告,描繪出被測試系統(tǒng)在相應(yīng) 的性能測試中的各個(gè)性能指標(biāo);該性能指標(biāo)能夠方便測試人員進(jìn)行被測試系統(tǒng)的性能判定 和診斷;
      測試報(bào)告單元另一方面收集從各個(gè)執(zhí)行節(jié)點(diǎn)(可調(diào)用的測試計(jì)算機(jī))匯總而來的 測試日志,該測試日志記錄了測試系統(tǒng)在測試執(zhí)行過程中每個(gè)測試行為的操作序列MS和 時(shí)間信息TI ;測試日志包括執(zhí)行節(jié)點(diǎn)模塊名稱、執(zhí)行節(jié)點(diǎn)模塊的執(zhí)行時(shí)間、執(zhí)行節(jié)點(diǎn)模塊 最終執(zhí)行的結(jié)果。
      本發(fā)明基于TTCN-3的分布式測試框架的優(yōu)點(diǎn)
      ①在中心節(jié)點(diǎn)模塊用于管理分布式執(zhí)行的行為邏輯,執(zhí)行節(jié)點(diǎn)模塊負(fù)責(zé)執(zhí)行 TTCN-3測試用例的測試邏輯、與被測系統(tǒng)交互、收集測試數(shù)據(jù),同時(shí)對(duì)不同的測試和會(huì)話進(jìn) 行管理,節(jié)點(diǎn)控制器模塊為中心節(jié)點(diǎn)模塊提供了執(zhí)行節(jié)點(diǎn)模塊的查詢機(jī)制,同時(shí)也為執(zhí)行 節(jié)點(diǎn)模塊提供了注冊(cè)機(jī)制。
      ②分布式測試環(huán)境中的各個(gè)通信實(shí)體提供地址注冊(cè)和查詢機(jī)制,接收各個(gè)通信實(shí) 體的地址更新。通信實(shí)體本地保留有地址緩存,儲(chǔ)存常用的其他通信實(shí)體的信息,描述邏輯 節(jié)點(diǎn)標(biāo)識(shí)到網(wǎng)絡(luò)屬性的映射。同時(shí)通信實(shí)體會(huì)定期查詢地址薄以獲得其它實(shí)體的地址更新 fn息ο
      ③分布式測試框架中中心節(jié)點(diǎn)模塊對(duì)物理分布不可見的執(zhí)行節(jié)點(diǎn)模塊的合理的 管理和控制。
      ④針對(duì)分布式測試場景中對(duì)資源管理的需求,采用了中心節(jié)點(diǎn)模塊管理測試的資 源的機(jī)制,資源管理主要是管理分布式環(huán)境下的執(zhí)行節(jié)點(diǎn)模塊和動(dòng)態(tài)參數(shù)。它為控制器提 供一個(gè)全局資源的查詢機(jī)制,同時(shí)也為執(zhí)行節(jié)點(diǎn)模塊提供一個(gè)注冊(cè)機(jī)制,使得中心節(jié)點(diǎn)模 塊能夠獲取任意時(shí)刻分布式環(huán)境中的執(zhí)行節(jié)點(diǎn)模塊鏈接和可用情況。同時(shí)在執(zhí)行時(shí)以一 定的機(jī)制保證在各個(gè)節(jié)點(diǎn)上并發(fā)執(zhí)行的測試行為不會(huì)出現(xiàn)臨界數(shù)據(jù)的沖突,即動(dòng)態(tài)參數(shù)管 理。


      圖1是本發(fā)明基于TTCN-3的分布式測試框架的結(jié)構(gòu)圖。
      圖2是本發(fā)明部署會(huì)話時(shí)序圖。
      圖3是本發(fā)明異常部署會(huì)話時(shí)序圖。
      圖4是本發(fā)明調(diào)度會(huì)話示意圖。
      圖5是本發(fā)明結(jié)果傳輸會(huì)話時(shí)序圖。
      具體實(shí)施方式
      下面將結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說明。
      參見圖1所示,本發(fā)明的一種基于TTCN-3的分布式測試框架系統(tǒng),該框架系統(tǒng)使 用了 TTCN-3作為分布式測試執(zhí)行腳本語言,其包括有節(jié)點(diǎn)控制器模塊、中心節(jié)點(diǎn)模塊和執(zhí) 行節(jié)點(diǎn)模塊;在本發(fā)明中,節(jié)點(diǎn)控制器模塊、中心節(jié)點(diǎn)模塊和執(zhí)行節(jié)點(diǎn)模塊三者通過通信模 塊進(jìn)行信息交互。
      其中,節(jié)點(diǎn)控制器模塊包括有節(jié)點(diǎn)管理單元和時(shí)差服務(wù)器單元。在分布式測試環(huán) 境中需要各個(gè)節(jié)點(diǎn)(不同的測試計(jì)算機(jī))的協(xié)同工作,作為控制管理整個(gè)測試流程的節(jié)點(diǎn) 控制器模塊,其需要獲取和管理分布式測試環(huán)境下的資源。在中心節(jié)點(diǎn)模塊用于管理分布 式執(zhí)行的行為邏輯,執(zhí)行節(jié)點(diǎn)模塊負(fù)責(zé)執(zhí)行TTCN-3測試用例的測試邏輯、與被測系統(tǒng)交 互、收集測試數(shù)據(jù),同時(shí)對(duì)不同的測試和會(huì)話進(jìn)行管理,節(jié)點(diǎn)控制器模塊為中心節(jié)點(diǎn)模塊提 供了執(zhí)行節(jié)點(diǎn)模塊的查詢機(jī)制,同時(shí)也為執(zhí)行節(jié)點(diǎn)模塊提供了注冊(cè)機(jī)制。
      其中,中心節(jié)點(diǎn)模塊包括有測試報(bào)告單元、執(zhí)行調(diào)度單元、腳本部署單元和參數(shù)管 理單元。在本發(fā)明中測試系統(tǒng)是分布式進(jìn)行的,故中心節(jié)點(diǎn)模塊用于控制測試系統(tǒng)的行為 邏輯。
      其中,執(zhí)行節(jié)點(diǎn)模塊包括有編解碼器單元、測試執(zhí)行器單元和測試輔助單元。執(zhí)行 節(jié)點(diǎn)模塊負(fù)責(zé)執(zhí)行TTCN-3測試用例的測試邏輯、與被測系統(tǒng)交互、收集測試數(shù)據(jù),同時(shí)對(duì) 不同的測試和會(huì)話進(jìn)行管理。
      (一 )節(jié)點(diǎn)管理單元
      在本發(fā)明中,節(jié)點(diǎn)管理單元一方面在測試執(zhí)行開始前,需要獲知當(dāng)前分布式測試 環(huán)境下存在有哪些可用的執(zhí)行節(jié)點(diǎn)(可調(diào)用的測試計(jì)算機(jī));另一方面節(jié)點(diǎn)管理單元為中 心節(jié)點(diǎn)模塊提供了執(zhí)行節(jié)點(diǎn)模塊的查詢機(jī)制,同時(shí)也為執(zhí)行節(jié)點(diǎn)提供了注冊(cè)機(jī)制,每當(dāng)執(zhí) 行節(jié)點(diǎn)啟動(dòng),它通過節(jié)點(diǎn)管理單元將自己加入到分布式測試環(huán)境中。
      ( 二)時(shí)差服務(wù)器單元
      在本發(fā)明中,不同測試計(jì)算機(jī)擁有不同的本地時(shí)鐘,導(dǎo)致測試計(jì)算機(jī)(不同節(jié)點(diǎn)) 之間存在時(shí)差,故本發(fā)明采用由時(shí)差服務(wù)器單元提供標(biāo)準(zhǔn)時(shí)鐘T標(biāo)準(zhǔn)。
      測試計(jì)算機(jī)通過向時(shí)差服務(wù)器單元進(jìn)行查詢,將信息校準(zhǔn)到標(biāo)準(zhǔn)時(shí)鐘T標(biāo)準(zhǔn),從 而使中心節(jié)點(diǎn)模塊與執(zhí)行節(jié)點(diǎn)模塊在時(shí)間上保持一致。
      (三)執(zhí)行調(diào)度單元
      執(zhí)行調(diào)度單元是一個(gè)自動(dòng)化過程,在該過程中,中心節(jié)點(diǎn)模塊向執(zhí)行節(jié)點(diǎn)模塊發(fā) 送執(zhí)行調(diào)度命令;該執(zhí)行調(diào)度命令用于指導(dǎo)分布式測試環(huán)境下的執(zhí)行節(jié)點(diǎn)模塊執(zhí)行測試用 例操作。
      在本發(fā)明中,執(zhí)行調(diào)度單元中的執(zhí)行調(diào)度命令始終位于腳本部署之后,并且測試 調(diào)度中所涉及的任務(wù)必須能夠被部署階段的腳本支持。
      本發(fā)明中的測試調(diào)度用于控制在測試執(zhí)行過程中各個(gè)測試執(zhí)行節(jié)點(diǎn)模塊之間的 執(zhí)行順序以及依賴關(guān)系,從而為特定的測試需求實(shí)現(xiàn)特定的測試邏輯。測試調(diào)度由測試調(diào) 度會(huì)話來完成。圖4表示了一個(gè)完整的調(diào)度會(huì)話過程,調(diào)度會(huì)話的步驟如下
      步驟4-1 中心節(jié)點(diǎn)根據(jù)測試調(diào)度策略啟動(dòng)相應(yīng)的測試用例事務(wù);
      步驟4-2 當(dāng)執(zhí)行節(jié)點(diǎn)收到中心節(jié)點(diǎn)的測試用例會(huì)話信息之后,會(huì)啟動(dòng)Execution Bed (譯文為測試床,即TTCN-3執(zhí)行機(jī)驅(qū)動(dòng)器),并且隨后會(huì)啟動(dòng)用例已經(jīng)執(zhí)行事務(wù);、
      步驟4-3 當(dāng)執(zhí)行節(jié)點(diǎn)模塊的測試用例啟動(dòng)之后,中心節(jié)點(diǎn)模塊通過一定策略反復(fù)執(zhí)行負(fù)載變更事務(wù)以達(dá)到所要求的測試負(fù)載水平,執(zhí)行節(jié)點(diǎn)模塊也在執(zhí)行過程中反復(fù)調(diào) 用執(zhí)行反饋事務(wù)以告知中心節(jié)點(diǎn)模塊目前的實(shí)際測試負(fù)載水平
      步驟4-4 當(dāng)負(fù)載已經(jīng)達(dá)到指定要求時(shí),中心節(jié)點(diǎn)模塊經(jīng)過一段規(guī)定時(shí)間后,將調(diào) 用停止負(fù)載事務(wù),執(zhí)行節(jié)點(diǎn)模塊收到后關(guān)閉Execution Bed,調(diào)用用例結(jié)束事務(wù),為后續(xù)結(jié) 果傳回會(huì)話向中心節(jié)點(diǎn)模塊提供信息。圖中的Loop區(qū)域的具體實(shí)現(xiàn)由分布式測試系統(tǒng)的 擴(kuò)展機(jī)制來完成,通過調(diào)度腳本來為不同的測試提供不同的控制策略和事務(wù)時(shí)序。
      步驟4-5 執(zhí)行節(jié)點(diǎn)開啟用例已經(jīng)結(jié)束事務(wù)。
      (四)腳本部署單元
      腳本部署單元將用戶在中心節(jié)點(diǎn)模塊上開發(fā)的測試集和包含執(zhí)行機(jī)所需信息的 文件分發(fā)到各個(gè)需要執(zhí)行的節(jié)點(diǎn)上,并生成執(zhí)行所需文件。經(jīng)過部署之后的測試節(jié)點(diǎn)將處 于待命狀態(tài),隨時(shí)可以接受來自中心節(jié)點(diǎn)的調(diào)度執(zhí)行命令并立即執(zhí)行相應(yīng)任務(wù)。
      本發(fā)明中的腳本部署是中心節(jié)點(diǎn)模塊向執(zhí)行節(jié)點(diǎn)模塊部署測試腳本等文件,腳本 部署由部署會(huì)話來完成,部署會(huì)話解決測試部署過程中的節(jié)點(diǎn)間交互問題。同時(shí)也處理部 署過程中遇到的異常的問題。圖2表示了一個(gè)部署會(huì)話的流程,圖中的箭頭表示一個(gè)通信 事務(wù)。部署會(huì)話的步驟如下
      步驟2-1 中心節(jié)點(diǎn)啟動(dòng)部署事務(wù);
      步驟2-2 執(zhí)行節(jié)點(diǎn)在受到中心節(jié)點(diǎn)的部署事務(wù)信息之后,根據(jù)中心節(jié)點(diǎn)的端口 信息并啟動(dòng)文件傳輸事務(wù);
      步驟2-3 中心節(jié)點(diǎn)和執(zhí)行節(jié)點(diǎn)進(jìn)行文件傳輸;
      步驟2-4 執(zhí)行節(jié)點(diǎn)受到文件之后,堅(jiān)持所得文件的準(zhǔn)確性,如果文件是正確的, 則啟動(dòng)文件接受成功事務(wù);
      步驟2-5 在執(zhí)行節(jié)點(diǎn)生成測試工具需要的輔助文件,然后啟動(dòng)部署完成事務(wù)。
      由于通信環(huán)境的不確定性,并非所有部署都能夠順利執(zhí)行,因此在出現(xiàn)異常的情 況下,將會(huì)出現(xiàn)部署會(huì)話的異常流程。圖3顯示了異常部署會(huì)話時(shí)序。當(dāng)超時(shí)或執(zhí)行節(jié)點(diǎn) 模塊端發(fā)生錯(cuò)誤時(shí),中心節(jié)點(diǎn)模塊端的超時(shí)機(jī)制和執(zhí)行節(jié)點(diǎn)模塊的異常事務(wù)就會(huì)觸發(fā)中心 節(jié)點(diǎn)模塊啟動(dòng)重新部署會(huì)話。同時(shí),中心節(jié)點(diǎn)模塊具有強(qiáng)制中止部署的能力。異常部署會(huì) 話的步驟如下
      步驟3-1 中心節(jié)點(diǎn)啟動(dòng)部署事務(wù);
      步驟3-2 執(zhí)行節(jié)點(diǎn)在受到中心節(jié)點(diǎn)的部署事務(wù)信息之后,根據(jù)中心節(jié)點(diǎn)的端口 信息并啟動(dòng)文件傳輸事務(wù);
      步驟3-3 如果在啟動(dòng)文件傳輸事務(wù)之后,文件在網(wǎng)絡(luò)當(dāng)中傳輸?shù)臅r(shí)候出現(xiàn)了異 常,這個(gè)異常可能是由于文件不正確或者是輔助文件生成失敗造成的;
      步驟3-4 執(zhí)行節(jié)點(diǎn)會(huì)給中心節(jié)點(diǎn)開啟一個(gè)異常事務(wù);
      步驟3-5 中心節(jié)點(diǎn)在受到異常事務(wù)的信息之后,會(huì)開啟重新部署事務(wù);
      步驟3-6 如果文件在網(wǎng)絡(luò)當(dāng)中的傳輸超時(shí)了,那么中心階段會(huì)自動(dòng)地開啟重新 部署事務(wù)。
      (五)參數(shù)管理單元
      參數(shù)管理單元用于管理分布式測試環(huán)境下的動(dòng)態(tài)參數(shù)。
      參數(shù)管理單元提供一個(gè)全局資源的查詢機(jī)制,同時(shí)也為執(zhí)行節(jié)點(diǎn)模塊提供一個(gè)注冊(cè)機(jī)制,使得中心節(jié)點(diǎn)模塊能夠獲取任意時(shí)刻分布式測試環(huán)境中的執(zhí)行節(jié)點(diǎn)鏈接和可用情 況;同時(shí)在執(zhí)行時(shí)以互斥機(jī)制保證在各個(gè)節(jié)點(diǎn)上并發(fā)執(zhí)行的測試行為不會(huì)出現(xiàn)臨界數(shù)據(jù)的 沖突。
      (六)編解碼器單元
      編解碼器單元用于負(fù)責(zé)編碼和解碼測試數(shù)據(jù),在測試用例的執(zhí)行中被執(zhí)行節(jié)點(diǎn)模 塊調(diào)用,同時(shí)編解碼結(jié)果也要返回給執(zhí)行節(jié)點(diǎn)模塊。
      在本發(fā)明中,編解碼器單元與被測系統(tǒng)間的緊密聯(lián)系降低了其可重用性,這使得 測試人員不得不一次次開發(fā)功能近似的編解碼器。但事實(shí)上,編解碼器中對(duì)測試數(shù)據(jù)進(jìn)行 編解碼的代碼具有很大相似性,同時(shí)編解碼器對(duì)數(shù)據(jù)類型具有較強(qiáng)的敏感性,這使得基于 數(shù)據(jù)類型生成編解碼器具有可行性。
      (七)測試執(zhí)行器單元
      測試執(zhí)行器單元用于負(fù)責(zé)測試用例的執(zhí)行。
      在本發(fā)明中,測試執(zhí)行器包括有下列的執(zhí)行步驟
      (D)根據(jù)中心節(jié)點(diǎn)模塊傳輸給執(zhí)行節(jié)點(diǎn)模塊的配置文件,測試執(zhí)行器單元生成與 執(zhí)行節(jié)點(diǎn)模塊對(duì)應(yīng)的測試配置文件;
      (E)測試執(zhí)行器單元將中心節(jié)點(diǎn)模塊傳輸給執(zhí)行節(jié)點(diǎn)模塊的測試腳本作為的輸 入,調(diào)用TTCN-3的執(zhí)行器進(jìn)行執(zhí)行;
      (F)測試執(zhí)行器單元調(diào)用TTCN-3的執(zhí)行器執(zhí)行完測試腳本之后,將測試的結(jié)果返 回。
      (八)測試輔助單元
      測試輔助單元通過測試輔助能力、可配置能力和可擴(kuò)展能力進(jìn)行測試能力表征。
      測試輔助能力
      測試輔助能力是指測試輔助單元能夠調(diào)用功能模塊擴(kuò)充整個(gè)測試系統(tǒng)的功能。目 前可供測試輔助單元使用的功能模塊包括測試適配器動(dòng)態(tài)切換,魯棒性測試用例生成和測 試信息收集。
      可配置能力
      可配置能力是指用戶可以根據(jù)測試需要對(duì)測試輔助單元進(jìn)行配置,從而實(shí)現(xiàn)不同 的功能組合,這樣可以提高測試輔助單元的靈活性,同時(shí)也增強(qiáng)了用戶對(duì)測試輔助單元的 控制。
      可擴(kuò)展能力
      可擴(kuò)展能力是指測試輔助單元能夠利用為滿足其他測試需求而開發(fā)的功能模塊。
      (九)測試報(bào)告單元
      測試報(bào)告單元一方面向用戶提供性能測試的測試報(bào)告,描繪出被測試系統(tǒng)在相應(yīng) 的性能測試中的各個(gè)性能指標(biāo);該性能指標(biāo)能夠方便測試人員進(jìn)行被測試系統(tǒng)的性能判定 和診斷;
      測試報(bào)告單元另一方面收集從各個(gè)執(zhí)行節(jié)點(diǎn)(可調(diào)用的測試計(jì)算機(jī))匯總而來的 測試日志,該測試日志記錄了測試系統(tǒng)在測試執(zhí)行過程中每個(gè)測試行為的操作序列MS和 時(shí)間信息TI。測試日志包括執(zhí)行節(jié)點(diǎn)模塊名稱、執(zhí)行節(jié)點(diǎn)模塊的執(zhí)行時(shí)間、執(zhí)行節(jié)點(diǎn)模塊最 終執(zhí)行的結(jié)果。
      在本發(fā)明中,測試報(bào)告單元將根據(jù)測試日志中識(shí)別出可供性能度量的元素,并統(tǒng) 計(jì)出需要的性能指標(biāo)。
      本發(fā)明中的測試結(jié)果報(bào)告用于在測試執(zhí)行結(jié)束之后,對(duì)測試結(jié)果的收集和反饋。 測試結(jié)果報(bào)告由結(jié)果傳輸會(huì)話來完成,結(jié)果傳輸會(huì)話在調(diào)度會(huì)話結(jié)束后,由中心節(jié)點(diǎn)模塊 啟動(dòng),其作用是收集執(zhí)行節(jié)點(diǎn)模塊上生成的執(zhí)行日志。執(zhí)行日志記錄了 TTCN-3測試用例執(zhí) 行的詳細(xì)軌跡,包括時(shí)間信息。中心節(jié)點(diǎn)模塊匯總這些信息后,將計(jì)算返回。結(jié)果傳輸會(huì)話 的流程如圖5所示。結(jié)果傳輸會(huì)話的步驟如下
      步驟5-1 中心節(jié)點(diǎn)啟動(dòng)結(jié)果傳輸事務(wù);
      步驟5-2 執(zhí)行節(jié)點(diǎn)根據(jù)中心節(jié)點(diǎn)的端口信息并且啟動(dòng)文件傳輸事務(wù);
      步驟5-3 中心節(jié)點(diǎn)會(huì)檢查所得文件的正確性,然后會(huì)啟動(dòng)文件接受成功事務(wù);
      步驟5-4 如果在結(jié)果傳輸會(huì)話遇到網(wǎng)絡(luò)通信異常問題,檢測到所得文件不正確、 文件傳輸事務(wù)超時(shí)或拋出網(wǎng)絡(luò)異常時(shí),中心節(jié)點(diǎn)模塊將啟動(dòng)結(jié)果重傳輸。
      本發(fā)明的一種適用于軟件系統(tǒng)的基于TTCN-3的分布式測試框架系統(tǒng),該框架系 統(tǒng)使用了 TTCN-3作為分布式測試執(zhí)行腳本語言,其包括有節(jié)點(diǎn)控制器模塊、中心節(jié)點(diǎn)模塊 和執(zhí)行節(jié)點(diǎn)模塊;節(jié)點(diǎn)控制器模塊、中心節(jié)點(diǎn)模塊和執(zhí)行節(jié)點(diǎn)模塊三者通過通信模塊進(jìn)行 信息交互。分布式測試環(huán)境中的各個(gè)通信實(shí)體提供地址注冊(cè)和查詢機(jī)制,接收各個(gè)通信實(shí) 體的地址更新。通信實(shí)體本地保留有地址緩存,儲(chǔ)存常用的其他通信實(shí)體的信息,描述邏輯 節(jié)點(diǎn)標(biāo)識(shí)到網(wǎng)絡(luò)屬性的映射。同時(shí)通信實(shí)體會(huì)定期查詢地址薄以獲得其它實(shí)體的地址更新 信息。本發(fā)明是針對(duì)目前軟件系統(tǒng)測試需要分布式的需求而提出,該框架系統(tǒng)提供了方便 的用戶分布式部署測試用例,分布式執(zhí)行測試用例的機(jī)制,從而達(dá)到了耦合度底,擴(kuò)展性強(qiáng) 的目的。
      權(quán)利要求
      1. 一種適用于軟件系統(tǒng)的基于TTCN-3的分布式測試框架系統(tǒng),其特征在于該框架系 統(tǒng)使用了 TTCN-3作為分布式測試執(zhí)行腳本語言,其包括有節(jié)點(diǎn)控制器模塊、中心節(jié)點(diǎn)模塊 和執(zhí)行節(jié)點(diǎn)模塊;所述節(jié)點(diǎn)控制器模塊包括有節(jié)點(diǎn)管理單元和時(shí)差服務(wù)器單元;所述中心 節(jié)點(diǎn)模塊包括有測試報(bào)告單元、執(zhí)行調(diào)度單元、腳本部署單元和參數(shù)管理單元;所述執(zhí)行節(jié) 點(diǎn)模塊包括有編解碼器單元、測試執(zhí)行器單元和測試輔助單元;節(jié)點(diǎn)管理單元一方面在測試執(zhí)行開始前,需要獲知當(dāng)前分布式測試環(huán)境下存在有哪些 可用的執(zhí)行節(jié)點(diǎn);另一方面節(jié)點(diǎn)管理單元為中心節(jié)點(diǎn)模塊提供了執(zhí)行節(jié)點(diǎn)模塊的查詢機(jī) 制,同時(shí)也為執(zhí)行節(jié)點(diǎn)提供了注冊(cè)機(jī)制,每當(dāng)執(zhí)行節(jié)點(diǎn)啟動(dòng),它通過節(jié)點(diǎn)管理單元將自己加 入到分布式測試環(huán)境中;時(shí)差服務(wù)器單元提供標(biāo)準(zhǔn)時(shí)鐘Tfe l,測試計(jì)算機(jī)通過向時(shí)差服務(wù)器單元進(jìn)行查詢,將 信息校準(zhǔn)到標(biāo)準(zhǔn)時(shí)鐘Tfe e,從而使中心節(jié)點(diǎn)模塊與執(zhí)行節(jié)點(diǎn)模塊在時(shí)間上保持一致;執(zhí)行調(diào)度單元是由中心節(jié)點(diǎn)模塊向執(zhí)行節(jié)點(diǎn)模塊發(fā)送執(zhí)行調(diào)度命令;該執(zhí)行調(diào)度命令 用于指導(dǎo)分布式測試環(huán)境下的執(zhí)行節(jié)點(diǎn)模塊執(zhí)行測試用例操作;腳本部署單元將用戶在中心節(jié)點(diǎn)模塊上開發(fā)的測試集和包含執(zhí)行機(jī)所需信息的文件 分發(fā)到各個(gè)需要執(zhí)行的節(jié)點(diǎn)上,并生成執(zhí)行所需文件;經(jīng)過部署之后的測試節(jié)點(diǎn)將處于待 命狀態(tài),隨時(shí)可以接受來自中心節(jié)點(diǎn)的調(diào)度執(zhí)行命令并立即執(zhí)行相應(yīng)任務(wù);所述的腳本部署是中心節(jié)點(diǎn)模塊向執(zhí)行節(jié)點(diǎn)模塊部署測試腳本等文件,腳本部署由部 署會(huì)話來完成,部署會(huì)話解決測試部署過程中的節(jié)點(diǎn)間交互問題;同時(shí)也處理部署過程中 遇到的異常的問題;部署會(huì)話的步驟如下 步驟2-1 中心節(jié)點(diǎn)啟動(dòng)部署事務(wù);步驟2-2 執(zhí)行節(jié)點(diǎn)在受到中心節(jié)點(diǎn)的部署事務(wù)信息之后,根據(jù)中心節(jié)點(diǎn)的端口信息 并啟動(dòng)文件傳輸事務(wù);步驟2-3 中心節(jié)點(diǎn)和執(zhí)行節(jié)點(diǎn)進(jìn)行文件傳輸;步驟2-4 執(zhí)行節(jié)點(diǎn)受到文件之后,堅(jiān)持所得文件的準(zhǔn)確性,如果文件是正確的,則啟 動(dòng)文件接受成功事務(wù);步驟2-5 在執(zhí)行節(jié)點(diǎn)生成測試工具需要的輔助文件,然后啟動(dòng)部署完成事務(wù); 由于通信環(huán)境的不確定性,并非所有部署都能夠順利執(zhí)行,因此在出現(xiàn)異常的情況下, 異常部署會(huì)話的步驟如下步驟3-1 中心節(jié)點(diǎn)啟動(dòng)部署事務(wù);步驟3-2:執(zhí)行節(jié)點(diǎn)在受到中心節(jié)點(diǎn)的部署事務(wù)信息之后,根據(jù)中心節(jié)點(diǎn)的端口信息 并啟動(dòng)文件傳輸事務(wù);步驟3-3 如果在啟動(dòng)文件傳輸事務(wù)之后,文件在網(wǎng)絡(luò)當(dāng)中傳輸?shù)臅r(shí)候出現(xiàn)了異常,這 個(gè)異??赡苁怯捎谖募徽_或者是輔助文件生成失敗造成的; 步驟3-4 執(zhí)行節(jié)點(diǎn)會(huì)給中心節(jié)點(diǎn)開啟一個(gè)異常事務(wù); 步驟3-5 中心節(jié)點(diǎn)在受到異常事務(wù)的信息之后,會(huì)開啟重新部署事務(wù); 步驟3-6 如果文件在網(wǎng)絡(luò)當(dāng)中的傳輸超時(shí)了,那么中心階段會(huì)自動(dòng)地開啟重新部署 事務(wù);參數(shù)管理單元用于管理分布式測試環(huán)境下的動(dòng)態(tài)參數(shù);編解碼器單元用于負(fù)責(zé)編碼和解碼測試數(shù)據(jù),在測試用例的執(zhí)行中被執(zhí)行節(jié)點(diǎn)模塊調(diào)用,同時(shí)編解碼結(jié)果也要返回給執(zhí)行節(jié)點(diǎn)模塊;測試執(zhí)行器單元用于負(fù)責(zé)測試用例的執(zhí)行,包括有下列的執(zhí)行步驟(A)根據(jù)中心節(jié)點(diǎn)模塊傳輸給執(zhí)行節(jié)點(diǎn)模塊的配置文件,測試執(zhí)行器單元生成與執(zhí)行 節(jié)點(diǎn)模塊對(duì)應(yīng)的測試配置文件;(B)測試執(zhí)行器單元將中心節(jié)點(diǎn)模塊傳輸給執(zhí)行節(jié)點(diǎn)模塊的測試腳本作為的輸入,調(diào) 用TTCN-3的執(zhí)行器進(jìn)行執(zhí)行;(C)測試執(zhí)行器單元調(diào)用TTCN-3的執(zhí)行器執(zhí)行完測試腳本之后,將測試的結(jié)果返回; 測試輔助單元通過測試輔助能力、可配置能力和可擴(kuò)展能力進(jìn)行測試能力表征;其中測試輔助能力是指測試輔助單元能夠調(diào)用功能模塊擴(kuò)充整個(gè)測試系統(tǒng)的功能;目前可供測 試輔助單元使用的功能模塊包括測試適配器動(dòng)態(tài)切換,魯棒性測試用例生成和測試信息收 集;可配置能力是指用戶可以根據(jù)測試需要對(duì)測試輔助單元進(jìn)行配置,從而實(shí)現(xiàn)不同的功 能組合,這樣可以提高測試輔助單元的靈活性,同時(shí)也增強(qiáng)了用戶對(duì)測試輔助單元的控制; 可擴(kuò)展能力是指測試輔助單元能夠利用為滿足其他測試需求而開發(fā)的功能模塊;測試報(bào)告單元一方面向用戶提供性能測試的測試報(bào)告,描繪出被測試系統(tǒng)在相應(yīng)的性 能測試中的各個(gè)性能指標(biāo);該性能指標(biāo)能夠方便測試人員進(jìn)行被測試系統(tǒng)的性能判定和診 斷;測試報(bào)告單元另一方面收集從各個(gè)執(zhí)行節(jié)點(diǎn)(可調(diào)用的測試計(jì)算機(jī))匯總而來的測試 日志,該測試日志記錄了測試系統(tǒng)在測試執(zhí)行過程中每個(gè)測試行為的操作序列MS和時(shí)間 信息TI ;測試日志包括執(zhí)行節(jié)點(diǎn)模塊名稱、執(zhí)行節(jié)點(diǎn)模塊的執(zhí)行時(shí)間、執(zhí)行節(jié)點(diǎn)模塊最終 執(zhí)行的結(jié)果。
      2.根據(jù)權(quán)利要求1所述的適用于軟件系統(tǒng)的基于TTCN-3的分布式測試框架系統(tǒng),其特 征在于參數(shù)管理單元提供一個(gè)全局資源的查詢機(jī)制,同時(shí)也為執(zhí)行節(jié)點(diǎn)
      3.根據(jù)權(quán)利要求1所述的適用于軟件系統(tǒng)的基于TTCN-3的分布式測試框架系統(tǒng),其特 征在于執(zhí)行調(diào)度單元中的執(zhí)行調(diào)度命令始終位于腳本部署之后,并且測試調(diào)度中所涉及 的任務(wù)必須能夠被部署階段的腳本支持。
      4.根據(jù)權(quán)利要求1所述的適用于軟件系統(tǒng)的基于TTCN-3的分布式測試框架系統(tǒng),其特 征在于測試調(diào)度用于控制在測試執(zhí)行過程中各個(gè)測試執(zhí)行節(jié)點(diǎn)模塊之間的執(zhí)行順序以及 依賴關(guān)系,從而為特定的測試需求實(shí)現(xiàn)特定的測試邏輯;測試調(diào)度由測試調(diào)度會(huì)話來完成, 調(diào)度會(huì)話的步驟如下步驟4-1 中心節(jié)點(diǎn)根據(jù)測試調(diào)度策略啟動(dòng)相應(yīng)的測試用例事務(wù); 步驟4-2 當(dāng)執(zhí)行節(jié)點(diǎn)收到中心節(jié)點(diǎn)的測試用例會(huì)話信息之后,會(huì)啟動(dòng)TTCN-3執(zhí)行機(jī) 驅(qū)動(dòng)器,并且隨后會(huì)啟動(dòng)用例已經(jīng)執(zhí)行事務(wù);步驟4-3 當(dāng)執(zhí)行節(jié)點(diǎn)模塊的測試用例啟動(dòng)之后,中心節(jié)點(diǎn)模塊通過一定策略反復(fù)執(zhí) 行負(fù)載變更事務(wù)以達(dá)到所要求的測試負(fù)載水平,執(zhí)行節(jié)點(diǎn)模塊也在執(zhí)行過程中反復(fù)調(diào)用執(zhí) 行反饋事務(wù)以告知中心節(jié)點(diǎn)模塊目前的實(shí)際測試負(fù)載水平;步驟4-4 當(dāng)負(fù)載已經(jīng)達(dá)到指定要求時(shí),中心節(jié)點(diǎn)模塊經(jīng)過一段規(guī)定時(shí)間后,將調(diào)用停 止負(fù)載事務(wù),執(zhí)行節(jié)點(diǎn)模塊收到后關(guān)閉TTCN-3執(zhí)行機(jī)驅(qū)動(dòng)器,調(diào)用用例結(jié)束事務(wù),為后續(xù) 結(jié)果傳回會(huì)話向中心節(jié)點(diǎn)模塊提供信息;步驟4-5 執(zhí)行節(jié)點(diǎn)開啟用例已經(jīng)結(jié)束事務(wù)。
      5.根據(jù)權(quán)利要求1所述的適用于軟件系統(tǒng)的基于TTCN-3的分布式測試框架系統(tǒng),其 特征在于測試結(jié)果報(bào)告用于在測試執(zhí)行結(jié)束之后,對(duì)測試結(jié)果的收集和反饋;測試結(jié)果 報(bào)告由結(jié)果傳輸會(huì)話來完成,結(jié)果傳輸會(huì)話在調(diào)度會(huì)話結(jié)束后,由中心節(jié)點(diǎn)模塊啟動(dòng),其作 用是收集執(zhí)行節(jié)點(diǎn)模塊上生成的執(zhí)行日志;執(zhí)行日志記錄了 TTCN-3測試用例執(zhí)行的詳細(xì) 軌跡,包括時(shí)間信息;中心節(jié)點(diǎn)模塊匯總這些信息后,將計(jì)算返回;結(jié)果傳輸會(huì)話的步驟如 下步驟5-1 中心節(jié)點(diǎn)啟動(dòng)結(jié)果傳輸事務(wù);步驟5-2 執(zhí)行節(jié)點(diǎn)根據(jù)中心節(jié)點(diǎn)的端口信息并且啟動(dòng)文件傳輸事務(wù); 步驟5-3 中心節(jié)點(diǎn)會(huì)檢查所得文件的正確性,然后會(huì)啟動(dòng)文件接受成功事務(wù); 步驟5-4 如果在結(jié)果傳輸會(huì)話遇到網(wǎng)絡(luò)通信異常問題,檢測到所得文件不正確、文件 傳輸事務(wù)超時(shí)或拋出網(wǎng)絡(luò)異常時(shí),中心節(jié)點(diǎn)模塊將啟動(dòng)結(jié)果重傳輸。
      全文摘要
      本發(fā)明公開了一種適用于軟件系統(tǒng)的基于TTCN-3的分布式測試框架系統(tǒng),該框架系統(tǒng)使用了TTCN-3作為分布式測試執(zhí)行腳本語言,其包括有節(jié)點(diǎn)控制器模塊、中心節(jié)點(diǎn)模塊和執(zhí)行節(jié)點(diǎn)模塊;節(jié)點(diǎn)控制器模塊、中心節(jié)點(diǎn)模塊和執(zhí)行節(jié)點(diǎn)模塊三者通過通信模塊進(jìn)行信息交互。本發(fā)明是針對(duì)目前軟件系統(tǒng)測試需要分布式的需求而提出,該框架系統(tǒng)提供了方便的用戶分布式部署測試用例,分布式執(zhí)行測試用例的機(jī)制,從而達(dá)到了耦合度底,擴(kuò)展性強(qiáng)的目的。
      文檔編號(hào)H04L29/08GK102035896SQ20101061754
      公開日2011年4月27日 申請(qǐng)日期2010年12月31日 優(yōu)先權(quán)日2010年12月31日
      發(fā)明者吳際, 徐珞, 楊波 申請(qǐng)人:北京航空航天大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1