国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種基于發(fā)布訂閱模式的軟件測試系統(tǒng)設(shè)計(jì)*

2022-01-06 08:35:58薛松繆俊王博吳昊
艦船電子工程 2021年12期
關(guān)鍵詞:軟件測試調(diào)用代理

薛松 繆俊 王博 吳昊

(中國艦船研究院 北京 100101)

1 引言

軟件測試是承接軟件設(shè)計(jì)與軟件產(chǎn)品的關(guān)鍵環(huán)節(jié),軟件測試系統(tǒng)可根據(jù)待測軟件的特點(diǎn)支撐完成不同級別的軟件測試任務(wù),為軟件設(shè)計(jì)的合理性、軟件產(chǎn)品的穩(wěn)定性提供反饋和保障。軟件測試系統(tǒng)將以往繁雜的手工測試內(nèi)容轉(zhuǎn)換為自動執(zhí)行,可提高軟件測試效率與測試準(zhǔn)確度。目前行業(yè)內(nèi)軟件測試的基本手段為根據(jù)具體的待測軟件開發(fā)專用測試系統(tǒng)與測試用例,不能形成一套靈活部署、測試通用的工具,很難支持跨平臺分布部署、軟件用例在線編輯等自動化測試工作。因此迫切需要開發(fā)通用的分布式測試工具,可以根據(jù)測試需求進(jìn)行部署和編輯,支撐廣泛的軟件測試工作[1~4]。

該軟件測試系統(tǒng)由測評管控軟件與測試代理軟件組成,采用以數(shù)據(jù)為中心的發(fā)布訂閱通信方式,可支持測試管控軟件與被測軟件的分布式部署,預(yù)期的工作過程是將測評管控軟件與測試代理軟件分別部署至測評管控計(jì)算機(jī)與目標(biāo)機(jī),在測評管控軟件編輯測試參數(shù),生成基于XML文件的測試流,設(shè)置代理組件連接,編輯測試流程,最終生成測試實(shí)例,按照預(yù)定流程自動完成接口級測試與用例級測試,最后完成測試結(jié)果采集,并完成測試數(shù)據(jù)自動整理。

2 系統(tǒng)設(shè)計(jì)

2.1 系統(tǒng)架構(gòu)

軟件測試系統(tǒng)整體結(jié)構(gòu)如圖1所示,主體采用消息發(fā)布訂閱架構(gòu),由三部分組成:測評管控軟件、測試代理軟件、測試組件。測評軟件的運(yùn)行模式分為兩種:1)分布部署,即測評管控軟件運(yùn)行于測評計(jì)算機(jī),測試代理和測試組件運(yùn)行于待測平臺,通過以太網(wǎng)連接;2)集中部署,即測評管控軟件、測試代理、測試組件都運(yùn)行于目標(biāo)機(jī),通過計(jì)算機(jī)內(nèi)部的自回環(huán)網(wǎng)絡(luò)接口進(jìn)行通信。

圖1 軟件測試系統(tǒng)整體架構(gòu)

測評管控軟件具有可視化的人機(jī)交互界面,主要用于解析待測內(nèi)容、輸出測試操作、接收操作結(jié)果、智能評測和輸出測試報(bào)告,該軟件不與待測環(huán)境和測試組件直接接觸,所有測試操作和操作結(jié)果都是通過網(wǎng)絡(luò)接口與測試代理以XML報(bào)文形式交互。

測試代理負(fù)責(zé)與測評管控軟件通信,解析協(xié)議,并通過相應(yīng)接口將調(diào)用操作轉(zhuǎn)發(fā)(或直接調(diào)用)至相應(yīng)的測試組件,監(jiān)控測試操作的執(zhí)行,收集測試結(jié)果并回傳至測評管控軟件。測試代理不與待測軟件直接接觸,所有被測軟件的調(diào)用都由測試組件完成,測試代理還負(fù)責(zé)處理因軟硬件模塊異常導(dǎo)致的測試組件運(yùn)行錯(cuò)誤。

