0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用emSim轻松地进行自动化测试

麦克泰技术 来源:麦克泰技术 2023-11-10 11:14 次阅读

对于嵌入式或本地解决方案来说,软件测试似乎是一件令人头疼的事情,但事实并非如此!

当然软件测试也有挑战。时间和资源的限制会限制测试的级别,而且测试很难模拟所有真实世界的场景和极端情况,这可能导致缺陷在发布后修复成本最高的阶段被发现。

测试是向市场交付功能齐全且可靠的解决方案的关键步骤,因此建立和维护测试制度可能非常耗时、复杂、昂贵,这是合理的。不幸的是,业务压力可能意味着测试被简化,或者不被重视,这只会把问题推到未来。

一个全面的软件测试解决方案的好处是显而易见的。首先,良好的测试方法有助于及时发现和修复代码中的错误。消除错误可以避免现场的功能故障,并减少产生安全漏洞的风险。更重要的是,它可以帮助避免产品负面评论。

从开发团队的角度来看,软件测试确保交付指定的功能,并最终帮助我们向市场交付可靠的产品。

测试的类型

单元测试:单独测试软件的各个组件或单元,以确保正确性和功能。这些单元可以是单个函数或更复杂的算法,但通常会在开发周期中随着时间的推移而构建。指令模拟器或在线调试器可以通过与MCU外设交互实现单元测试。对于计算功能,可以使用指令集模拟器,如SEGGER emSim

集成测试:随着开发开始构建,我们进入集成测试阶段,需要测试更复杂的多功能算法。可以使用与单元测试类似的原理,但随着对MCU外设功能的访问变得至关重要,转向在线测试(如J-Link commander)更为常见。

功能测试:这种类型的测试评估软件是否满足指定的功能需求。它包括测试发布软件的不同特性和功能,可以根据用户界面的复杂程度自动完成。

回归测试:回归测试确保对软件的更改或更新不会对现有功能产生不利影响。它可以包括上述所有方法。

用户验收测试(UAT):UAT包括终端用户对软件进行测试,以确保软件满足他们的需求和期望。

快速看一下单元测试

实施有效的单元测试,应该遵循某些最佳实践。测试用例应该涵盖一系列场景,包括典型用例和边缘用例。测试应该是自动化的,使它们能够在没有人工干预的情况下频繁地执行。

如前所述,使用指令集模拟器(如SEGGER emSim)可以在嵌入式体系结构上进行测试,而不是依赖于可能隐藏诸如可变大小和库约束等问题的PC应用。

如何使用emSim设置一个简单的单元测试

首先需要下载并安装最新版本的Embedded Studio,它包含了一个完整的开发套件(编辑器、编译器等)以及emSim。Embedded Studio可以在Windows、macOS和Linux平台上进行评估,针对商业用途提供了灵活的许可模式。

接下来,我们编写要测试的功能,并将其封装在单元测试中。下面是一个非常简单的例子,增加一个字符并测试返回值。我们可能期望这对函数的所有输入都有效,但当输入超过8位字符值时,逻辑将失败。

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

其中function_to_test()是要测试的代码,其参数test_val从命令行传递到测试单元中。然后对返回值ret进行测试,在本例中是传递给测试函数的变量的增量。

一旦单元测试按预期工作,下一步就是准备一个脚本来测试一系列输入值。下面是一个例子,但是这也可以被内置到单元测试中:

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

它返回以下内容,可以根据需要进行进一步处理。

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

如果您希望在实际目标硬件上集成单元测试,那么最后一步是通过脚本化的emSim测试配置(J-Run),基于J-Link调试器访问芯片和部外设。

还可以通过设置断点来退出测试并生成指令跟踪输出来扩展测试。

emSim是作为SEGGER Embedded Studio的一部分提供的,运行在Windows、MAC和Linux平台上,支持各种ARM架构的,包括ARM64、v4t、v5te、v6、v6m、v7m、v7em、v7r、v7a、v8a、v8r、v8m_baseline、v8m_mainline、v8.1m_mainline,可以通过在命令行中添加-arch来配置。

使用emSim可以基于最适合您需求的主机平台和目标体系结构,开始单元测试。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5068

    文章

    19014

    浏览量

    303210
  • 自动化测试
    +关注

    关注

    0

    文章

    204

    浏览量

    26892
  • 软件测试
    +关注

    关注

    2

    文章

    228

    浏览量

    18567
  • 模拟器
    +关注

    关注

    2

    文章

    867

    浏览量

    43160

