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