測試組件負(fù)責(zé)調(diào)用待測軟件并返回執(zhí)行結(jié)果,它包含了待測軟件的所有對外接口調(diào)用,是與被測軟件直接相關(guān)的個(gè)性化服務(wù)組件,以服務(wù)動態(tài)加載的形式保證了在軟件測試系統(tǒng)主體框架不變的情況下兼容大部分軟件的測試任務(wù),測試組件可以動態(tài)庫或者可執(zhí)行程序的形式提供,支持跨平臺編譯和運(yùn)行。

各測試組件都以獨(dú)立線程(或任務(wù))運(yùn)行,不斷接收調(diào)用命令,執(zhí)行調(diào)用并返回?cái)?shù)據(jù)。測試組件都具有統(tǒng)一的輸入輸出接口規(guī)范、統(tǒng)一的命名和部署規(guī)范,可以動態(tài)配置、加載,并由測試代理統(tǒng)一管理。

2.2 測評管控軟件設(shè)計(jì)

測評管控軟件具有可視化的人機(jī)交互界面,通過解析XML接口描述文件,自動生成相應(yīng)的被測軟件測試窗口,測試窗口中可編輯測試項(xiàng)目及測試順序,并可填入預(yù)先編輯好的測試參數(shù),根據(jù)測試需要可以進(jìn)行手工操作相應(yīng)的接口,亦可通過解析測試項(xiàng)描述文件,自動生成測試項(xiàng)窗口,進(jìn)行智能化測試,自動逐項(xiàng)測試,并判定結(jié)果,最終生成測評報(bào)告。

測評管控軟件結(jié)構(gòu)組成如圖2所示,其主要用于完成人機(jī)交互,解析待測內(nèi)容、輸出測試操作、接收操作結(jié)果、智能評測和輸出測試報(bào)告;測評管控軟件集成了基于DDS的消息發(fā)布與訂閱組件,該組件使測評管控軟件、測試代理、測試目標(biāo)軟件之間形成了解耦,測試系統(tǒng)內(nèi)所有的交互參數(shù)具有唯一的消息ID,測試交互需要的所有的參數(shù)、反饋結(jié)果均通過消息主題的形式進(jìn)行發(fā)布,這使得同一臺測評管控計(jì)算機(jī)可面向多臺被測對象進(jìn)行測試信息發(fā)布,也可訂閱多臺目標(biāo)機(jī)的測試結(jié)果。

圖2 測評管控軟件結(jié)構(gòu)圖

該測評管控軟件是一種以測試數(shù)據(jù)為中心的測試軟件,測試人員與測試軟件之間的交互通過XML文件進(jìn)行傳遞,這也使得本系統(tǒng)具備以測試內(nèi)容為中心的運(yùn)行特征,使用戶無需關(guān)注測試軟件與被測軟件之間的具體交互過程。

2.3 測試代理與測試組件設(shè)計(jì)

測試代理、測試組件、被測軟件共同運(yùn)行于目標(biāo)機(jī)中,各部分主要功能如下。

測試代理集成了消息發(fā)布與訂閱組件,負(fù)責(zé)與測評管控軟件交互,通過XML解析模塊獲取測評管控軟件傳遞的指令或參數(shù),并通過相應(yīng)接口將調(diào)用測試組件,將參數(shù)傳遞給測試組件,測試代理不與被測軟件直接接觸,所有被測軟件的調(diào)用都由測試組件或測試用例進(jìn)行,測試代理還具有管理、監(jiān)測測試組件運(yùn)行的功能,可以處理因軟硬件模塊異常導(dǎo)致的測試用例進(jìn)程錯(cuò)誤,并將錯(cuò)誤信息回告給測評管控軟件。

