無論是對于傳統(tǒng)的瀑布式開發(fā)還是對于測試驅(qū)動開發(fā)而言,單元測試和集成測試都是非常重要的測試策略。
單元測試可檢測小單元和獨立的單元代碼,比如,可對單獨的C++函數(shù),C函數(shù),或Ada包進行測試。在進行全面的系統(tǒng)測試之前通常都要進行單元和集成測試。
單元測試和集成測試對于建立堅固、無誤的應用程序,有著十分重要的意義。因為測試者通過單元和集成測試可以很方便地調(diào)用應用程序的底層功能,以便驗證低層需求是否已實現(xiàn)。
VectorCAST工具可對C/C++(VectorCAST/C++)和Ada(VectorCAST/Ada)進行單元和集成測試。這兩套工具都能夠自動完成與單元和集成測試相關(guān)的主要任務(wù),包括生成完整的、可執(zhí)行的測試套件,管理測試用例和測試結(jié)果,自動進行回歸測試等。
單元測試和集成測試的兩大目標
驗證應用程序的正確性 —— 要求測試用例包含已知輸入和預期值,以便調(diào)用被測代碼的功能。
證明測試的充分性 —— 要求對代碼覆蓋率進行跟蹤,以便驗證程序代碼是否已經(jīng)100%執(zhí)行了。
VectorCAST/C++和VectorCAST/Ada都可以自動完成這些任務(wù),并且能夠在應用程序的整個生命周期一直對其進行全面的自動化回歸測試。
傳統(tǒng)的單元測試和集成測試的流程
傳統(tǒng)的單元測試:因為軟件的每個單元都進行了編碼,所以開發(fā)者需要生成測試用例調(diào)用這些代碼,再執(zhí)行測試用例驗證代碼的正確性。這種流程存在的一個風險就是開發(fā)人員可能在設(shè)計測試用例的時候會受到代碼執(zhí)行情況的影響,導致他們只是測試所寫的代碼能夠?qū)崿F(xiàn)的功能,而不是驗證代碼應該實現(xiàn)的功能。
測試驅(qū)動開發(fā)(TDD)和敏捷流程
測試驅(qū)動開發(fā)會在設(shè)計完成之前生成測試用例,以解決傳統(tǒng)的單元測試存在的上述問題。這樣,開發(fā)者就能夠根據(jù)底層需求和每個單元已確定的接口建立單元測試。每個功函數(shù)口定義好之后,就會針對該函數(shù)加入增加測試。這些測試一開始的時候會失敗,因為各個函數(shù)尚未有邏輯定義。但是,當整個程序代碼完成之后,測試就會通過。這種方法要求開發(fā)、建立和測試的周期較短,而且能夠自動進行自動化回歸測試。VectorCAST/C++支持這種測試方法,因為只要有一個頭文件存在,VectorCAST/C++就可以建立測試。
為什么單元測試和集成測試這么難?
要想測試能夠達到接近100%的代碼覆蓋率要求,就必須要為被測程序中的每行代碼都寫一行測試代碼(驅(qū)動、樁函數(shù)、測試數(shù)據(jù))。
如果不用工具來進行單元測試,那么要保持單元測試代碼始終和程序代碼相匹配將是一個挑戰(zhàn)。不僅需要寫測試代碼,而且還要對其進行調(diào)試,以保證它的運行效果和預期的一樣。因為要創(chuàng)建測試軟件并要不斷對其進行維護,所以手動的單元測試的花費很高而且效率比較低。而使用VectorCAST,不需要寫任何測試代碼就能夠完成單元測試。
以上就是小編今天為大家分享的關(guān)于“如何實現(xiàn)嵌入式軟件測試自動化”的文章,希望本篇文章能夠幫到你。云和數(shù)據(jù)?ICT?職業(yè)教育發(fā)揮公司產(chǎn)業(yè)化優(yōu)勢與技術(shù)積淀,整合國內(nèi)外優(yōu)秀師資,累計自主研發(fā)?230?余項教輔、教材,300?余?項實踐教學案例與實訓平臺,采用六位一體項目制教學模式,年?培養(yǎng)高端?ICT?技術(shù)人才超?10000?人,累計為企業(yè)輸送高端泛?ICT?技術(shù)人才超?9?萬人,學員?60%來自于口碑推薦。如果你對目前的生活狀態(tài)不滿意,想提升技能,可以咨詢云和數(shù)據(jù)官網(wǎng)獲得幫助。
Copyright ? 2013-2021 河南云和數(shù)據(jù)信息技術(shù)有限公司 豫ICP備14003305號 ISP經(jīng)營許可證:豫B-20160281