魏冬冬 李芳芳 葉竹 胡逸琳 劉葉盛
(上海航天電子技術(shù)研究所,上海 201109)
全數(shù)字仿真測(cè)試系統(tǒng)在軟件測(cè)評(píng)[1]工作中被廣泛應(yīng)用,常見的全數(shù)字仿真測(cè)試系統(tǒng)包含被測(cè)件的仿真運(yùn)行軟件、數(shù)據(jù)控制軟件、數(shù)據(jù)顯示軟件、外設(shè)仿真軟件等多個(gè)子軟件。全數(shù)字測(cè)試系統(tǒng)中各個(gè)子軟件之間通常以網(wǎng)絡(luò)通信、共享內(nèi)存[2]等方式交互數(shù)據(jù),系統(tǒng)結(jié)構(gòu)圖如圖1所示。
全數(shù)字測(cè)試系統(tǒng)執(zhí)行測(cè)試用例有一些共同特點(diǎn),如都是在特定的時(shí)間與特定的軟件交互數(shù)據(jù),這為測(cè)試用例自動(dòng)執(zhí)行軟件的研制提供了一些技術(shù)基礎(chǔ)。為了減少軟件測(cè)評(píng)人員執(zhí)行測(cè)試用例時(shí)的工作量,并能在被測(cè)件執(zhí)行異常時(shí)精確回放測(cè)試用例執(zhí)行過程,保證測(cè)評(píng)人員高效完成測(cè)試用例執(zhí)行,本課題開展了對(duì)測(cè)試用例自動(dòng)執(zhí)行軟件的研制工作。
本課題設(shè)計(jì)的測(cè)試用例自動(dòng)執(zhí)行軟件主要用于執(zhí)行和記錄全數(shù)字測(cè)試系統(tǒng)各個(gè)軟件之間的過程數(shù)據(jù)。該軟件與測(cè)試系統(tǒng)中包含的各個(gè)軟件都有數(shù)據(jù)交互,測(cè)評(píng)人員可以通過界面編輯統(tǒng)一格式的測(cè)試過程數(shù)據(jù),其中測(cè)試過程數(shù)據(jù)既包括各軟件間通用接口交互的數(shù)據(jù),也包括測(cè)評(píng)人員通過界面完成的操作數(shù)據(jù)。
測(cè)評(píng)人員在使用全數(shù)字測(cè)試系統(tǒng)執(zhí)行測(cè)試用例時(shí),測(cè)試用例自動(dòng)執(zhí)行軟件將當(dāng)前執(zhí)行過程保存為測(cè)試過程數(shù)據(jù)文件,可以進(jìn)行精確地完成測(cè)試過程回放。
圖1 全數(shù)字測(cè)試系統(tǒng)結(jié)構(gòu)圖
圖2 自動(dòng)執(zhí)行的全數(shù)字測(cè)試系統(tǒng)結(jié)構(gòu)圖
將全數(shù)字測(cè)試系統(tǒng)中各軟件之間的通用接口交互數(shù)據(jù)和用戶操作數(shù)據(jù)抽象表示為統(tǒng)一格式的測(cè)試過程數(shù)據(jù)[3],對(duì)測(cè)試執(zhí)行過程進(jìn)行定制執(zhí)行和記錄,是本課題的創(chuàng)新點(diǎn)和難點(diǎn)。設(shè)計(jì)完成后,全數(shù)字測(cè)試系統(tǒng)的系統(tǒng)結(jié)構(gòu)如圖2所示。
為方便測(cè)試過程數(shù)據(jù)的傳送和編輯,本課題的測(cè)試過程數(shù)據(jù)格式設(shè)計(jì)如表1所示。其中數(shù)據(jù)幀時(shí)間記錄了當(dāng)前測(cè)試過程數(shù)據(jù)的產(chǎn)生時(shí)刻,該時(shí)間沒有使用真實(shí)的物理時(shí)鐘,而是全數(shù)字測(cè)試系統(tǒng)的相對(duì)仿真時(shí)間。
課題對(duì)全數(shù)字測(cè)試系統(tǒng)各軟件進(jìn)行修改,當(dāng)測(cè)試系統(tǒng)各軟件產(chǎn)生測(cè)試過程數(shù)據(jù)時(shí),數(shù)據(jù)源也會(huì)發(fā)送測(cè)試過程數(shù)據(jù)到測(cè)試用例自動(dòng)執(zhí)行軟件。測(cè)試用例自動(dòng)執(zhí)行軟件完成測(cè)試過程數(shù)據(jù)的記錄和保存。
全數(shù)字測(cè)試系統(tǒng)各測(cè)試過程數(shù)據(jù)主要包括通用接口交互數(shù)據(jù)和用戶操作數(shù)據(jù)。
全數(shù)字測(cè)試系統(tǒng)的通用接口交互數(shù)據(jù)主要包括數(shù)據(jù)控制軟件發(fā)送的控制數(shù)據(jù)、數(shù)據(jù)顯示軟件接收的顯示數(shù)據(jù)、外設(shè)仿真軟件的外設(shè)數(shù)據(jù)信息等。通用接口交互數(shù)據(jù)幀的數(shù)據(jù)區(qū)格式如表2所示。
表2 通用接口交互數(shù)據(jù)格式
表3 測(cè)試過程操作數(shù)據(jù)格式
表4 測(cè)試用例自動(dòng)執(zhí)行軟件單個(gè)測(cè)試用例應(yīng)用效果對(duì)比
全數(shù)字測(cè)試系統(tǒng)的用戶操作數(shù)據(jù)包括測(cè)評(píng)人員正常使用測(cè)試系統(tǒng)的動(dòng)作,主要有:數(shù)據(jù)顯示軟件定制數(shù)據(jù)界面的操作、數(shù)據(jù)控制軟件加載配置文件的操作等。操作數(shù)據(jù)幀數(shù)據(jù)區(qū)格式如表3所示。
測(cè)評(píng)人員在測(cè)試用例自動(dòng)執(zhí)行軟件將測(cè)試過程數(shù)據(jù)配置完成后,測(cè)試用例自動(dòng)執(zhí)行軟件按照時(shí)間先后順序,將測(cè)試過程數(shù)據(jù)文件分別發(fā)送給相應(yīng)的功能軟件。測(cè)試系統(tǒng)各軟件接收測(cè)試過程數(shù)據(jù),按照協(xié)議進(jìn)行解析,完成測(cè)試過程數(shù)據(jù)中的指定操作。
本課題在Windows 7操作系統(tǒng)上,使用Visual Studio 2010作為開發(fā)工具,使用C#語言開發(fā)完成測(cè)試用例自動(dòng)執(zhí)行軟件。軟件完成后,在某軟件配置項(xiàng)測(cè)試中應(yīng)用,實(shí)際執(zhí)行單個(gè)測(cè)試用例的平均用時(shí)對(duì)比如表4所示。
使用測(cè)試用例自動(dòng)執(zhí)行軟件后,測(cè)試過程執(zhí)行只需要用戶配置數(shù)據(jù),不必等待測(cè)試的中間結(jié)果;在測(cè)試用例運(yùn)行結(jié)束后觀測(cè)測(cè)試結(jié)果,測(cè)試用例自動(dòng)執(zhí)行軟件會(huì)比較預(yù)期輸出與實(shí)際輸出得到測(cè)試結(jié)果,測(cè)評(píng)人員不必手動(dòng)驗(yàn)證測(cè)試結(jié)果。測(cè)試用例自動(dòng)執(zhí)行軟件將測(cè)試人員從測(cè)試用例執(zhí)行過程中解放了出來,測(cè)評(píng)人員工作時(shí)間節(jié)省了40%。
測(cè)試用例自動(dòng)執(zhí)行軟件將原本需要測(cè)評(píng)人員進(jìn)行的操作,抽象為通用的測(cè)試過程數(shù)據(jù)格式,并以軟件方式實(shí)現(xiàn)了測(cè)試用例的自動(dòng)執(zhí)行和測(cè)試過程回放。測(cè)評(píng)人員在測(cè)試用例執(zhí)行過程中只需要配置測(cè)試過程數(shù)據(jù),無需全程參與到測(cè)試用例的執(zhí)行過程。測(cè)試用例自動(dòng)執(zhí)行軟件的研制大大節(jié)約了測(cè)評(píng)人員的工作時(shí)間,對(duì)測(cè)試效率的提升具有重要意義。
[1]楊海成,喬永強(qiáng),許勝,石柱.航天型號(hào)軟件工程[M].北京:中國(guó)宇航出版社,2009.
[2]Thomas H. Cormen,Charles E. Leiserson,Ronald L. Rivest,Clifford Stein著.潘金貴,顧鐵成,李成法等譯.算法導(dǎo)論[M].北京:機(jī)械工業(yè)出版社,2011.
[3]吳永輝,王建德.數(shù)據(jù)結(jié)構(gòu)編程實(shí)驗(yàn)[M].北京:機(jī)械工業(yè)出版社,2012.