測試組件是針對被測軟件定制開發(fā)的服務(wù)化組件,可根據(jù)被測軟件的項(xiàng)目和種類按需調(diào)用,測試組件按照功能不同可分為兩類:1)接口測試組件,測試組件包含了被測軟件的所有對外接口調(diào)用,以動態(tài)庫形式提供給測試代理調(diào)用。測試組件都以獨(dú)立線程運(yùn)行,不斷接收調(diào)用命令,執(zhí)行調(diào)用并返回?cái)?shù)據(jù);2)典型功能測試組件,將軟硬件模塊的典型功能綜合起來,形成一套較完整的面向應(yīng)用的綜合測試用例,以動態(tài)庫或可執(zhí)行程序提供。每個(gè)典型測試用例都以獨(dú)立線程運(yùn)行,返回?cái)?shù)據(jù)。

圖3 測試代理與測試組件關(guān)系圖

2.4 消息發(fā)布訂閱設(shè)計(jì)

由OMG組織頒布的面向數(shù)據(jù)的實(shí)時(shí)系統(tǒng)數(shù)據(jù)分發(fā)服務(wù)規(guī)范 DDS(Data Distribution Service)是一項(xiàng)以數(shù)據(jù)為中心的網(wǎng)絡(luò)實(shí)時(shí)分布式應(yīng)用程序組件,它解決了分布式程序之間的網(wǎng)絡(luò)實(shí)時(shí)通信問題,不同體系架構(gòu)與運(yùn)行平臺的應(yīng)用程序可將DDS作為其進(jìn)行網(wǎng)絡(luò)通信的支撐組件[5~11]。

通過DDS組件能完成異構(gòu)分布式程序組件之間的通信,可通過DDS的配置使程序滿足應(yīng)用的特定通信性能需求。DDS通信組件能夠使開發(fā)者關(guān)心具體數(shù)據(jù)實(shí)現(xiàn),簡化其對底層通信的實(shí)現(xiàn)關(guān)注。

在測試軟件系統(tǒng)中,基于DDS的消息發(fā)布訂閱流程如圖4所示,測評管控軟件、測試代理分別通過數(shù)據(jù)接口API集成了消息發(fā)布訂閱組件,并以全局資源空間為媒介完成了基于主題的數(shù)據(jù)交換。在數(shù)據(jù)交換的過程中,所有的參數(shù)、報(bào)文均通過XML文件的形式進(jìn)行傳遞。

圖4 基于DDS的信息分發(fā)流程

數(shù)據(jù)發(fā)布過程:由測評管控軟件的數(shù)據(jù)接口API調(diào)用發(fā)布訂閱組件,并接收測評管控軟件各內(nèi)部模塊,如用戶管理模塊、接口參數(shù)管理模塊、測試流管理模塊、底層監(jiān)控模塊等的XML格式信息,并將上述信息行主題編號,并發(fā)布到全局資源空間,完成了數(shù)據(jù)推送。測試代理通過數(shù)據(jù)接口API調(diào)用發(fā)布訂閱組件將程序運(yùn)行信息行主題編號,并發(fā)布到全局資源空間,完成了數(shù)據(jù)推送。

數(shù)據(jù)訂閱:由測評管控軟件的數(shù)據(jù)接口API調(diào)用發(fā)布訂閱組件,按照用戶需要從全局資源空間訂閱某一主題信息;由測試代理軟件的數(shù)據(jù)接口API調(diào)用消息發(fā)布訂閱組件,按照測試需要從全局資源空間訂閱某一主題信息,當(dāng)訂閱請求完成時(shí),DDS消息發(fā)布訂閱組件會自動在發(fā)布端與訂閱端之間建立連接,完成消息通信。

2.5 XML文件設(shè)計(jì)

XML是Extensible Markup Language的縮寫。即可擴(kuò)展標(biāo)記語言,是用于表示結(jié)構(gòu)化信息的一種標(biāo)準(zhǔn)文本格式。由于XML是非專有的并易于閱讀和編寫,就使得它成為在不同的應(yīng)用間交換數(shù)據(jù)的理想格式,同時(shí)對于人類或是計(jì)算機(jī)程序來說,都容易閱讀和編寫,因而成為交換語言的首選[12]。

