李芳頌 王鋒 張弛
摘 要 測(cè)試需求模型采用形式化語(yǔ)言構(gòu)建,對(duì)于系統(tǒng)測(cè)試實(shí)現(xiàn)自動(dòng)化具有重要促進(jìn)作用。本文基于面向?qū)ο笏枷?,采用狀態(tài)圖作為核心技術(shù),與類(lèi)圖相結(jié)合提出適用于嵌入式軟件系統(tǒng)實(shí)際測(cè)試需要的一種實(shí)時(shí)建模方法。該方法對(duì)于需求模型的構(gòu)建直觀簡(jiǎn)潔易用,與測(cè)試用例生成策略相結(jié)合,能夠?qū)崿F(xiàn)測(cè)試用例的自動(dòng)生成。
關(guān)鍵詞 嵌入式軟件系統(tǒng);實(shí)時(shí)建模;建模方法
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1671-7597(2014)24-0029-02
軟件密集系統(tǒng)的應(yīng)用日益廣泛,但隨著不斷提高的軟件規(guī)模與執(zhí)行力,因軟件本身因素導(dǎo)致故障大量出現(xiàn),嵌入式軟件功能主要在于提高軟件質(zhì)量與可靠性。有關(guān)研究結(jié)果顯示,尋找軟件功能缺陷、使軟件開(kāi)發(fā)質(zhì)量及運(yùn)行可靠性提高等方面都與軟件測(cè)試存在十分重要的聯(lián)系。軟件測(cè)試對(duì)軟件與設(shè)計(jì)要求相符程度進(jìn)行軟、硬件集成系統(tǒng)評(píng)價(jià)和確認(rèn),軟件需求規(guī)格說(shuō)明書(shū)是重要的文檔依據(jù),ADS2、GESTE、RT-LAB等工具是目前對(duì)國(guó)內(nèi)外嵌入式軟件實(shí)時(shí)系統(tǒng)進(jìn)行測(cè)試的典型環(huán)境。有關(guān)統(tǒng)計(jì)數(shù)據(jù)顯示,嵌入式實(shí)時(shí)軟件在運(yùn)行過(guò)程中具有嚴(yán)格的實(shí)時(shí)性、時(shí)序性及并發(fā)性約束,而在硬件設(shè)備中嵌入。所以測(cè)試自動(dòng)化主要利用測(cè)試實(shí)時(shí)軟件,以提高軟件測(cè)試質(zhì)量與測(cè)試效率。其自動(dòng)化程度提高的一個(gè)關(guān)鍵技術(shù)就是自動(dòng)生成測(cè)試用例技術(shù),但眾多原因?qū)ζ鋵?shí)現(xiàn)產(chǎn)生阻礙,其中還是采用手工方式生成的一個(gè)重要原因就是被測(cè)軟件需求尚未采用形式化語(yǔ)言描述以形成測(cè)試用例。當(dāng)前如Rational Rose等實(shí)時(shí)軟件圖形化建模支持的工具,都會(huì)對(duì)自動(dòng)化測(cè)試進(jìn)行有力支持,只是其開(kāi)發(fā)過(guò)程主要針對(duì)一些嵌入式系統(tǒng),測(cè)試數(shù)據(jù)生成容易受到某些測(cè)試描述的限制,而其測(cè)試用例不能表現(xiàn)出比較全面的意義,采用不斷添加生成測(cè)試用例的具體策略,并結(jié)合用例組合,測(cè)試腳本基于轉(zhuǎn)化規(guī)則而實(shí)現(xiàn),使被測(cè)軟件在正常運(yùn)行過(guò)程中的相應(yīng)狀態(tài)得到驅(qū)動(dòng),達(dá)到軟件測(cè)試所需的自動(dòng)化水平標(biāo)準(zhǔn)要求。
1 模型驅(qū)動(dòng)軟件測(cè)試技術(shù)
此技術(shù)在近年來(lái)得到了快速發(fā)展,并在軟件研發(fā)過(guò)程中在很多領(lǐng)域得到較為普遍的應(yīng)用,模型軟件測(cè)試逐漸成為一個(gè)研究熱點(diǎn)。而目前實(shí)時(shí)軟件系統(tǒng)測(cè)試方法被認(rèn)為是最有效的模型驅(qū)動(dòng)仿真測(cè)試方法,其核心是數(shù)字仿真被測(cè)軟件的輸入行為及系統(tǒng)環(huán)境,為被測(cè)軟件建立與其運(yùn)行環(huán)境相適應(yīng)的仿真模型,以利于發(fā)送相關(guān)測(cè)試數(shù)據(jù),從而對(duì)被測(cè)軟件在相對(duì)穩(wěn)定運(yùn)行過(guò)程中行駛正常驅(qū)動(dòng),促使軟件與模型測(cè)試結(jié)果的有效驗(yàn)證達(dá)到一定的效果。
1)測(cè)試數(shù)據(jù)的生成方法。
測(cè)試數(shù)據(jù)是指軟件在輸入空間內(nèi)進(jìn)行特定取值,加入被測(cè)軟件并使其運(yùn)行變量與操作的集合,一般生成方式可分為在線與離線兩種。假設(shè)被測(cè)軟件具有的n維輸入空間由n個(gè)輸入變量所構(gòu)成,此輸入空間中的某點(diǎn)就是其中的一個(gè)測(cè)試數(shù)據(jù),可記為輸入向量,若直接在測(cè)試規(guī)范中獲得輸入變量,被稱(chēng)為離線數(shù)據(jù)生成。但實(shí)時(shí)軟件在運(yùn)行時(shí)表現(xiàn)出并發(fā)性、時(shí)序性及實(shí)時(shí)性約束,其測(cè)試輸入通常是與時(shí)間具有一定關(guān)系的輸入序列,測(cè)試數(shù)據(jù)量較大(輸入變量不只是離散值,有時(shí)也是連續(xù)取值),離線生成對(duì)于實(shí)時(shí)發(fā)送測(cè)試數(shù)據(jù)具有直接影響。而在系統(tǒng)具有反饋時(shí),離線生成測(cè)試數(shù)據(jù)難度較大,有時(shí)會(huì)無(wú)法實(shí)現(xiàn)。所以,在測(cè)試中需要模型動(dòng)態(tài)生成的實(shí)時(shí)測(cè)試數(shù)據(jù)。
2)實(shí)時(shí)軟件的測(cè)試模型。
有限狀態(tài)機(jī)模型、UML模型等都是目前國(guó)內(nèi)外實(shí)時(shí)軟件中典型的測(cè)試模型,F(xiàn)SM、時(shí)間自動(dòng)機(jī)等都是一種有限狀態(tài)機(jī)模型。該模型的狀態(tài)空間呈現(xiàn)扁平而不是層次化特點(diǎn),每時(shí)狀態(tài)只有一個(gè)有效。測(cè)試時(shí)隨著持續(xù)不斷增加相關(guān)狀態(tài)屬性類(lèi),將快速增長(zhǎng)對(duì)象狀態(tài)數(shù)目,而難以描述狀態(tài)機(jī)工作。
UML狀態(tài)圖的特征是形式化,采用實(shí)時(shí)建模方法特別適合對(duì)于在嵌入式軟件中。根據(jù)對(duì)象行為與狀態(tài)圖相關(guān)定義進(jìn)行比如并發(fā)、定時(shí)及繼承等特性的相應(yīng)配置,對(duì)嵌入式系統(tǒng)基于事件驅(qū)動(dòng)的復(fù)雜行為采用提供簡(jiǎn)單圖形化的方式進(jìn)行描述。所以狀態(tài)圖是核心技術(shù),利用面向?qū)ο笏枷?,提出的?shí)時(shí)建模方法,可對(duì)系統(tǒng)輸入輸出及其映射關(guān)系清晰完整描述的模型。
2 基于狀態(tài)圖測(cè)試的需求建模方法
1)軟件測(cè)試需求。
測(cè)試需求分析是軟件系統(tǒng)測(cè)試的重要基礎(chǔ)。測(cè)試需求就是依據(jù)軟件系統(tǒng)需求與預(yù)期測(cè)試目標(biāo)確定相應(yīng)的測(cè)試屬性。測(cè)試屬性是由軟件測(cè)試人員有機(jī)結(jié)合測(cè)試目的與被測(cè)軟件系統(tǒng)功能特點(diǎn)而開(kāi)展有關(guān)分析得到的關(guān)鍵測(cè)試指標(biāo),從多個(gè)角度針對(duì)軟件質(zhì)量屬性進(jìn)行客觀評(píng)價(jià)。測(cè)試需求在系統(tǒng)測(cè)試過(guò)程中形成被稱(chēng)為系統(tǒng)測(cè)試需求,與軟件需求說(shuō)明相結(jié)合,基于測(cè)試角度確定被測(cè)軟件測(cè)試屬性,構(gòu)建被測(cè)系統(tǒng)靜態(tài)結(jié)構(gòu)與動(dòng)態(tài)行為模型,形成的模型采用XML格式文本。
2)系統(tǒng)測(cè)試需求建模技術(shù)。
一是對(duì)詳細(xì)分析被測(cè)軟件的相關(guān)開(kāi)發(fā)文檔資料,對(duì)軟件測(cè)試屬性進(jìn)行認(rèn)真分類(lèi)并對(duì)軟件文檔中的測(cè)試項(xiàng)進(jìn)行劃分,為軟件測(cè)試提供信息。二是對(duì)系統(tǒng)的靜態(tài)結(jié)構(gòu)建模類(lèi)圖中的結(jié)構(gòu),繪制類(lèi)圖,對(duì)被測(cè)系統(tǒng)靜態(tài)結(jié)構(gòu)及接口信息進(jìn)行描述。三是對(duì)系統(tǒng)動(dòng)態(tài)行為采用狀態(tài)圖建模,劃分主要根據(jù)系統(tǒng)狀態(tài)空間,描述狀態(tài)遷移,描述具有實(shí)時(shí)性。
3)采用XML表示模型及測(cè)試用例。
XML作為元標(biāo)記語(yǔ)言,能夠?qū)崿F(xiàn)定義語(yǔ)義標(biāo)記的規(guī)范規(guī)則。因XML具有自解釋性,能夠?qū)Y(jié)構(gòu)化數(shù)據(jù)進(jìn)行便捷讀取與保存,并實(shí)現(xiàn)語(yǔ)義擴(kuò)展,與測(cè)試腳本語(yǔ)言實(shí)現(xiàn)轉(zhuǎn)化,所以可采用XML格式對(duì)需求模型與測(cè)試用例進(jìn)行表示和保存。
4)生成測(cè)試用例。
通常合理運(yùn)用不斷求精的層次方法,采用狀態(tài)-遷移覆蓋準(zhǔn)則確定比較合適的生成用例。復(fù)合狀態(tài)作為較為抽象的一種狀態(tài),遍歷軟件全部的主狀態(tài)圖過(guò)程后,依次對(duì)具有復(fù)合狀態(tài)的嵌套狀態(tài)圖完全遍歷,獲得不同測(cè)試序列而形成相應(yīng)測(cè)試路徑。基于此,根據(jù)遷移關(guān)系中數(shù)據(jù)變量屬性賦值而形成不同測(cè)試數(shù)據(jù)。
3 結(jié)束語(yǔ)
綜上所述,系統(tǒng)測(cè)試將軟件測(cè)試需求建模作為其重要應(yīng)用前提之一,需求模型主要利用形式化語(yǔ)言進(jìn)行構(gòu)建對(duì)于不斷提高軟件測(cè)試的自動(dòng)化水平具有指導(dǎo)性作用。本文針對(duì)被測(cè)軟件系統(tǒng)分別采用動(dòng)態(tài)行為與靜態(tài)結(jié)構(gòu)建模,可完整清晰地對(duì)實(shí)時(shí)軟件系統(tǒng)測(cè)試中添加的系統(tǒng)前置條件、接口數(shù)據(jù)、過(guò)程描述、后置狀態(tài)等測(cè)試輸入信息進(jìn)行描述。而利用狀態(tài)圖實(shí)現(xiàn)的并發(fā)、嵌套、實(shí)時(shí)描述、選擇及擴(kuò)展的反饋單元配置機(jī)制,使描述實(shí)時(shí)軟件運(yùn)行中的約束特征得以實(shí)現(xiàn)。
項(xiàng)目基金
本文獲黑龍江省自然科學(xué)基金項(xiàng)目(F201235)資助。
參考文獻(xiàn)
[1]劉斌,高小鵬,等.嵌入式軟件可靠性仿真測(cè)試系統(tǒng)研究[J].北京航空航天大學(xué)學(xué)報(bào),2011(9).
[2]林闖.隨機(jī)Petri和系統(tǒng)性能評(píng)價(jià)[M].北京:清華大學(xué)出版社,2010.
[3]王天碩.實(shí)時(shí)UML—開(kāi)發(fā)嵌入式系統(tǒng)高效對(duì)象[M].北京:電子工業(yè)出版社,2010.
[4]李留英.UML測(cè)試技術(shù)的研究與實(shí)現(xiàn)[D].長(zhǎng)沙:國(guó)防科學(xué)技術(shù)大學(xué),2011.
[5]王連平.嵌入式軟件的建模方法探討[J].通訊世界,2011(9).
[6]楊桂清.嵌入式軟件系統(tǒng)建模方法的初步應(yīng)用[J].黑龍江科技信息,2012(8).
作者簡(jiǎn)介
李芳頌(1962-),研究員,研究方向:計(jì)算機(jī)信息管理
系統(tǒng)。endprint