王志輝 張夢(mèng)茹 劉國(guó)光
珠海格力電器股份有限公司檢測(cè)中心 廣東珠海 519070
嵌入式軟件測(cè)試,從代碼可見(jiàn)性角度分為白盒測(cè)試和黑盒測(cè)試。白盒測(cè)試即源代碼可見(jiàn);黑盒測(cè)試是代碼不可見(jiàn),也稱(chēng)為功能測(cè)試。從測(cè)試的狀態(tài)上可分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試;從測(cè)試階段上可分為模塊測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、硬件軟件集成測(cè)試[1]。家用電器嵌入式軟件測(cè)試一般屬于黑盒測(cè)試,重點(diǎn)測(cè)試階段是硬件軟件集成測(cè)試。本文研究的正是黑盒類(lèi)的硬件軟件集成自動(dòng)動(dòng)態(tài)測(cè)試。本自動(dòng)測(cè)試平臺(tái)的主要難點(diǎn)在于:一是根據(jù)家用電器產(chǎn)品種類(lèi)的硬件接口特點(diǎn),開(kāi)發(fā)各種通用的采集或驅(qū)動(dòng)下位機(jī)模塊;二是建立一個(gè)簡(jiǎn)易通用的測(cè)試用例編制模型,并開(kāi)發(fā)相應(yīng)的編制測(cè)試用例的軟件;三是選擇一種通用性、可靠性強(qiáng)的軟硬件通信平臺(tái)。本文的研究是基于家用空調(diào)產(chǎn)品,設(shè)計(jì)研究出了一套通用性的家用電器嵌入式軟件功能自動(dòng)測(cè)試平臺(tái)。
本方案包括兩部分的設(shè)計(jì):上位機(jī)軟件和下位機(jī)各硬件模塊。整體測(cè)試平臺(tái)架構(gòu)如圖1。上位機(jī)主要實(shí)現(xiàn)的功能如下:①測(cè)試用例的編制、導(dǎo)入、解析等功能;②自動(dòng)測(cè)試執(zhí)行;③手動(dòng)測(cè)試執(zhí)行;④采集信息實(shí)時(shí)顯示;⑤異常報(bào)告實(shí)時(shí)記錄;⑥自動(dòng)定制化出具報(bào)告。通過(guò)上述6點(diǎn)功能的設(shè)計(jì)可實(shí)現(xiàn)替代人工從編制完測(cè)試用例至出具測(cè)試報(bào)告中間的一系列工作。
下位機(jī)采用功能模塊的設(shè)計(jì)理念。初步設(shè)計(jì)六大模塊:DA模塊、I/O采集模塊、I/O輸出模塊、通信監(jiān)控模塊、遙控模塊、電源控制模塊。其中可分為通用模塊和特殊功能模塊。例如通信監(jiān)控模塊、遙控模塊、電源控制模塊等三個(gè)模塊屬于家用電器的特殊功能模塊。通過(guò)上述6類(lèi)模塊的設(shè)計(jì)基本滿(mǎn)足了家用空調(diào)產(chǎn)品所設(shè)計(jì)的硬件接口信號(hào)的采集。
上下位機(jī)通過(guò)網(wǎng)絡(luò)通信進(jìn)行數(shù)據(jù)交換,實(shí)現(xiàn)輸入輸出信號(hào)的閉環(huán),從而實(shí)現(xiàn)自動(dòng)化測(cè)試。
本文第2部分中提到的硬件模塊均基于同一硬件架構(gòu)進(jìn)行設(shè)計(jì)。即基于同一芯片LPC2134作為主控芯片、統(tǒng)一485通信接口、統(tǒng)一Modbus協(xié)議。如此設(shè)計(jì)可實(shí)現(xiàn)通信平臺(tái)統(tǒng)一、程序設(shè)計(jì)可移植、核心電路可移植,很大程度上提高設(shè)計(jì)效率。硬件架構(gòu)如圖2所示。

圖1 系統(tǒng)框架

圖2 硬件電路架構(gòu)圖

