李艷艷
摘要 在分析軟件單元測(cè)試問(wèn)題的基礎(chǔ)上,本文對(duì)基于LDRATes tbed的DSP軟件單元測(cè)試方法展開(kāi)了分析,介紹了相應(yīng)的測(cè)試工具和測(cè)試過(guò)程,為關(guān)注這一話題的人們提供參考。
【關(guān)鍵詞】LDRA Testbed DSP 軟件單元測(cè)試
1 軟件單元測(cè)試概述
所謂的軟件單元測(cè)試,就是對(duì)軟件基本組成單元進(jìn)行測(cè)試,測(cè)試對(duì)象為模塊,即軟件設(shè)計(jì)中的最小單位,擁有明確的功能和唯一標(biāo)識(shí),可以實(shí)現(xiàn)特定算法,獲得局部數(shù)據(jù),能與其他模塊和外界相互獲取數(shù)據(jù),被其他模塊調(diào)用。在單元測(cè)試方面,需要采用靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試、單元輸入輸出測(cè)試等測(cè)試,能夠?qū)崿F(xiàn)多個(gè)模塊的同時(shí)測(cè)試,并完成錯(cuò)誤定位。在實(shí)際測(cè)試時(shí),需要制定測(cè)試計(jì)劃和創(chuàng)建相應(yīng)環(huán)境,完成最小運(yùn)行調(diào)度系統(tǒng)的構(gòu)造,以便對(duì)上一級(jí)模塊進(jìn)行模擬,同時(shí)對(duì)單元函數(shù)接口和生成測(cè)試數(shù)據(jù)的過(guò)程進(jìn)行模擬。通過(guò)將數(shù)據(jù)傳輸給被測(cè)模塊,按相關(guān)結(jié)果進(jìn)行“主程序”打印,可以確定軟件單元功能、接口是否符合設(shè)計(jì)要求,能否進(jìn)行輸入和運(yùn)行中錯(cuò)誤的正確處理。通過(guò)對(duì)測(cè)試中發(fā)現(xiàn)的問(wèn)題進(jìn)行修改,則能更好的完成軟件單元設(shè)計(jì)。
2 基于LDRA Testbed的DSP軟件單元測(cè)試
2.1 測(cè)試工具
在對(duì)DSP軟件單元進(jìn)行測(cè)試時(shí),需要采用LDRA Testbed這種測(cè)試工具。相較于Logiscope、AsmTester等工具,LDRA Testbed不僅可用于實(shí)現(xiàn)軟件單元靜態(tài)測(cè)試,同時(shí)也能提供動(dòng)態(tài)測(cè)試環(huán)境,滿足單元測(cè)試在不同階段的測(cè)試需求。在LDRA Testbed中,包含各種測(cè)試模塊。利用源代碼的語(yǔ)法分析功能,LDRA Testbed可進(jìn)行靜態(tài)測(cè)試分析,如編碼規(guī)則驗(yàn)證、程序質(zhì)量評(píng)估等。利用其動(dòng)態(tài)測(cè)試模塊,可以對(duì)軟件單元進(jìn)行運(yùn)行,并完成運(yùn)行狀態(tài)記錄,得到測(cè)試覆蓋率報(bào)告。而在該模塊中,包含修正條件、語(yǔ)句覆蓋等多種可度量覆蓋標(biāo)準(zhǔn),可以確保測(cè)試覆蓋率達(dá)到規(guī)定要求。采用LDRA Testbed的單元測(cè)試模塊,可以利用TBrun子程序?qū)SP軟件單元進(jìn)行測(cè)試,完成被測(cè)單元輸入、輸出數(shù)據(jù)流的分析,獲得接口函數(shù)調(diào)用、參數(shù)、返回值等各種細(xì)節(jié)信息,實(shí)現(xiàn)單元測(cè)試結(jié)果的自動(dòng)化分析。利用該模塊,在命令行界面或圖形界面上,可以完成測(cè)試序列的自動(dòng)創(chuàng)建,通過(guò)黑盒、白盒等測(cè)試查找未被覆蓋的單元,提出相應(yīng)的改進(jìn)方案。針對(duì)測(cè)試過(guò)程,采用該模塊可以完成代碼變更自動(dòng)偵測(cè),并對(duì)數(shù)據(jù)結(jié)果進(jìn)行存儲(chǔ),完成代碼回歸測(cè)試和分析,因此可以使測(cè)試效率和有效性得到保證。
2.2 測(cè)試過(guò)程
2.21 靜態(tài)測(cè)試
在DSP軟件單元測(cè)試中,首先需要完成靜態(tài)測(cè)試。具體來(lái)講,就是先通過(guò)靜態(tài)分析,利用LDRA Testbed生成靜態(tài)函數(shù)調(diào)用結(jié)果,反映函數(shù)調(diào)用層次。在結(jié)果中,可以清楚觀察到函數(shù)與函數(shù)間的調(diào)用關(guān)系,同時(shí)也能結(jié)合各函數(shù)扇入/扇出數(shù)對(duì)關(guān)系的復(fù)雜度進(jìn)行反映。根據(jù)用戶設(shè)定的編碼規(guī)則集,可分析單元源代碼,確定DSP軟件中是否存在違反規(guī)則的單元。采用LDRA Testbed對(duì)代碼清晰性、可測(cè)試性、復(fù)雜度等進(jìn)行分析,可以得到相應(yīng)的質(zhì)量和度量報(bào)告。在實(shí)際測(cè)試過(guò)程中,為方便進(jìn)行違反規(guī)則單元的辨識(shí),可以自己規(guī)定報(bào)告編制規(guī)則,也可以采用國(guó)軍標(biāo)5369等行業(yè)認(rèn)可標(biāo)準(zhǔn),以便對(duì)DSP軟件單元進(jìn)行快速修正,促使軟件開(kāi)發(fā)時(shí)間得到節(jié)省。
2.2.2 動(dòng)態(tài)測(cè)試
針對(duì)DSP軟件,在單元?jiǎng)討B(tài)測(cè)試階段需要完成相應(yīng)動(dòng)態(tài)測(cè)試環(huán)境配置。首先,需要對(duì)Testbed編譯器進(jìn)行修改,進(jìn)行TiCodeComposer編譯器的選擇。其次,需進(jìn)行仿真模擬器的調(diào)用,進(jìn)行CCStudio的正確使用。在DSP軟件單元測(cè)試中,采用LDRA Testbed無(wú)法提供直接的動(dòng)態(tài)測(cè)試,所以需要采用CCStudio聯(lián)協(xié)方式完成動(dòng)態(tài)測(cè)試環(huán)境搭建,提供相應(yīng)的目標(biāo)機(jī)和操作系統(tǒng)。采用該方法,需要完成目標(biāo)開(kāi)發(fā)板的合理選擇,利用編譯得到的測(cè)試驅(qū)動(dòng)程序進(jìn)行運(yùn)行過(guò)程仿真。再者,需要利用具體編譯鏈接信息對(duì)Testbed動(dòng)態(tài)測(cè)試命令進(jìn)行修正,如針對(duì)F28xx系列的DSP軟件,編譯時(shí)需要采用c12000.exe,鏈接時(shí)需要采用Ink2000.exe。完成環(huán)境配置后,需要進(jìn)行測(cè)試用例設(shè)置,對(duì)動(dòng)態(tài)測(cè)試模塊進(jìn)行運(yùn)行。在測(cè)試過(guò)程中,各函數(shù)都能的得到代碼覆蓋,結(jié)合覆蓋率信息,可以確定測(cè)試不完全的軟件單元。
2.2.3 單元測(cè)試
結(jié)合靜態(tài)分析和動(dòng)態(tài)測(cè)試結(jié)果,可以利用TBrun進(jìn)行DSP軟件單元測(cè)試。首先,需要像動(dòng)態(tài)測(cè)試過(guò)程一樣,進(jìn)行相應(yīng)測(cè)試環(huán)境的配置。而采用TBrun單元測(cè)試模塊,需要進(jìn)行隔離測(cè)試,確定單元是否獨(dú)立。在測(cè)試過(guò)程中,需要先完成序列的創(chuàng)建,其中需包含被測(cè)集合內(nèi)的全部文件。為此,還要對(duì)各文件包含的函數(shù)進(jìn)行分析,并在界面上一一羅列,然后對(duì)各函數(shù)進(jìn)行隔離測(cè)試。其次,需要進(jìn)行黑盒、白盒測(cè)試。采用二者相結(jié)合的方式,可以完成DSP軟件單元的充分測(cè)試。結(jié)合軟件需求文檔,并確認(rèn)程序內(nèi)部結(jié)構(gòu)后,可以進(jìn)行函數(shù)設(shè)置,即確定函數(shù)輸入、輸出變量,同時(shí)確定函數(shù)期望值。通過(guò)運(yùn)行用例,可獲得軟件結(jié)構(gòu)覆蓋率信息,并得到測(cè)試結(jié)果。最后,通過(guò)將測(cè)試用例文件導(dǎo)出,可進(jìn)行回歸測(cè)試。而測(cè)試用例文件為tcf文件,其中包含用例執(zhí)行信息,因此僅需要對(duì)保存測(cè)試用例的重新運(yùn)行就能進(jìn)行代碼回歸測(cè)試,并獲得相應(yīng)的分析報(bào)告。
3 結(jié)論
通過(guò)研究可以發(fā)現(xiàn),在DSP軟件單元測(cè)試方面,采用LDRA Testbed可以提供靜態(tài)測(cè)試、動(dòng)態(tài)測(cè)試和單元測(cè)試功能,設(shè)計(jì)人員僅需要完成測(cè)試用例編寫即可完成整個(gè)測(cè)試,并且能夠從測(cè)試報(bào)告中獲得詳細(xì)的信息,確定無(wú)法覆蓋的單元,所以能夠使DSP軟件設(shè)計(jì)和測(cè)試效率得到提高。
參考文獻(xiàn)
[1]楊珂瑤,張小芳,曾雷杰,基于DSP的嵌入式軟件測(cè)試方法[J].計(jì)算機(jī)與現(xiàn)代化,2014 (10):61-65.
[2]劉凱,鄭吉洲,嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS- II在DSP芯片上的移植與測(cè)試[J].信息安全與技術(shù),2013,4 (06):91-94.