對于嵌入式或本地解決方案來說,軟件測試似乎是一件令人頭疼的事情,但事實并非如此!
當(dāng)然軟件測試也有挑戰(zhàn)。時間和資源的限制會限制測試的級別,而且測試很難模擬所有真實世界的場景和極端情況,這可能導(dǎo)致缺陷在發(fā)布后修復(fù)成本最高的階段被發(fā)現(xiàn)。
測試是向市場交付功能齊全且可靠的解決方案的關(guān)鍵步驟,因此建立和維護測試制度可能非常耗時、復(fù)雜、昂貴,這是合理的。不幸的是,業(yè)務(wù)壓力可能意味著測試被簡化,或者不被重視,這只會把問題推到未來。
一個全面的軟件測試解決方案的好處是顯而易見的。首先,良好的測試方法有助于及時發(fā)現(xiàn)和修復(fù)代碼中的錯誤。消除錯誤可以避免現(xiàn)場的功能故障,并減少產(chǎn)生安全漏洞的風(fēng)險。更重要的是,它可以幫助避免產(chǎn)品負面評論。
從開發(fā)團隊的角度來看,軟件測試確保交付指定的功能,并最終幫助我們向市場交付可靠的產(chǎn)品。
測試的類型
單元測試:單獨測試軟件的各個組件或單元,以確保正確性和功能。這些單元可以是單個函數(shù)或更復(fù)雜的算法,但通常會在開發(fā)周期中隨著時間的推移而構(gòu)建。指令模擬器或在線調(diào)試器可以通過與MCU外設(shè)交互實現(xiàn)單元測試。對于計算功能,可以使用指令集模擬器,如SEGGER emSim。
集成測試:隨著開發(fā)開始構(gòu)建,我們進入集成測試階段,需要測試更復(fù)雜的多功能算法??梢允褂门c單元測試類似的原理,但隨著對MCU外設(shè)功能的訪問變得至關(guān)重要,轉(zhuǎn)向在線測試(如J-Link commander)更為常見。
功能測試:這種類型的測試評估軟件是否滿足指定的功能需求。它包括測試發(fā)布軟件的不同特性和功能,可以根據(jù)用戶界面的復(fù)雜程度自動完成。
回歸測試:回歸測試確保對軟件的更改或更新不會對現(xiàn)有功能產(chǎn)生不利影響。它可以包括上述所有方法。
用戶驗收測試(UAT):UAT包括終端用戶對軟件進行測試,以確保軟件滿足他們的需求和期望。
快速看一下單元測試
實施有效的單元測試,應(yīng)該遵循某些最佳實踐。測試用例應(yīng)該涵蓋一系列場景,包括典型用例和邊緣用例。測試應(yīng)該是自動化的,使它們能夠在沒有人工干預(yù)的情況下頻繁地執(zhí)行。
如前所述,使用指令集模擬器(如SEGGER emSim)可以在嵌入式體系結(jié)構(gòu)上進行測試,而不是依賴于可能隱藏諸如可變大小和庫約束等問題的PC應(yīng)用。
如何使用emSim設(shè)置一個簡單的單元測試
首先需要下載并安裝最新版本的Embedded Studio,它包含了一個完整的開發(fā)套件(編輯器、編譯器等)以及emSim。Embedded Studio可以在Windows、macOS和Linux平臺上進行評估,針對商業(yè)用途提供了靈活的許可模式。
接下來,我們編寫要測試的功能,并將其封裝在單元測試中。下面是一個非常簡單的例子,增加一個字符并測試返回值。我們可能期望這對函數(shù)的所有輸入都有效,但當(dāng)輸入超過8位字符值時,邏輯將失敗。
其中function_to_test()是要測試的代碼,其參數(shù)test_val從命令行傳遞到測試單元中。然后對返回值ret進行測試,在本例中是傳遞給測試函數(shù)的變量的增量。
一旦單元測試按預(yù)期工作,下一步就是準(zhǔn)備一個腳本來測試一系列輸入值。下面是一個例子,但是這也可以被內(nèi)置到單元測試中:
它返回以下內(nèi)容,可以根據(jù)需要進行進一步處理。
如果您希望在實際目標(biāo)硬件上集成單元測試,那么最后一步是通過腳本化的emSim測試配置(J-Run),基于J-Link調(diào)試器訪問芯片和部外設(shè)。
還可以通過設(shè)置斷點來退出測試并生成指令跟蹤輸出來擴展測試。
emSim是作為SEGGER Embedded Studio的一部分提供的,運行在Windows、MAC和Linux平臺上,支持各種ARM架構(gòu)的,包括ARM64、v4t、v5te、v6、v6m、v7m、v7em、v7r、v7a、v8a、v8r、v8m_baseline、v8m_mainline、v8.1m_mainline,可以通過在命令行中添加-arch來配置。
使用emSim可以基于最適合您需求的主機平臺和目標(biāo)體系結(jié)構(gòu),開始單元測試。
審核編輯:湯梓紅
-
嵌入式
+關(guān)注
關(guān)注
5086文章
19142瀏覽量
306020 -
自動化測試
+關(guān)注
關(guān)注
0文章
211瀏覽量
26921 -
軟件測試
+關(guān)注
關(guān)注
2文章
231瀏覽量
18606 -
模擬器
+關(guān)注
關(guān)注
2文章
877瀏覽量
43264
原文標(biāo)題:使用emSim輕松地進行自動化測試
文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論