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