0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用emSim輕松地進(jìn)行自動化測試

麥克泰技術(shù) ? 來源:麥克泰技術(shù) ? 2023-11-10 11:14 ? 次閱讀

對于嵌入式或本地解決方案來說,軟件測試似乎是一件令人頭疼的事情,但事實并非如此!

當(dāng)然軟件測試也有挑戰(zhàn)。時間和資源的限制會限制測試的級別,而且測試很難模擬所有真實世界的場景和極端情況,這可能導(dǎo)致缺陷在發(fā)布后修復(fù)成本最高的階段被發(fā)現(xiàn)。

測試是向市場交付功能齊全且可靠的解決方案的關(guān)鍵步驟,因此建立和維護(hù)測試制度可能非常耗時、復(fù)雜、昂貴,這是合理的。不幸的是,業(yè)務(wù)壓力可能意味著測試被簡化,或者不被重視,這只會把問題推到未來。

一個全面的軟件測試解決方案的好處是顯而易見的。首先,良好的測試方法有助于及時發(fā)現(xiàn)和修復(fù)代碼中的錯誤。消除錯誤可以避免現(xiàn)場的功能故障,并減少產(chǎn)生安全漏洞的風(fēng)險。更重要的是,它可以幫助避免產(chǎn)品負(fù)面評論。

從開發(fā)團(tuán)隊的角度來看,軟件測試確保交付指定的功能,并最終幫助我們向市場交付可靠的產(chǎn)品。

測試的類型

單元測試:單獨測試軟件的各個組件或單元,以確保正確性和功能。這些單元可以是單個函數(shù)或更復(fù)雜的算法,但通常會在開發(fā)周期中隨著時間的推移而構(gòu)建。指令模擬器或在線調(diào)試器可以通過與MCU外設(shè)交互實現(xiàn)單元測試。對于計算功能,可以使用指令集模擬器,如SEGGER emSim。

集成測試:隨著開發(fā)開始構(gòu)建,我們進(jìn)入集成測試階段,需要測試更復(fù)雜的多功能算法。可以使用與單元測試類似的原理,但隨著對MCU外設(shè)功能的訪問變得至關(guān)重要,轉(zhuǎn)向在線測試(如J-Link commander)更為常見。

功能測試:這種類型的測試評估軟件是否滿足指定的功能需求。它包括測試發(fā)布軟件的不同特性和功能,可以根據(jù)用戶界面的復(fù)雜程度自動完成。

回歸測試:回歸測試確保對軟件的更改或更新不會對現(xiàn)有功能產(chǎn)生不利影響。它可以包括上述所有方法。

用戶驗收測試(UAT):UAT包括終端用戶對軟件進(jìn)行測試,以確保軟件滿足他們的需求和期望。

快速看一下單元測試

實施有效的單元測試,應(yīng)該遵循某些最佳實踐。測試用例應(yīng)該涵蓋一系列場景,包括典型用例和邊緣用例。測試應(yīng)該是自動化的,使它們能夠在沒有人工干預(yù)的情況下頻繁地執(zhí)行。

如前所述,使用指令集模擬器(如SEGGER emSim)可以在嵌入式體系結(jié)構(gòu)上進(jìn)行測試,而不是依賴于可能隱藏諸如可變大小和庫約束等問題的PC應(yīng)用。

如何使用emSim設(shè)置一個簡單的單元測試

首先需要下載并安裝最新版本的Embedded Studio,它包含了一個完整的開發(fā)套件(編輯器、編譯器等)以及emSim。Embedded Studio可以在Windows、macOS和Linux平臺上進(jìn)行評估,針對商業(yè)用途提供了靈活的許可模式。

接下來,我們編寫要測試的功能,并將其封裝在單元測試中。下面是一個非常簡單的例子,增加一個字符并測試返回值。我們可能期望這對函數(shù)的所有輸入都有效,但當(dāng)輸入超過8位字符值時,邏輯將失敗。

eab397c6-7f75-11ee-939d-92fbcf53809c.png

其中function_to_test()是要測試的代碼,其參數(shù)test_val從命令行傳遞到測試單元中。然后對返回值ret進(jìn)行測試,在本例中是傳遞給測試函數(shù)的變量的增量。

一旦單元測試按預(yù)期工作,下一步就是準(zhǔn)備一個腳本來測試一系列輸入值。下面是一個例子,但是這也可以被內(nèi)置到單元測試中:

eac93568-7f75-11ee-939d-92fbcf53809c.png

它返回以下內(nèi)容,可以根據(jù)需要進(jìn)行進(jìn)一步處理。

ead65b44-7f75-11ee-939d-92fbcf53809c.png

如果您希望在實際目標(biāo)硬件上集成單元測試,那么最后一步是通過腳本化的emSim測試配置(J-Run),基于J-Link調(diào)試器訪問芯片和部外設(shè)。

還可以通過設(shè)置斷點來退出測試并生成指令跟蹤輸出來擴(kuò)展測試。

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可以基于最適合您需求的主機(jī)平臺和目標(biāo)體系結(jié)構(gòu),開始單元測試。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5046

    文章

    18821

    瀏覽量

    298626
  • 自動化測試
    +關(guān)注

    關(guān)注

    0

    文章

    194

    瀏覽量

    26852
  • 軟件測試
    +關(guān)注

    關(guān)注

    2

    文章

    221

    瀏覽量

    18515
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    856

    瀏覽量

    42979

原文標(biāo)題:使用emSim輕松地進(jìn)行自動化測試

