教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

如何實(shí)現(xiàn)嵌入式軟件測(cè)試的自動(dòng)化

更新時(shí)間:2017年12月19日16時(shí)56分 來源:傳智播客 瀏覽次數(shù):

無論是對(duì)于傳統(tǒng)的瀑布式開發(fā)還是對(duì)于測(cè)試驅(qū)動(dòng)開發(fā)而言,單元測(cè)試和集成測(cè)試都是非常重要的測(cè)試策略。

單元測(cè)試可檢測(cè)小單元和獨(dú)立的單元代碼,比如,可對(duì)單獨(dú)的C++函數(shù),C函數(shù),或Ada包進(jìn)行測(cè)試。在進(jìn)行全面的系統(tǒng)測(cè)試之前通常都要進(jìn)行單元和集成測(cè)試。

單元測(cè)試和集成測(cè)試對(duì)于建立堅(jiān)固、無誤的應(yīng)用程序,有著十分重要的意義。因?yàn)闇y(cè)試者通過單元和集成測(cè)試可以很方便地調(diào)用應(yīng)用程序的底層功能,以便驗(yàn)證低層需求是否已實(shí)現(xiàn)。

VectorCAST工具可對(duì)C/C++(VectorCAST/C++)和Ada(VectorCAST/Ada)進(jìn)行單元和集成測(cè)試。這兩套工具都能夠自動(dòng)完成與單元和集成測(cè)試相關(guān)的主要任務(wù),包括生成完整的、可執(zhí)行的測(cè)試套件,管理測(cè)試用例和測(cè)試結(jié)果,自動(dòng)進(jìn)行回歸測(cè)試等。

單元測(cè)試和集成測(cè)試的兩大目標(biāo)

驗(yàn)證應(yīng)用程序的正確性 —— 要求測(cè)試用例包含已知輸入和預(yù)期值,以便調(diào)用被測(cè)代碼的功能。

證明測(cè)試的充分性 —— 要求對(duì)代碼覆蓋率進(jìn)行跟蹤,以便驗(yàn)證程序代碼是否已經(jīng)100%執(zhí)行了。

VectorCAST/C++和VectorCAST/Ada都可以自動(dòng)完成這些任務(wù),并且能夠在應(yīng)用程序的整個(gè)生命周期一直對(duì)其進(jìn)行全面的自動(dòng)化回歸測(cè)試。

傳統(tǒng)的單元測(cè)試和集成測(cè)試的流程

傳統(tǒng)的單元測(cè)試:因?yàn)檐浖拿總€(gè)單元都進(jìn)行了編碼,所以開發(fā)者需要生成測(cè)試用例調(diào)用這些代碼,再執(zhí)行測(cè)試用例驗(yàn)證代碼的正確性。這種流程存在的一個(gè)風(fēng)險(xiǎn)就是開發(fā)人員可能在設(shè)計(jì)測(cè)試用例的時(shí)候會(huì)受到代碼執(zhí)行情況的影響,導(dǎo)致他們只是測(cè)試所寫的代碼能夠?qū)崿F(xiàn)的功能,而不是驗(yàn)證代碼應(yīng)該實(shí)現(xiàn)的功能。

測(cè)試驅(qū)動(dòng)開發(fā)(TDD)和敏捷流程

測(cè)試驅(qū)動(dòng)開發(fā)會(huì)在設(shè)計(jì)完成之前生成測(cè)試用例,以解決傳統(tǒng)的單元測(cè)試存在的上述問題。這樣,開發(fā)者就能夠根據(jù)底層需求和每個(gè)單元已確定的接口建立單元測(cè)試。每個(gè)功函數(shù)口定義好之后,就會(huì)針對(duì)該函數(shù)加入增加測(cè)試。這些測(cè)試一開始的時(shí)候會(huì)失敗,因?yàn)楦鱾€(gè)函數(shù)尚未有邏輯定義。但是,當(dāng)整個(gè)程序代碼完成之后,測(cè)試就會(huì)通過。這種方法要求開發(fā)、建立和測(cè)試的周期較短,而且能夠自動(dòng)進(jìn)行自動(dòng)化回歸測(cè)試。VectorCAST/C++支持這種測(cè)試方法,因?yàn)橹灰幸粋€(gè)頭文件存在,VectorCAST/C++就可以建立測(cè)試。

為什么單元測(cè)試和集成測(cè)試這么難?

要想測(cè)試能夠達(dá)到接近100%的代碼覆蓋率要求,就必須要為被測(cè)程序中的每行代碼都寫一行測(cè)試代碼(驅(qū)動(dòng)、樁函數(shù)、測(cè)試數(shù)據(jù))。

如果不用工具來進(jìn)行單元測(cè)試,那么要保持單元測(cè)試代碼始終和程序代碼相匹配將是一個(gè)挑戰(zhàn)。不僅需要寫測(cè)試代碼,而且還要對(duì)其進(jìn)行調(diào)試,以保證它的運(yùn)行效果和預(yù)期的一樣。因?yàn)橐獎(jiǎng)?chuàng)建測(cè)試軟件并要不斷對(duì)其進(jìn)行維護(hù),所以手動(dòng)的單元測(cè)試的花費(fèi)很高而且效率比較低。而使用VectorCAST,不需要寫任何測(cè)試代碼就能夠完成單元測(cè)試。

0 分享到:
和我們?cè)诰€交談!