圖3 IO采集電路
由于主體電路相似度高的特點(diǎn),下面以IO采集模塊為例進(jìn)行設(shè)計(jì)介紹。該模塊采用LPC2134作為主控芯片。該芯片具備多達(dá)47個(gè)5V的通用I/O口[2]。本模塊設(shè)計(jì)成24通道的電平采樣。采集電路設(shè)計(jì)采用比較器芯片LM293ADR,該芯片可實(shí)現(xiàn)3.3V~12V的電平比較輸入采樣。具體電路如圖3所示。為了實(shí)現(xiàn)與被測(cè)信號(hào)實(shí)現(xiàn)電氣隔離,使用了TI公司的隔離電源芯片DCP010515B實(shí)現(xiàn)采樣電路電源隔離,使用隔離芯片ISO7231C實(shí)現(xiàn)了采樣信號(hào)隔離。
其他模塊的核心電路基本和此模塊一樣。不同之處主要體現(xiàn)在接口電路。通過(guò)這樣的設(shè)計(jì)思路和方案,可實(shí)現(xiàn)硬件設(shè)計(jì)的模塊化、通用化,并可拓展進(jìn)行硬件的二次開(kāi)發(fā),形成一個(gè)規(guī)范的硬件設(shè)計(jì)平臺(tái)。
上位機(jī)軟件采用美國(guó)NI公司的LabVIEW開(kāi)發(fā)平臺(tái)。該開(kāi)發(fā)環(huán)境是一款圖形化開(kāi)發(fā)語(yǔ)言,與常規(guī)編程語(yǔ)言有很大的不同,可以說(shuō)專(zhuān)門(mén)為工程師開(kāi)發(fā)設(shè)計(jì)的語(yǔ)言,專(zhuān)業(yè)性很強(qiáng)[3]。特別適合復(fù)雜功能的自動(dòng)化測(cè)試軟件的開(kāi)發(fā)。

圖4 軟件部分邏輯框圖