原文标题:使用emSim轻松地进行自动化测试

文章出处:【微信号:麦克泰技术,微信公众号:麦克泰技术】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    OPhone自动化测试技术概述

    本文将对OPhone平台上可采用的几种自动化测试技术进行介绍,并对每种技术的优缺点做简要的总结。OPhone台除了为应用程序开发提供丰富的API外,也为开展自动化
    发表于 05-06 08:58

    自动化测试框架思想和构建

    自动化测试一般是指软件测试自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。本文介绍的是
    发表于 07-18 06:52

    如何对用户界面进行自动化测试

    能识别图形界面上的关键信息,比如界面上的文字,数值,图标等。小蚂蚁测试(AnTestin)平台支持对人机接口的屏幕显示进行自动化检测,代替人的眼睛观察,可以识别界面上的关键信息,结合其他操作(比如
    发表于 03-06 19:57

    自动化测试系统问答

    和配置管理,学会在开发工具的同时也学会一些开发和测试自动化流程。而在测试过程中,因为开发的工具不是非常系统,所以可以主要从功能点(按照需求列好功能点
    发表于 10-12 19:02

    如何对多总线自动化测试系统进行测试验证?

    多总线自动化测试系统是由哪些部分组成的?怎样把遗传算法应用到SVM中去?如何对多总线自动化测试系统进行
    发表于 06-08 07:19

    软件自动化测试方案的效益分析

    首先对手工测试自动化测试进行比较,然后提出自动化测试方案选择需要考虑的方面,并结合工作实践,给
    发表于 03-01 15:05 14次下载

    基于Web的自动化测试框架的研究

    根据web系统测试的特点,为提高软件测试自动化脚本的可重用性,结合在实际项目中软件自动化测试的实践,提出基于Web的
    发表于 11-07 15:58 0次下载
    基于Web的<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>框架的研究

    ATE自动化测试系统是什么_ATE自动化测试系统介绍

    本文首先介绍了ATE自动化测试系统发展线路,其次阐述了ATE自动化测试系统的作用及原理、特点、优势,最后介绍了ATE自动化
    发表于 05-23 16:47 3.2w次阅读

    联合使用vTESTstudio,进行自动化测试

    vTESTstudio是Vector公司专为ECU自动化测试而研发的测试用例编写软件,可用于从模型测试到系统确认的所有开发阶段。它集成了多种用例编辑方法,能有效提高
    发表于 09-13 10:58 1212次阅读

    嵌入式自动化测试的示例方案

    宏控UTP协同自动化测试系统(以下简称UTP测试系统)是一款通用的自动化测试系统,支持全仿真和部分仿真环境
    的头像 发表于 02-11 09:49 2029次阅读

    什么是自动化测试框架

    自动化测试框架,即是应用于自动化测试所用的框架。按照框架的定义,自动化测试框架要么是提供可重用的
    发表于 04-18 14:44 875次阅读

    什么是自动测试设备(ATE)?如何进行自动化测试

    自动测试设备(ATE)可以是利用少量设备的简单测试,也可以是大型复杂测试,包括探测站、气动自动化、以及机器人自动化等。,而现在,
    的头像 发表于 05-09 16:46 2393次阅读
    什么是<b class='flag-5'>自动测试</b>设备(ATE)?如何<b class='flag-5'>进行</b><b class='flag-5'>自动化</b><b class='flag-5'>测试</b>?

    接口自动化测试流程讲解 企业接口自动化测试步骤

    接口自动化测试是指通过编写脚本或使用自动化工具,对软件系统的接口进行测试的过程。接口测试是软件
    发表于 07-28 14:54 2154次阅读
    接口<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>流程讲解 企业接口<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>步骤

    电源测试怎么自动化?电源模块自动化测试系统如何实现?

    纳米软件在电测行业深耕十余年,在行业的大背景下,为了进一步完善自动化测试,开发出了新的智能的电源模块自动化测试系统ATECLOUD-POW
    的头像 发表于 12-15 14:40 828次阅读
    电源<b class='flag-5'>测试</b>怎么<b class='flag-5'>自动化</b>?电源模块<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>系统如何实现?

    开关电源自动化测试设备:如何实现自动化测试

    开关电源自动化测试设备是将测试软件和测试硬件集成在一个电源测试柜中的ate自动测试设备,其
    的头像 发表于 08-30 18:19 1166次阅读
    开关电源<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>设备:如何实现<b class='flag-5'>自动化</b><b class='flag-5'>测试</b>?