基于SystemC描述的嵌入式系統(tǒng)的自動(dòng)化驗(yàn)證
ATF 就是可以自動(dòng)對(duì)代碼進(jìn)行單元測(cè)試的框架,它的基本結(jié)構(gòu)如圖2 所示。 由多個(gè)測(cè)試用例(testcase) 組織成一個(gè)測(cè)試套件( suite) ,套件內(nèi)還可以包含其他的套件,并能方便地向套件增加新的測(cè)試用例。ATF 運(yùn)行時(shí),由測(cè)試套件遍歷自己容納的對(duì)象,逐一調(diào)用它們的run ( ) 方法,使得多個(gè)測(cè)試用例可以一次全部運(yùn)行。 測(cè)試輸出可以是XML (extensiblemarkup language) 或文本。本文后面提到的自動(dòng)化驗(yàn)證方法,就采用了C ++ 的ATF ,CppUnit 。
應(yīng)用AOP 的自動(dòng)化驗(yàn)證方法
測(cè)試驅(qū)動(dòng)的開(kāi)發(fā)方法以及ATF 的采用,可以保證每次得到的設(shè)計(jì)都是可測(cè)試的。具有可測(cè)試性對(duì)于需要迭代的開(kāi)發(fā)過(guò)程是十分必要的。然而要做到可測(cè)試性,就要求設(shè)計(jì)人員在考慮設(shè)計(jì)本身邏輯的同時(shí),必須考慮測(cè)試問(wèn)題。設(shè)計(jì)代碼和測(cè)試代碼的交織,正是目前軟件領(lǐng)域關(guān)注的所謂“橫切關(guān)注點(diǎn)”(crosscutting concern) 的問(wèn)題。它既干擾了設(shè)計(jì)人員對(duì)設(shè)計(jì)本身的思考,也造成代碼混亂、難以復(fù)用和更改。面向方面編程技術(shù)(AOP) 正是目前為解決這一問(wèn)題而提出來(lái)的一種較好的編程模式。
評(píng)論