如何实现嵌入式软件测试的自动化

嵌入式软件自动化测试方法 阅读详情

无论是对于传统的瀑布式开发还是对于测试驱动开发而言,单元测试和集成测试都是非常重要的测试策略。

单元测试可检测小单元和独立的单元代码,比如,可对单独的C++函数,C函数,或Ada包进行测试。在进行全面的系统测试之前通常都要进行单元和集成测试。

单元测试和集成测试对于建立坚固、无误的应用程序,有着十分重要的意义。因为测试者通过单元和集成测试可以很方便地调用应用程序的底层功能,以便验证低层需求是否已实现。

VectorCAST工具可对C/C++(VectorCAST/C++)和Ada(VectorCAST/Ada)进行单元和集成测试。这两套工具都能够自动完成与单元和集成测试相关的主要任务,包括生成完整的、可执行的测试套件,管理测试用例和测试结果,自动进行回归测试等。


单元测试和集成测试的两大目标
  • 验证应用程序的正确性 —— 要求测试用例包含已知输入和预期值,以便调用被测代码的功能。
  • 证明测试的充分性 —— 要求对代码覆盖率进行跟踪,以便验证程序代码是否已经100%执行了。
VectorCAST/C++和VectorCAST/Ada都可以自动完成这些任务,并且能够在应用程序的整个生命周期一直对其进行全面的自动化回归测试。

传统的单元测试和集成测试的流程
传统的单元测试:因为软件的每个单元都进行了编码,所以开发者需要生成测试用例调用这些代码,再执行测试用例验证代码的正确性。这种流程存在的一个风险就是开发人员可能在设计测试用例的时候会受到代码执行情况的影响,导致他们只是测试所写的代码能够实现的功能,而不是验证代码应该实现的功能。

测试驱动开发(TDD)和敏捷流程
测试驱动开发会在设计完成之前生成测试用例,以解决传统的单元测试存在的上述问题。这样,开发者就能够根据底层需求和每个单元已确定的接口建立单元测试。每个功函数口定义好之后,就会针对该函数加入增加测试。这些测试一开始的时候会失败,因为各个函数尚未有逻辑定义。但是,当整个程序代码完成之后,测试就会通过。这种方法要求开发、建立和测试的周期较短,而且能够自动进行自动化回归测试。VectorCAST/C++支持这种测试方法,因为只要有一个头文件存在,VectorCAST/C++就可以建立测试。

为什么单元测试和集成测试这么难?

要想测试能够达到接近100%的代码覆盖率要求,就必须要为被测程序中的每行代码都写一行测试代码(驱动、桩函数、测试数据)。

如果不用工具来进行单元测试,那么要保持单元测试代码始终和程序代码相匹配将是一个挑战。不仅需要写测试代码,而且还要对其进行调试,以保证它的运行效果和预期的一样。因为要创建测试软件并要不断对其进行维护,所以手动的单元测试的花费很高而且效率比较低。而使用VectorCAST,不需要写任何测试代码就能够完成单元测试。


更多资讯 请登陆 创提信息科技(上海)有限公司 官方网站




【电力电子控制】基于强化学习的单相逆变器并网电流控制 本文将尝试以 DQN(Deep Q-Network)为例,设计并训练一个面向单相逆变器的智能控制器,实现对并网电流的精准调节。 阅读详情

相关推荐

基于AR和SLAM技术的商场智能导视系统技术原理详解

本文针对智慧商场室内导航需求,提出基于AR和SLAM技术的商场智能导视系统技术方案,实现了沉浸式导览体验并促进消费转化,助力商场运营升级。

维小帮定位导航的博客 1243

嵌入式自动化软件测试工具,一款经典的通用嵌入式系统软件自动化测试工具

该楼层疑似违规已被系统折叠隐藏此楼查看此楼通用嵌入式系统测试平台(Embedded System Interface Test Studio,简称:ESITest)是针对嵌入式系统进行实时、闭环、非侵入式测试的自动化测试平台,适用于嵌入式系统在设计、仿真、开发、调试、测试、集成验证和维护等各阶段配置项级别和系统级别的动态测试与验证。ESITest提供了针对嵌入式系统的半实物硬件在环仿真测试环境,...

weixin_34641420的博客 1711

数学建模:相关性分析学习——皮尔逊(pearson)相关系数与斯皮尔曼(spearman)相关系数

相关性分析:求解相关系数并绘制热力图进行对比

weixin_67565775的博客 8万+

嵌入式软件测试怎么实现自动化测试?

接上USB转串口工具连接电脑,打开类似于"sscom"的串口工具,打开串口看数据,然后长按主机按键,进入设置菜单,选择WiFi配网子菜单,点确定,这时候单片机就会发送配网指令给WiFi模块,串口会监控这些数据,来判断串口是否正常,以及WiFi模块是否正常,如果有数据来回,说明是正常的。如果产品一个月100K的量,如果做了半自动化测试,让每个产品的测试时间缩短20秒,那10万个产品,一共能节省200万秒,33333分钟,555小时,如果一个小时20块人工,则可以省1万多,差不多是一个初级工程师的工资了。

无际单片机编程 2120

OpenFoam实用技巧——starccm网格高效转换openfoam格式全解析

本文详细解析了如何利用OpenFOAM官方工具`ccm26toFoam`,将STAR-CCM+生成的高质量网格高效、稳定地转换为OpenFOAM格式。内容涵盖从STAR-CCM+正确导出网格、执行转换命令、解读转换日志,到转换后关键的边界条件修复与网格质量检查等全流程,旨在帮助用户规避常见错误,实现无缝工作流衔接。

weixin_28309571的博客 457

如何使用AKShare作为OpenBB的数据源

`openbb_akshare`项目是 OpenBB 的数据源扩展。可以用于查询A股和港股数据

FinAnalyzer金融分析工具 3196

python测试嵌入式_嵌入式软件测试怎么实现自动化测试?

我是做嵌入式自动化测试的,我来回答下吧。题主你的表达有点混乱,我挑出来三个问题:1、希望做测试做的高大上2、不用手工这么累3、测试做出能看到前景。我也做测试,虽然自以为也不很高大上第一个问题,换个说法就是对测试职位的职业发展的思考,确实牵涉到多方面的思考,不那么简单就可以说清楚。我就想说三个点,第一个点,基本原则,不管做什么职位的工作,想发展更好,就要想办法做到让自己不可替代性变强。至于怎么做,你...

weixin_39992665的博客 1847

动态规划法:n*m方格前进问题

在一个n*m的方格中,m为奇数,放置有n*m个数,方格中间的下方有一人,此人可按照正前方相临的五个方向(方格)前进但不能越出方格。人每走过一个方格必须取此方格中的数。要求找到一条从底到顶的路径,使其数相加之和为最大。输出和的最大值。 算法设计: 可以使用动态规划方法,从顶部开始,将第二排的每个数加上顶部第一排的最优解,将6排的问题缩小为5排的问题,然后重复该操作,直到底部最后一排,此时

Winifred_1997的博客 4675
上一篇: VectorCAST软件自动化测试方案
下一篇: 使用代码覆盖率分析度量测试的完整性
Trinitytec
博客等级 码龄11年 165粉丝 81原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值