文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    OPhone自動化測試技術(shù)概述

    本文將對OPhone平臺上可采用的幾種自動化測試技術(shù)進(jìn)行介紹,并對每種技術(shù)的優(yōu)缺點做簡要的總結(jié)。OPhone臺除了為應(yīng)用程序開發(fā)提供豐富的API外,也為開展自動化
    發(fā)表于 05-06 08:58

    自動化測試框架思想和構(gòu)建

    自動化測試一般是指軟件測試自動化,軟件測試就是在預(yù)設(shè)條件下運行系統(tǒng)或應(yīng)用程序,評估運行結(jié)果,預(yù)先條件應(yīng)包括正常條件和異常條件。本文介紹的是
    發(fā)表于 07-18 06:52

    如何對用戶界面進(jìn)行自動化測試

    能識別圖形界面上的關(guān)鍵信息,比如界面上的文字,數(shù)值,圖標(biāo)等。小螞蟻測試(AnTestin)平臺支持對人機(jī)接口的屏幕顯示進(jìn)行自動化檢測,代替人的眼睛觀察,可以識別界面上的關(guān)鍵信息,結(jié)合其他操作(比如
    發(fā)表于 03-06 19:57

    自動化測試系統(tǒng)問答

    和配置管理,學(xué)會在開發(fā)工具的同時也學(xué)會一些開發(fā)和測試自動化流程。而在測試過程中,因為開發(fā)的工具不是非常系統(tǒng),所以可以主要從功能點(按照需求列好功能點
    發(fā)表于 10-12 19:02

    如何對多總線自動化測試系統(tǒng)進(jìn)行測試驗證?

    多總線自動化測試系統(tǒng)是由哪些部分組成的?怎樣把遺傳算法應(yīng)用到SVM中去?如何對多總線自動化測試系統(tǒng)進(jìn)行
    發(fā)表于 06-08 07:19

    軟件自動化測試方案的效益分析

    首先對手工測試自動化測試進(jìn)行比較,然后提出自動化測試方案選擇需要考慮的方面,并結(jié)合工作實踐,給
    發(fā)表于 03-01 15:05 ?14次下載

    基于Web的自動化測試框架的研究

    根據(jù)web系統(tǒng)測試的特點,為提高軟件測試自動化腳本的可重用性,結(jié)合在實際項目中軟件自動化測試的實踐,提出基于Web的
    發(fā)表于 11-07 15:58 ?0次下載
    基于Web的<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>框架的研究

    ATE自動化測試系統(tǒng)是什么_ATE自動化測試系統(tǒng)介紹

    本文首先介紹了ATE自動化測試系統(tǒng)發(fā)展線路,其次闡述了ATE自動化測試系統(tǒng)的作用及原理、特點、優(yōu)勢,最后介紹了ATE自動化
    發(fā)表于 05-23 16:47 ?3.2w次閱讀

    聯(lián)合使用vTESTstudio,進(jìn)行自動化測試

    vTESTstudio是Vector公司專為ECU自動化測試而研發(fā)的測試用例編寫軟件,可用于從模型測試到系統(tǒng)確認(rèn)的所有開發(fā)階段。它集成了多種用例編輯方法,能有效提高
    發(fā)表于 09-13 10:58 ?1143次閱讀

    嵌入式自動化測試的示例方案

    宏控UTP協(xié)同自動化測試系統(tǒng)(以下簡稱UTP測試系統(tǒng))是一款通用的自動化測試系統(tǒng),支持全仿真和部分仿真環(huán)境
    的頭像 發(fā)表于 02-11 09:49 ?1851次閱讀

    什么是自動化測試框架

    自動化測試框架,即是應(yīng)用于自動化測試所用的框架。按照框架的定義,自動化測試框架要么是提供可重用的
    發(fā)表于 04-18 14:44 ?787次閱讀

    什么是自動測試設(shè)備(ATE)?如何進(jìn)行自動化測試?

    自動測試設(shè)備(ATE)可以是利用少量設(shè)備的簡單測試,也可以是大型復(fù)雜測試,包括探測站、氣動自動化、以及機(jī)器人自動化等。,而現(xiàn)在,
    的頭像 發(fā)表于 05-09 16:46 ?2205次閱讀
    什么是<b class='flag-5'>自動測試</b>設(shè)備(ATE)?如何<b class='flag-5'>進(jìn)行</b><b class='flag-5'>自動化</b><b class='flag-5'>測試</b>?

    接口自動化測試流程講解 企業(yè)接口自動化測試步驟

    接口自動化測試是指通過編寫腳本或使用自動化工具,對軟件系統(tǒng)的接口進(jìn)行測試的過程。接口測試是軟件
    發(fā)表于 07-28 14:54 ?1921次閱讀
    接口<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>流程講解 企業(yè)接口<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>步驟

    電源測試怎么自動化?電源模塊自動化測試系統(tǒng)如何實現(xiàn)?

    納米軟件在電測行業(yè)深耕十余年,在行業(yè)的大背景下,為了進(jìn)一步完善自動化測試,開發(fā)出了新的智能的電源模塊自動化測試系統(tǒng)ATECLOUD-POW
    的頭像 發(fā)表于 12-15 14:40 ?640次閱讀
    電源<b class='flag-5'>測試</b>怎么<b class='flag-5'>自動化</b>?電源模塊<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>系統(tǒng)如何實現(xiàn)?

    開關(guān)電源自動化測試設(shè)備:如何實現(xiàn)自動化測試?

    開關(guān)電源自動化測試設(shè)備是將測試軟件和測試硬件集成在一個電源測試柜中的ate自動測試設(shè)備,其
    的頭像 發(fā)表于 08-30 18:19 ?971次閱讀
    開關(guān)電源<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>設(shè)備:如何實現(xiàn)<b class='flag-5'>自動化</b><b class='flag-5'>測試</b>?