引言
進(jìn)入二十一世紀(jì)之后,硬件元器件得到了飛速發(fā)展,從而也是的嵌入式軟件的功能更加強(qiáng)大和復(fù)雜.隨之而來的也是嵌入式軟件測(cè)試工作的加重,傳統(tǒng)的軟件測(cè)試技術(shù)已經(jīng)難以滿足嵌入式軟件越來越復(fù)雜的需求.而目前,市場(chǎng)上已經(jīng)有較多的傳統(tǒng)軟件自動(dòng)化測(cè)試技術(shù),如何在這些技術(shù)的基礎(chǔ)上進(jìn)行改進(jìn),從而能夠適應(yīng)嵌入式軟件環(huán)境,從而實(shí)現(xiàn)嵌入式軟件的自動(dòng)化測(cè)試,是嵌入式軟件發(fā)展的重要方向.
1.嵌入式軟件自動(dòng)化測(cè)試平臺(tái)分析
嵌入式軟件的自動(dòng)化測(cè)試即利用腳本來自動(dòng)化驅(qū)動(dòng)嵌入式軟件的運(yùn)行,并且自動(dòng)收集相關(guān)數(shù)據(jù)進(jìn)行分析,最終生成相應(yīng)的測(cè)試報(bào)告.雖然,嵌入式軟件的自動(dòng)化測(cè)試流程與一般PC機(jī)應(yīng)用軟件的自動(dòng)化測(cè)試流程相同.但是,由于嵌入式軟件軟件對(duì)電子設(shè)備的高度依賴性,以及電子設(shè)備收周圍環(huán)境影響較重,從而導(dǎo)致嵌入式軟件的自動(dòng)化測(cè)試平臺(tái)存在如下的問題.
(1)由于電子元器件受到周圍環(huán)境的影響,無論在宿主機(jī)上所進(jìn)行的動(dòng)態(tài)測(cè)試多充分,也無法保證嵌入式軟件在實(shí)際的硬件環(huán)境中通過.
(2)硬件系統(tǒng)非常復(fù)雜,難以對(duì)測(cè)試過程中所發(fā)現(xiàn)的問題進(jìn)行排查.
(3)植入樁點(diǎn)會(huì)影響系統(tǒng)的實(shí)時(shí)性.
(4)上位機(jī)的測(cè)試環(huán)境中,由于上位機(jī)與下位機(jī)的通信量較大,測(cè)試結(jié)果數(shù)據(jù)較多,容易導(dǎo)致通信的堵塞.
2.嵌入式軟件自動(dòng)化測(cè)試平臺(tái)概要設(shè)計(jì)
通過對(duì)嵌入式自動(dòng)化測(cè)試框架的分析,本文提出一種由腳本驅(qū)動(dòng)器.接口映射表.數(shù)據(jù)驅(qū)動(dòng)器和支持函數(shù)庫所組成的,針對(duì)嵌入式自動(dòng)化軟件測(cè)試的組合型測(cè)試框架.
如圖1所示,高層腳本調(diào)用執(zhí)行下層腳本;底層運(yùn)行腳本通過查詢接口映射表調(diào)用待測(cè)試系統(tǒng)接口進(jìn)行驅(qū)動(dòng)和通信;測(cè)試腳本從數(shù)據(jù)文件調(diào)用數(shù)據(jù)執(zhí)行測(cè)試.
(1)腳本驅(qū)動(dòng)器
腳本驅(qū)動(dòng)器調(diào)用高層腳本,高層腳本調(diào)用下層腳本.底層腳本包括待測(cè)試系統(tǒng)具體的測(cè)試步驟.
(2)接口映射表
接口映射表借鑒了關(guān)鍵字驅(qū)動(dòng)測(cè)試框架中的組件映射表思想.測(cè)試人員根據(jù)待測(cè)試系統(tǒng)的實(shí)際需求,設(shè)計(jì)接口名稱和參數(shù),從而實(shí)現(xiàn)待測(cè)試系統(tǒng)的抽象化.在運(yùn)行測(cè)試腳本是,首先通過映射表匹配接口名稱和參數(shù),當(dāng)系統(tǒng)接口改變時(shí),只需要改變映射表即可,從而實(shí)現(xiàn)測(cè)試系統(tǒng)與待測(cè)試系統(tǒng)的松耦合.
(3)數(shù)據(jù)驅(qū)動(dòng)器
數(shù)據(jù)啟動(dòng)器是測(cè)試腳本與數(shù)據(jù)文件的連接器,通常采用文本文件.XML文件等來實(shí)現(xiàn).
在測(cè)試過程中,需要數(shù)據(jù)時(shí),有數(shù)據(jù)驅(qū)動(dòng)器讀取數(shù)據(jù).數(shù)據(jù)驅(qū)動(dòng)器是腳本與測(cè)試數(shù)據(jù)分離,當(dāng)測(cè)試數(shù)據(jù)變更時(shí),只需要修改數(shù)據(jù)驅(qū)動(dòng)器,而不需要對(duì)腳本進(jìn)行改動(dòng).
(4)支持函數(shù)庫
包含了數(shù)據(jù)緩存.文件操作.字符串處理等測(cè)試框架中所用到的通用處理函數(shù).
3.嵌入式軟件自動(dòng)化測(cè)試平臺(tái)詳細(xì)設(shè)計(jì)
3.1 測(cè)試框架設(shè)計(jì)
嵌入式軟件自動(dòng)化測(cè)試平臺(tái)的卡框架,采用嵌入式軟件通用的Host/Target測(cè)試策略.
如圖2所示,本文所設(shè)計(jì)的嵌入式軟件自動(dòng)化測(cè)試平臺(tái)采用測(cè)試管理工具和測(cè)試代理雙層結(jié)構(gòu).
3.2 測(cè)試流程設(shè)計(jì)
在進(jìn)行嵌入式軟件自動(dòng)化測(cè)試時(shí),測(cè)試人員的工作包括:編寫配置文件.編寫腳本.生成數(shù)據(jù)文件.測(cè)試報(bào)告分析等工作.嵌入式軟件的自動(dòng)化測(cè)試流程如圖3所示.
當(dāng)建立了管理工具和測(cè)試代理自檢的通信之后,向測(cè)試代理發(fā)送測(cè)試請(qǐng)求,并且將腳本和數(shù)據(jù)傳送到測(cè)試代理上.測(cè)試代理將測(cè)試腳本存放到特定的區(qū)域執(zhí)行,并且將測(cè)試結(jié)果返回給宿主端.當(dāng)宿主端接收到測(cè)試代理所發(fā)送腳本執(zhí)行完畢信號(hào)后,發(fā)送新的測(cè)試腳本和數(shù)據(jù)給測(cè)試代理,直到所有的腳本測(cè)試完成之后,對(duì)測(cè)試代理所返回的測(cè)試結(jié)果進(jìn)行分析,得出最終的測(cè)試報(bào)告.
3.3 功能設(shè)計(jì)
3.3.1 管理工具功能
為了不占用宿主段過多資源,將一些協(xié)助測(cè)試模塊都放在宿主端中.管理工具的功能結(jié)構(gòu)如圖4所示.
(1)腳本配置管理模塊
在進(jìn)行嵌入式軟件自動(dòng)化測(cè)試之前,需要設(shè)計(jì)一份配置文件.在配置文件中定義好了腳本位置.宿主機(jī)與測(cè)試代理之間的通信.腳本執(zhí)行時(shí)間間隔.通信樁點(diǎn)個(gè)數(shù)等內(nèi)容.測(cè)試管理工具先對(duì)腳本配置文件進(jìn)行解析,并且將解析的信息傳送給目標(biāo)機(jī).
(2)插樁模塊
通過插樁對(duì)待測(cè)試軟件的功能進(jìn)行細(xì)分,并且根據(jù)執(zhí)行的情況,來分析待測(cè)試軟件的測(cè)試覆蓋情況.
(3)日志分析生成模塊
測(cè)試日志文件中主要包含了待測(cè)試軟件的測(cè)試結(jié)果,以及測(cè)試覆蓋信息.其中測(cè)試報(bào)告中包括了測(cè)試跟蹤信息.測(cè)試用例.測(cè)試用例的期望和實(shí)際結(jié)果.測(cè)試用例的執(zhí)行情況及匯總等.測(cè)試覆蓋信息包括:測(cè)試和未測(cè)試的代碼段.功能的覆蓋標(biāo)記及匯總等信息.
(4)數(shù)據(jù)通信模塊
主要負(fù)責(zé)宿主機(jī)與測(cè)試代理之間的消息通信.
3.3.2 測(cè)試代理功能
測(cè)試代理運(yùn)行在目標(biāo)機(jī)上,是整個(gè)嵌入式軟件自動(dòng)化測(cè)試平臺(tái)的核心,測(cè)試代理的整體結(jié)構(gòu)如圖5所示.
(1)測(cè)試驅(qū)動(dòng)模塊
根據(jù)配置管理,對(duì)管理工具發(fā)送的測(cè)試腳本進(jìn)行解析,并且調(diào)用工具庫中的通用函數(shù)來完成測(cè)試.同時(shí),將測(cè)試結(jié)果和樁點(diǎn)覆蓋信息存入到特定區(qū)域.
(2)數(shù)據(jù)驅(qū)動(dòng)模塊
在數(shù)據(jù)文件主要包含了測(cè)試腳本文件.測(cè)試數(shù)據(jù)文件和測(cè)試結(jié)果文件.當(dāng)測(cè)試需要數(shù)據(jù)是,可以通過數(shù)據(jù)驅(qū)動(dòng)模塊完成數(shù)據(jù)表查找和數(shù)據(jù)批量處理等操作.對(duì)于測(cè)試數(shù)據(jù)量大,測(cè)試步驟類似的測(cè)試過程,可以極大的減少測(cè)試的復(fù)雜度.
(3)數(shù)據(jù)通信模塊
主要負(fù)責(zé)與管理工具的數(shù)據(jù)通信模塊進(jìn)行數(shù)據(jù)交互.主要負(fù)責(zé)接收管理工具所發(fā)送的配置信息.腳本信息和數(shù)據(jù)文件信息;同時(shí)將測(cè)試結(jié)果和測(cè)試覆蓋信息返回給管理工具.
4.結(jié)束語
軟件測(cè)試是對(duì)軟件質(zhì)量進(jìn)行評(píng)估的重要方法,自動(dòng)化測(cè)試技術(shù)可以降低軟件測(cè)試成本,縮短軟件測(cè)試時(shí)間.特別是對(duì)于測(cè)試環(huán)境更加復(fù)雜的嵌入式軟件而言,自動(dòng)化測(cè)試具有更加重要的意義.
-
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
52文章
8059瀏覽量
145631 -
嵌入式
+關(guān)注
關(guān)注
5052文章
18914瀏覽量
300823 -
自動(dòng)化
+關(guān)注
關(guān)注
28文章
5434瀏覽量
78902
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論