測評管控軟件內(nèi)部各模塊之間的XML交互流程如圖5所示,各子系統(tǒng)間主要通過各種XML文件進(jìn)行數(shù)據(jù)交換,部分子系統(tǒng)間存在直接的消息接口。

圖5 測評管控軟件XML傳輸組成

典型XML文件內(nèi)容節(jié)點(diǎn)及作用如表1所示。

表1 XML文件內(nèi)容

3 應(yīng)用模式

3.1 用戶管理

用戶通過設(shè)置賬號和密碼進(jìn)行登錄,登錄后的用戶可打開配置文件,選取編輯完成的測試流程。

3.2 手動模式

載入XML配置文件,生成區(qū)域1中的被測軟件接口列表,點(diǎn)擊區(qū)域1中的接口,會在區(qū)域2中顯示已經(jīng)保存的參數(shù)文件,在區(qū)域3中顯示參數(shù)內(nèi)容。點(diǎn)擊運(yùn)行即可完成測試操作,并在“輸出”頁返回測試結(jié)果。

3.3 自動模式

如圖7所示,區(qū)域1是測試接口區(qū),2是歷史參數(shù)區(qū),3是參數(shù)顯示區(qū),4是測試流接口區(qū),5是測試流功能區(qū),6是測試流區(qū)。

通過區(qū)域6編輯測試流XML文件,并在區(qū)域1、2中選定接口與參數(shù),將選中的接口以測試項(xiàng)的形式新增到測試流中,可通過區(qū)域5中的編輯按鈕編輯測試順序,生成測測試流在區(qū)域4中保持。點(diǎn)擊自動運(yùn)行按鈕,即可完成特定測試流程的自動運(yùn)行。

圖6 手動測試模式界面

圖7 自動測試模式界面

4 結(jié)語

本軟件測試系統(tǒng)通過采用圖形化跨平臺編程技術(shù),結(jié)合發(fā)布訂閱模式的消息通信組件,實(shí)現(xiàn)了四個(gè)方面的功能,第一,實(shí)現(xiàn)了測試軟件與被測軟件的解耦分離;第二,實(shí)現(xiàn)了圖形化編程操作,取代了原有的接口用例編程操作;第三,實(shí)現(xiàn)了自動化標(biāo)準(zhǔn)化測試流程;第四,實(shí)現(xiàn)了測試結(jié)果自動采集。

該測試軟件系統(tǒng)界面交互良好,操作簡便,分區(qū)清晰。經(jīng)相詳細(xì)測試,并在測試過程中應(yīng)用,結(jié)果表明本測試系統(tǒng)穩(wěn)定可靠,達(dá)到了預(yù)期的設(shè)計(jì)目標(biāo)。

猜你喜歡
軟件測試調(diào)用代理
基于OBE的軟件測試課程教學(xué)改革探索
核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
代理圣誕老人
LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
EXCEL和VBA實(shí)現(xiàn)軟件測試記錄管理
電子制作(2018年16期)2018-09-26 03:27:18
代理手金寶 生意特別好
關(guān)于軟件測試技術(shù)應(yīng)用與發(fā)展趨勢研究
電子測試(2017年15期)2017-12-18 07:19:20
基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
軟件測試工程化模型及應(yīng)用研究
復(fù)仇代理烏龜君
闻喜县| 五峰| 郴州市| 堆龙德庆县| 康乐县| 黄冈市| 东辽县| 灵武市| 湖口县| 德令哈市| 安义县| 内黄县| 花莲市| 北宁市| 常熟市| 宁阳县| 从江县| 门头沟区| 曲沃县| 涞源县| 连云港市| 安福县| 娄烦县| 青铜峡市| 砚山县| 汉寿县| 抚州市| 彰化市| 怀集县| 济源市| 赞皇县| 汝南县| 天祝| 松阳县| 泸州市| 宿迁市| 阜阳市| 南雄市| 贵州省| 台江县| 常德市|