韋卉 呂金華
【摘要】本文主要探討一類嵌入式終端設(shè)備的自動(dòng)化測(cè)試技術(shù)。鑒于嵌入式軟件依賴硬件運(yùn)行的特殊性,本文提出一種自動(dòng)化測(cè)試的模型——U模型,本模型提供了嵌入式系統(tǒng)自動(dòng)控制和自動(dòng)測(cè)試的一種解決方案。
【關(guān)鍵詞】嵌入式系統(tǒng);自動(dòng)化測(cè)試;U模型
1.自動(dòng)化測(cè)試概況
1.1 趨勢(shì)
自動(dòng)化測(cè)試實(shí)際上是軟件測(cè)試的一種,以往的測(cè)試工作都是通過(guò)測(cè)試工程師手工執(zhí)行測(cè)試用例完成的,而自動(dòng)化測(cè)試則是通過(guò)執(zhí)行測(cè)試程序自行完成并自動(dòng)檢驗(yàn)測(cè)試結(jié)果。隨著當(dāng)前測(cè)試技術(shù)的發(fā)展,自動(dòng)化測(cè)試越來(lái)越多的出現(xiàn)在人們的視野里,越來(lái)越多的吸引更多的科技人員的目光。由于自動(dòng)化測(cè)試可以大大節(jié)省測(cè)試勞動(dòng)力,節(jié)約測(cè)試時(shí)間,大量縮短項(xiàng)目周期,為公司節(jié)約很多研發(fā)成本,對(duì)企業(yè)經(jīng)營(yíng)帶來(lái)極大的效益。因此,越來(lái)越多的企業(yè)開(kāi)始重視和發(fā)展自己的自動(dòng)化測(cè)試技術(shù)。
1.2 現(xiàn)狀
我們工作中接觸的嵌入式終端為無(wú)線通信領(lǐng)域終端,具備語(yǔ)音通信、數(shù)據(jù)通信等業(yè)務(wù)功能。該種設(shè)備對(duì)于極限距離的業(yè)務(wù)測(cè)試要求非常嚴(yán)苛,需要經(jīng)過(guò)成百上千甚至成千上萬(wàn)次的測(cè)試和長(zhǎng)時(shí)間(往往是連續(xù)七天以上)連續(xù)不間斷的運(yùn)行,來(lái)驗(yàn)證產(chǎn)品的可靠性和穩(wěn)定性,如果僅依靠人工操作,將會(huì)非常消耗人力,而且?guī)缀跏遣豢赡芡瓿傻娜蝿?wù)。因此探求一種自動(dòng)化測(cè)試方法迫在眉睫。我們所研發(fā)的通信設(shè)備屬于嵌入式終端設(shè)備,對(duì)于嵌入式系統(tǒng)的自動(dòng)化測(cè)試,在業(yè)界也是非常少見(jiàn)。在此,我們提出一種自動(dòng)化測(cè)試模型——U模型,來(lái)實(shí)現(xiàn)嵌入式終端設(shè)備的自動(dòng)化測(cè)試。
2.自動(dòng)化測(cè)試模型
2.1 U模型提出
圖1 U模型
根據(jù)我們的研究,提出了一種命名為U模型的自動(dòng)化測(cè)試技術(shù)。如圖1所示,左邊框圖屬于控制系統(tǒng),控制PC為一臺(tái)工作中使用的個(gè)人電腦,上面安裝著windows操作系統(tǒng)。處于頂層的業(yè)務(wù)測(cè)試程序是根據(jù)測(cè)試被測(cè)系統(tǒng)功能、性能、各種質(zhì)量屬性等測(cè)試用例編寫(xiě)的測(cè)試腳本。處于第二層的控制臺(tái)軟件自行開(kāi)發(fā)編寫(xiě)的軟件。右邊框圖屬于被測(cè)系統(tǒng),處于頂層是被測(cè)業(yè)務(wù)是我們將要測(cè)試軟件特性,處于第二層的是被測(cè)軟件的應(yīng)用程序,處于第三層的是被測(cè)系統(tǒng)所使用的操作系統(tǒng)。再往底層一點(diǎn)則是控制系統(tǒng)和被測(cè)系統(tǒng)都支持的通信接口驅(qū)動(dòng)和通信硬件接口。
2.2 U模型原理
接下來(lái)我們來(lái)介紹一下U模型的工作原理:
(1)業(yè)務(wù)測(cè)試程序負(fù)責(zé)下發(fā)測(cè)試指令以及檢驗(yàn)被測(cè)系統(tǒng)的表現(xiàn)是否符合預(yù)期,相當(dāng)于軟件測(cè)試中的測(cè)試用例的一樣。
(2)控制臺(tái)軟件是一款在PC上自行開(kāi)發(fā)的軟件,它包括對(duì)業(yè)務(wù)測(cè)試程序的解釋執(zhí)行功能、腳本工程的管理功能和腳本編輯等功能。另外,還負(fù)責(zé)把測(cè)試程序下發(fā)的指令通過(guò)調(diào)用成windows操作系統(tǒng)API的方式,封裝成底層通信接口能使用的數(shù)據(jù)幀。
(3)Windows操作系統(tǒng),控制臺(tái)軟件運(yùn)行在其之上,使用它提供的各種操作系統(tǒng)服務(wù),特別是I/O管理服務(wù)。
(4)通信接口驅(qū)動(dòng)實(shí)現(xiàn)通信接口硬件初始化、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)發(fā)送、數(shù)據(jù)傳輸和數(shù)據(jù)接收等。
(5)通信硬件接口是PC機(jī)上的通信接口支持類型,一般為串口、網(wǎng)口、USB口等。被測(cè)系統(tǒng)上也需要有同樣的接口類型。
(6)在被測(cè)系統(tǒng)中,各層軟件的作用其實(shí)與PC控制系統(tǒng)上差不多,在此就不再贅述。值得注意的是,被測(cè)系統(tǒng)的業(yè)務(wù)應(yīng)用處理程序或者被測(cè)功能模塊,在接收到控制系統(tǒng)下發(fā)的命令后,會(huì)給予一定響應(yīng)(比如某些設(shè)備狀態(tài)、參數(shù)的改變,或者返回指定的數(shù)值給控制系統(tǒng))。這些響應(yīng)的信息通過(guò)被測(cè)系統(tǒng)的通信接口返回給控制系統(tǒng)。這樣就完成了控制系統(tǒng)和被測(cè)系統(tǒng)的交互。
另外,還需要事先定義好一個(gè)命令集以及各條命令所帶來(lái)的所有可能的預(yù)期結(jié)果。這個(gè)命令集和它們所返回的預(yù)期結(jié)果是業(yè)務(wù)測(cè)試程序需要使用和檢驗(yàn)的,正是這些命令集和結(jié)果集構(gòu)成了自動(dòng)化測(cè)試用例集。
通過(guò)以上的系統(tǒng)建模,我們就可以通過(guò)測(cè)試腳本與被測(cè)系統(tǒng)完成交互、監(jiān)控和測(cè)試了。由此,可以達(dá)到測(cè)試被測(cè)系統(tǒng)的目的。
基于以上的討論我們可以看到,U模型中各層完成的功能各自不同,缺一不可,每個(gè)系統(tǒng)中都是高層使用底層提供的服務(wù)完成本層的工作??刂葡到y(tǒng)和被測(cè)系統(tǒng)上運(yùn)行著兩個(gè)不一樣的操作系統(tǒng),實(shí)際上也完成了不同操作系統(tǒng)之間的數(shù)據(jù)通信。
3.項(xiàng)目應(yīng)用
根據(jù)上面提出的U模型,我們搭建了一個(gè)自動(dòng)化測(cè)試平臺(tái),硬件上包括個(gè)人工作電腦PC機(jī)和待測(cè)終端設(shè)備A,兩者通過(guò)通信接口——串口來(lái)完成通信及數(shù)據(jù)交換。如圖2所示:
圖2 應(yīng)用組網(wǎng)圖
同時(shí),我們開(kāi)發(fā)了一個(gè)控制臺(tái)軟件,其操作界面如圖3所示。
從圖3中可以看到,左邊紅色框中的“業(yè)務(wù)測(cè)試腳本列表”是一系列測(cè)試腳本文件的樹(shù)狀圖,實(shí)現(xiàn)的是腳本工程的管理,在腳本執(zhí)行完成后,到底是成功還是失敗,會(huì)有結(jié)果狀態(tài)顯示在被執(zhí)行腳本的后面。中間紅色框?yàn)椤澳_本編輯和查看區(qū)”,實(shí)現(xiàn)的是腳本編輯和查看功能。最右邊的框是“腳本輸出區(qū)”,是調(diào)試腳本的輸出和執(zhí)行結(jié)果輸出顯示的地方,這里也有一個(gè)結(jié)果統(tǒng)計(jì)功能,比如本次測(cè)試執(zhí)行了多少個(gè)腳本,成功了多少個(gè),失敗了多少個(gè),都會(huì)在這里有所體現(xiàn)。在這個(gè)控制臺(tái)軟件界面上,我們開(kāi)發(fā)了語(yǔ)音業(yè)務(wù)測(cè)試腳本,實(shí)現(xiàn)了語(yǔ)音通話的各種業(yè)務(wù)的自動(dòng)化測(cè)試。
圖3 控制臺(tái)軟件界面
另外,在被測(cè)的終端設(shè)備上,我們定義好一套命令集以及返回值列表,命令集比如重啟命令、讀取工作模式命令、設(shè)置音量大小等等,約100多條命令。返回值列表是對(duì)一系列命令的返回值定義了特殊的含義,比如0表示操作失敗,1表示操作成功等。這樣一個(gè)命令集以及返回值列表來(lái)自于測(cè)試工程師,由測(cè)試工程師提供所需要使用的測(cè)試命令及返回值,由控制臺(tái)軟件開(kāi)發(fā)工程師和終端軟件開(kāi)發(fā)工程師來(lái)共同實(shí)現(xiàn)。
完成以上的工作,一個(gè)嵌入式終端設(shè)備的自動(dòng)化測(cè)試平臺(tái)就搭建完成了。在這個(gè)測(cè)試平臺(tái)上,我們的測(cè)試工程師開(kāi)發(fā)了語(yǔ)音業(yè)務(wù)測(cè)試腳本,實(shí)現(xiàn)了語(yǔ)音通話的各種業(yè)務(wù)的自動(dòng)化測(cè)試。在完成業(yè)務(wù)測(cè)試腳本編寫(xiě)和調(diào)試之后,就可以根據(jù)測(cè)試任務(wù)勾選上所需要執(zhí)行的腳本,直接執(zhí)行就可以了。
4.推廣意義
U模型這種測(cè)試技術(shù),具有通用性,可以廣泛應(yīng)用到各種嵌入式系統(tǒng)終端設(shè)備的自動(dòng)化測(cè)試中去。把自動(dòng)化測(cè)試引入的項(xiàng)目中去,既可以大大節(jié)省人力成本,又可以完成手工無(wú)法完成的窮盡測(cè)試,對(duì)產(chǎn)品的質(zhì)量把控可以更嚴(yán)格,對(duì)于提升產(chǎn)品質(zhì)量具有偉大的意義。
參考文獻(xiàn)
[1]黃鵬,廖紅華,嵌入式系統(tǒng)綜述[J].電工技術(shù),2006.
[2](美)DanielJ.Mosley,(美)BruceA.Posey.軟件測(cè)試自動(dòng)化[M].鄧波等,譯.機(jī)械工業(yè)出版社,2003.
作者簡(jiǎn)介:
韋卉(1981—),女,廣西梧州人,大學(xué)本科,軟件測(cè)試師,現(xiàn)供職于廣州海格通信集團(tuán)股份有限公司,研究方向:嵌入式軟件測(cè)試。
呂金華(1982—),女,廣東江門(mén)人,大學(xué)本科,軟件設(shè)計(jì)師,現(xiàn)供職于廣州海格通信集團(tuán)股份有限公司,研究方向:嵌入式軟件設(shè)計(jì)。