圖5 系統(tǒng)參數(shù)配置文檔
本自動(dòng)測(cè)試平臺(tái)軟件部分可按邏輯結(jié)構(gòu)分為四個(gè)階段:通道配置階段,用例設(shè)計(jì)階段,自動(dòng)測(cè)試執(zhí)行階段,測(cè)試結(jié)果保存階段,如圖4所示。
(1)系統(tǒng)參數(shù)數(shù)據(jù)庫(kù)配置階段
該階段中,測(cè)試人員綜合測(cè)試內(nèi)容和檢測(cè)信號(hào),在通道配置信息數(shù)據(jù)庫(kù)中配置相關(guān)的通道信息(如名稱(chēng)、通道號(hào)等),如圖5所示。軟件通過(guò)讀取通道信息,發(fā)出相關(guān)信號(hào)可準(zhǔn)確與硬件通道的通訊成功。這些通道被合理地按各個(gè)硬件模塊劃分了索引順序和模塊劃分,軟件對(duì)通道交互的數(shù)據(jù)整合處理起來(lái)就非常方便。與此同時(shí),在通道更改的情況下,可直接更改配置信息即可,無(wú)需對(duì)軟件有任何更改。
(2)用例設(shè)計(jì)階段
用例設(shè)計(jì)階段測(cè)試員結(jié)合需求文檔使用用例編制模型設(shè)定的關(guān)鍵字指令和通道配置庫(kù)中的參數(shù)進(jìn)行用例的設(shè)計(jì)。系統(tǒng)采用了人性化的EXCEL編輯方式,通過(guò)獨(dú)特的編程方法對(duì)用例進(jìn)行處理。
用例編制模型主要是針對(duì)測(cè)試特點(diǎn)設(shè)計(jì)自動(dòng)測(cè)試的對(duì)接模型,該模型包括水平擴(kuò)展和垂直擴(kuò)展兩個(gè)階段。通過(guò)水平擴(kuò)展,增加用例模塊中的參數(shù);通過(guò)垂直擴(kuò)展,增加用例模塊,使用例集能夠覆蓋所有新增參數(shù)引入的組合。模型通過(guò)縱向模塊的延伸和橫向模塊參數(shù)的延伸方法進(jìn)行了用例設(shè)計(jì)關(guān)鍵字指令和指令參數(shù)的語(yǔ)法約定,將測(cè)試需求文檔進(jìn)行了Excel用例標(biāo)準(zhǔn)化。
(3)自動(dòng)測(cè)試執(zhí)行階段
在此階段中,設(shè)計(jì)了一套解析模型,用來(lái)劃分模塊,讀取用例文檔中的指令。這包括模擬工況指令、判斷指令、計(jì)時(shí)模式指令、邏輯判斷指令、公式計(jì)算指令、跳轉(zhuǎn)指令等。根據(jù)這些指令,軟件也做出相應(yīng)的處理單元,使之獨(dú)立處理。在這種情況下,軟件的數(shù)據(jù)采集和指令發(fā)送就可設(shè)計(jì)成互斥,避免沖突。而且計(jì)時(shí)定時(shí)與其他模塊并行處理,避免了時(shí)間的浪費(fèi),大大提高了效率。軟件指令處理基本上是將數(shù)據(jù)交互的指令分別按一定順序放到相關(guān)模塊執(zhí)行,結(jié)合通道數(shù)據(jù)庫(kù)中的參數(shù)配置信息與相應(yīng)的硬件進(jìn)行通訊,再根據(jù)通信返回的數(shù)據(jù)在判斷模塊進(jìn)行對(duì)比判斷,這樣最終就可實(shí)現(xiàn)自動(dòng)化測(cè)試。測(cè)試界面如圖6所示。
(4)測(cè)試結(jié)果保存階段
測(cè)試結(jié)果主要設(shè)計(jì)了報(bào)告和測(cè)試記錄兩種形式。報(bào)告又設(shè)計(jì)分為自動(dòng)出具報(bào)告和手動(dòng)出具報(bào)告。即測(cè)試完成自動(dòng)出具報(bào)告和中斷測(cè)試臨時(shí)出具報(bào)告。測(cè)試報(bào)告根據(jù)測(cè)試記錄生成。測(cè)試記錄即每條測(cè)試用例的測(cè)試結(jié)果的集合,其中每條測(cè)試記錄包括測(cè)試過(guò)程數(shù)據(jù),軟硬件通信數(shù)據(jù),測(cè)試分析和測(cè)試總結(jié)(具體如表1所示)。
測(cè)試報(bào)告和測(cè)試數(shù)據(jù)均可以Excel電子表格形式存儲(chǔ),便于查詢(xún)。另外為了現(xiàn)場(chǎng)核查測(cè)試過(guò)程,回溯測(cè)試數(shù)據(jù),還設(shè)計(jì)了歷史查詢(xún)功能。測(cè)試數(shù)據(jù)可以以曲線(xiàn)顯示呈現(xiàn)。

表1 測(cè)試記錄示例

圖6 上位機(jī)測(cè)試界面
該測(cè)試平臺(tái)開(kāi)發(fā)完成后,應(yīng)用在家用變頻空調(diào)軟件功能自動(dòng)測(cè)試。通過(guò)與手動(dòng)測(cè)試對(duì)比,在同一套樣機(jī)、同樣的測(cè)試內(nèi)容下,自動(dòng)測(cè)試較手動(dòng)測(cè)試平均縮短時(shí)間約45%。若是隨著測(cè)試用例的標(biāo)準(zhǔn)化程度越高,測(cè)試效率還會(huì)進(jìn)一步提高。另外,該測(cè)試平臺(tái)在開(kāi)發(fā)成本上也較采用購(gòu)買(mǎi)NI采集模塊的方式大幅度降低。本測(cè)試平臺(tái)還存在部分功能缺失。例如家用電器顯示的圖像識(shí)別、嵌入式控制器故障注入測(cè)試等方面。也是需要后續(xù)完善的部分。
該測(cè)試平臺(tái)的設(shè)計(jì)與研究,提出了一種改變家用電器行業(yè)在軟硬件集成測(cè)試階段的功能自動(dòng)測(cè)試的全新方案。既提高了測(cè)試效率,又解放了測(cè)試人員的重復(fù)性勞動(dòng)。同時(shí)也對(duì)測(cè)試人員的水平提出更高的要求。