專利名稱:一種嵌入式軟件測(cè)試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種計(jì)算機(jī)軟件,更具體地說(shuō)是涉及一種計(jì)算機(jī)軟件的測(cè)試方法。
背景技術(shù):
嵌入式軟件都是在特定目標(biāo)系統(tǒng)上運(yùn)行的軟件,其硬件平臺(tái)和操作系統(tǒng)往往是專用的,不具有通用性,比如交換機(jī)、防火墻、手機(jī)、PDA、智能家電等使用的軟件。目前,嵌入式軟件的測(cè)試一般采用交叉測(cè)試(Cross-test),即利用高級(jí)語(yǔ)言的可移植性,將大部分工作轉(zhuǎn)移到主機(jī)平臺(tái)(Host)上進(jìn)行。這樣可以避開(kāi)目標(biāo)系統(tǒng)的瓶頸,不必使用在線仿真器。對(duì)于與目標(biāo)硬件密切相關(guān)的小部分軟件,仍通過(guò)在線仿真器/調(diào)試器在目標(biāo)平臺(tái)上測(cè)試。而對(duì)于有些嵌入式軟件的測(cè)試,不能移植或移植到計(jì)算機(jī)平臺(tái)(Host)上測(cè)試相對(duì)來(lái)說(shuō)工作量太大,很不劃算。對(duì)其進(jìn)行的動(dòng)態(tài)測(cè)試一般是在實(shí)際的目標(biāo)平臺(tái)(Target)上進(jìn)行的。即在實(shí)際系統(tǒng)運(yùn)行過(guò)程中,測(cè)試人員根據(jù)設(shè)計(jì)的測(cè)試用例,通過(guò)系統(tǒng)環(huán)境人為制造各種輸入狀態(tài),觀察被測(cè)試軟件的運(yùn)行情況,從而完成對(duì)被測(cè)試軟件的動(dòng)態(tài)測(cè)試。這種在實(shí)際的目標(biāo)平臺(tái)(Target)上進(jìn)行的測(cè)試方法,往往因受試驗(yàn)環(huán)境的限制,對(duì)于很多實(shí)際運(yùn)行中有可能出現(xiàn)的情況或一些特殊情況很難進(jìn)行模擬,測(cè)試用例十分有限。而且測(cè)試時(shí),測(cè)試人員一般需要大部分時(shí)間呆在測(cè)試現(xiàn)場(chǎng),觀察運(yùn)行結(jié)果。
發(fā)明內(nèi)容
本發(fā)明是為了克服現(xiàn)有技術(shù)中的不足之處,旨在為那些很難移植到計(jì)算機(jī)平臺(tái)(Host)上進(jìn)行測(cè)試的嵌入式軟件提供一種測(cè)試用例十分豐富,測(cè)試內(nèi)容更加廣泛,且能實(shí)現(xiàn)一定程度的測(cè)試自動(dòng)化的測(cè)試方法。
本發(fā)明通過(guò)下述技術(shù)方案實(shí)現(xiàn)本發(fā)明的測(cè)試方法是一種利用通訊口作為數(shù)據(jù)的輸入輸出,使被測(cè)軟件在部分脫離系統(tǒng)硬件平臺(tái)環(huán)境下并對(duì)其進(jìn)行測(cè)試的一種嵌入式軟件測(cè)試方法。它包括下列步驟(1)編制測(cè)試后臺(tái)程序,后臺(tái)測(cè)試程序在后臺(tái)計(jì)算機(jī)上運(yùn)行,測(cè)試后臺(tái)程序能生成或調(diào)用測(cè)試用例庫(kù);(2)后臺(tái)程序通過(guò)計(jì)算機(jī)的通訊端口下發(fā)測(cè)試用例給目標(biāo)平臺(tái)里的被測(cè)試軟件;(3)在目標(biāo)平臺(tái)里的被測(cè)試軟件中添加用于測(cè)試的樁程序,被測(cè)試軟件通過(guò)樁程序處理接收的測(cè)試用例數(shù)據(jù),并根據(jù)接收的測(cè)試用例數(shù)據(jù)對(duì)目標(biāo)平臺(tái)里需從外圍硬件端口采集的數(shù)據(jù)和狀態(tài)進(jìn)行預(yù)置;(4)樁程序收集目標(biāo)平臺(tái)里被測(cè)試軟件在此測(cè)試用例下的運(yùn)行結(jié)果,并通過(guò)通訊口將被測(cè)試軟件的運(yùn)行結(jié)果反饋回后臺(tái);(5)后臺(tái)計(jì)算機(jī)對(duì)反饋的該測(cè)試用例運(yùn)行結(jié)果與預(yù)期結(jié)果進(jìn)行比較,統(tǒng)計(jì)并顯示比較結(jié)果。
本發(fā)明具有下述有益效果;(1)由于本測(cè)試方法的測(cè)試用例由計(jì)算機(jī)后臺(tái)測(cè)試程序調(diào)用或定制,測(cè)試用例的數(shù)據(jù)在滿足要求的情況下可隨意組合,進(jìn)行各種常規(guī)測(cè)試和邊緣測(cè)試等等,測(cè)試用例非常豐富,極大的提高了測(cè)試覆蓋率。
(2)能實(shí)現(xiàn)一定程度的測(cè)試自動(dòng)化。后臺(tái)可將收到的實(shí)際運(yùn)行結(jié)果和預(yù)期結(jié)果進(jìn)行比較,且對(duì)比較結(jié)果進(jìn)行統(tǒng)計(jì)和記錄,并在界面上顯示出來(lái)。測(cè)試人員在啟動(dòng)測(cè)試后,可不必呆在現(xiàn)場(chǎng)觀察每個(gè)測(cè)試用列的運(yùn)行情況,只需要查看后臺(tái)計(jì)算機(jī)的統(tǒng)計(jì)記錄就知道整個(gè)測(cè)試的結(jié)果。
圖1實(shí)現(xiàn)過(guò)程示意圖。
具體實(shí)施例方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說(shuō)明根據(jù)測(cè)試的需要編制測(cè)試后臺(tái)程序,測(cè)試程序在后臺(tái)計(jì)算機(jī)上運(yùn)行,要求后臺(tái)測(cè)試程序能自動(dòng)生成或調(diào)用針對(duì)被測(cè)軟件各種測(cè)試用例;并根據(jù)對(duì)被測(cè)軟件的功能設(shè)計(jì)要求,預(yù)期在該測(cè)試用例下被測(cè)軟件正確運(yùn)行結(jié)果。測(cè)試程序通過(guò)后臺(tái)計(jì)算機(jī)的通訊口下發(fā)測(cè)試用例給目標(biāo)平臺(tái)里的被測(cè)試軟件。
對(duì)于前臺(tái)被測(cè)軟件源代碼也要作相應(yīng)修改,添加用來(lái)測(cè)試的樁程序。樁程序主要能完成以下功能1、目標(biāo)平臺(tái)里的被測(cè)試軟件通過(guò)通訊口接收后臺(tái)計(jì)算機(jī)下發(fā)的測(cè)試用例數(shù)據(jù),作相應(yīng)處理后將下發(fā)的數(shù)據(jù)存放在一個(gè)專門(mén)開(kāi)辟的內(nèi)存地址中。2、控制被測(cè)程序運(yùn)行時(shí)實(shí)時(shí)數(shù)據(jù)的采集。測(cè)試時(shí),當(dāng)被測(cè)軟件在運(yùn)行過(guò)程中從硬件數(shù)據(jù)采集端口進(jìn)行數(shù)據(jù)量采集時(shí),樁程序可引導(dǎo)被測(cè)軟件從內(nèi)存對(duì)應(yīng)的地址中獲取后臺(tái)下發(fā)的對(duì)應(yīng)數(shù)據(jù),從而完成對(duì)被測(cè)軟件的數(shù)據(jù)輸入。3、收集在某一個(gè)測(cè)試用例(輸入數(shù)據(jù))下被測(cè)試程序的運(yùn)行結(jié)果(包括各種模擬量數(shù)值,開(kāi)關(guān)量狀態(tài),設(shè)備運(yùn)行狀態(tài)等等),并將運(yùn)行結(jié)果打包處理,通過(guò)通訊口以通訊的方式上報(bào)給后臺(tái)計(jì)算機(jī)。
計(jì)算機(jī)后臺(tái)測(cè)試程序在接收到目標(biāo)平臺(tái)里的測(cè)試用例的運(yùn)行結(jié)果后,將該實(shí)際運(yùn)行結(jié)果與由后臺(tái)計(jì)算機(jī)根據(jù)被測(cè)試程序的功能設(shè)計(jì)要求進(jìn)行預(yù)期的正確運(yùn)行結(jié)果進(jìn)行比較。若實(shí)際運(yùn)行結(jié)果與預(yù)期結(jié)果一致,則表示被測(cè)軟件執(zhí)行該測(cè)試用例所實(shí)現(xiàn)的功能正確,測(cè)試通過(guò);若實(shí)際運(yùn)行結(jié)果與預(yù)期結(jié)果不一致,則說(shuō)明被測(cè)程序可能不能正確執(zhí)行該功能。
另外,本發(fā)明也可進(jìn)行一部分白盒測(cè)試我們也可在目標(biāo)平臺(tái)內(nèi)存中開(kāi)辟一段地址空間,存放后臺(tái)計(jì)算機(jī)程序設(shè)置的一些邏輯狀態(tài)或數(shù)據(jù),并用這些邏輯狀態(tài)或數(shù)據(jù)來(lái)改變我們所要測(cè)試的目標(biāo)程序里的一些對(duì)應(yīng)的邏輯條件或變量的數(shù)值,從而可對(duì)測(cè)試目標(biāo)程序?qū)崿F(xiàn)條件測(cè)試、數(shù)據(jù)流測(cè)試和覆蓋率統(tǒng)計(jì)等白盒測(cè)試。
具體實(shí)例下面通過(guò)一個(gè)簡(jiǎn)單具體的例子來(lái)進(jìn)一步說(shuō)明本測(cè)試方法的實(shí)施應(yīng)用。
對(duì)于大功率組合電源,如3000A的系統(tǒng),要測(cè)試系統(tǒng)過(guò)流告警,若在實(shí)際的系統(tǒng)上進(jìn)行測(cè)試環(huán)境的搭建非常困難(功率太大,對(duì)動(dòng)力線和負(fù)載線要求很高,這么大的負(fù)載也很難找),也很危險(xiǎn),但用此測(cè)試方法就很簡(jiǎn)單。測(cè)試步驟如下1、定制后臺(tái)測(cè)試程序,通過(guò)測(cè)試后臺(tái)計(jì)算機(jī)通訊口可下發(fā)針對(duì)組合電源監(jiān)控軟件的各種測(cè)試用例。
2、在組合電源單板的目標(biāo)監(jiān)控軟件中添加用來(lái)測(cè)試的樁程序a)在前臺(tái)軟件中開(kāi)辟一段內(nèi)存空間,存放后臺(tái)下發(fā)的數(shù)據(jù),其中一個(gè)16位的地址用來(lái)存放后臺(tái)計(jì)算機(jī)下發(fā)的負(fù)載電流值。b)數(shù)據(jù)采集引導(dǎo)樁程序,當(dāng)被測(cè)式軟件數(shù)據(jù)采集程序要讀取A/D端口的數(shù)據(jù)是負(fù)載電流值時(shí),樁程序引導(dǎo)被測(cè)式軟件的數(shù)據(jù)采集程序讀取用來(lái)存放后臺(tái)下發(fā)的負(fù)載電流值的16位地址里的值;這樣前臺(tái)獲取的負(fù)載電流值實(shí)際上是測(cè)試計(jì)算機(jī)后臺(tái)下發(fā)的負(fù)載電流值。c)前臺(tái)監(jiān)控軟件運(yùn)行狀態(tài)結(jié)果收集樁程序,收集在此負(fù)載電流值下的負(fù)載電流過(guò)流告警狀態(tài)標(biāo)志的值(假設(shè)00H為正常,01H為負(fù)載電流過(guò)流),并將此狀態(tài)值上報(bào)給后臺(tái)計(jì)算機(jī)。
3、假定目標(biāo)前臺(tái)負(fù)載電流過(guò)流判斷設(shè)定值為3000A,通過(guò)測(cè)試后臺(tái)下發(fā)3001A給前臺(tái)監(jiān)控軟件,并預(yù)期正確結(jié)果,即負(fù)載電流過(guò)流告警狀態(tài)標(biāo)志的值為01H。前臺(tái)被測(cè)試程序在此負(fù)載電流數(shù)據(jù)下運(yùn)行,被測(cè)試程序的負(fù)載電流過(guò)流告警狀態(tài)標(biāo)志的值會(huì)被更新;添加的狀態(tài)結(jié)果收集程序讀取負(fù)載電流過(guò)流告警狀態(tài)標(biāo)志的值,并將其通過(guò)前臺(tái)單板的通訊串口上報(bào)給后臺(tái)。
4、計(jì)算機(jī)后臺(tái)收到實(shí)際運(yùn)行結(jié)果后(上報(bào)的負(fù)載電流過(guò)流告警狀態(tài)標(biāo)志的值),與預(yù)期結(jié)果(01H)進(jìn)行比較;若兩者一致則為測(cè)試通過(guò),不一致則認(rèn)為被測(cè)試軟件此功能實(shí)現(xiàn)可能有問(wèn)題,需要進(jìn)一步驗(yàn)證。并對(duì)比較結(jié)果進(jìn)行統(tǒng)計(jì),將統(tǒng)計(jì)結(jié)果在后臺(tái)計(jì)算機(jī)上顯示出來(lái)。
權(quán)利要求
1.一種嵌入式軟件測(cè)試方法,其特征是,它包括下列步驟(1)編制測(cè)試后臺(tái)程序,后臺(tái)測(cè)試程序在后臺(tái)計(jì)算機(jī)上運(yùn)行,測(cè)試后臺(tái)程序能生成或調(diào)用測(cè)試用例庫(kù);(2)后臺(tái)程序通過(guò)計(jì)算機(jī)的通訊端口下發(fā)測(cè)試用例給目標(biāo)平臺(tái)里的被測(cè)試軟件;(3)在目標(biāo)平臺(tái)里的被測(cè)試軟件中添加用于測(cè)試的樁程序,被測(cè)試軟件通過(guò)樁程序處理接收的測(cè)試用例數(shù)據(jù),并根據(jù)接收的測(cè)試用例數(shù)據(jù)對(duì)目標(biāo)平臺(tái)里需從外圍硬件端口采集的數(shù)據(jù)和狀態(tài)進(jìn)行預(yù)置;(4)樁程序收集目標(biāo)平臺(tái)里被測(cè)試軟件在此測(cè)試用例下的運(yùn)行結(jié)果,并通過(guò)通訊口將被測(cè)試軟件的運(yùn)行結(jié)果反饋回后臺(tái);(5)后臺(tái)計(jì)算機(jī)對(duì)反饋的該測(cè)試用例運(yùn)行結(jié)果與預(yù)期結(jié)果進(jìn)行比較,統(tǒng)計(jì)并顯示比較結(jié)果。
全文摘要
本發(fā)明涉及一種嵌入式軟件測(cè)試程序,旨在提供一種測(cè)試用例豐富,能實(shí)現(xiàn)一定程度自動(dòng)化的軟件測(cè)試程序。它包括下列步驟(1)編制測(cè)試后臺(tái)程序,測(cè)試后臺(tái)程序能生成或調(diào)用測(cè)試用例庫(kù);(2)后臺(tái)程序通過(guò)計(jì)算機(jī)的通訊端口下發(fā)測(cè)試用例;(3)在被測(cè)試軟件中添加樁程序,被測(cè)試軟件通過(guò)樁程序處理接收的測(cè)試用例數(shù)據(jù),并根據(jù)接收的測(cè)試用例數(shù)據(jù)對(duì)需從外圍硬件端口采集的數(shù)據(jù)和狀態(tài)進(jìn)行預(yù)置;(4)樁程序收集被測(cè)試軟件在此測(cè)試用例下的運(yùn)行結(jié)果,并通過(guò)通訊口將運(yùn)行結(jié)果反饋回后臺(tái);(5)后臺(tái)計(jì)算機(jī)對(duì)反饋的該測(cè)試用例運(yùn)行結(jié)果與預(yù)期結(jié)果進(jìn)行比較,統(tǒng)計(jì)并顯示比較結(jié)果。本方法適于難于移植到計(jì)算機(jī)平臺(tái)進(jìn)行測(cè)試的嵌入式軟件的測(cè)試。
文檔編號(hào)G06F11/36GK1503136SQ02145388
公開(kāi)日2004年6月9日 申請(qǐng)日期2002年11月21日 優(yōu)先權(quán)日2002年11月21日
發(fā)明者李朝陽(yáng), 韓小賓 申請(qǐng)人:深圳市中興通訊股份有限公司