• 0
  • 0
分享
  • 汽车ECU测试中的几个共性问题——软件测试圈
  • 橙子 2024-05-30 16:12:45 字数 2697 阅读 802 收藏 0

  最近的工作需要经常和测试打交道,但我并非这个细分领域的行家,看着几千条测试用例和五花八门的测试设备与工具,以及工程师展示的繁复曲线与图表,着实有些眼花缭乱,没太看懂,不由得陷入了深深的思索......

  1 T型人才与焦利氏称

  陷入思索有两个原因:一是确实没跟上节奏,只能佯装沉思,以掩饰尴尬,保持风度;二是汽车领域的知识太多了,没能力是一说,但也实在没必要事事跟上节奏,守好自己碗里的饭就不错了。

  可是,我们不是要构建T型知识结构,成为综合性人才嘛。那怎么办呢?

  写到这里,想到多年前的大学物理实验课,绝大多数课意料之内地忘得干干净净,但倒是记住了一堂——焦利氏称,原因是老师说的一句话,“话我照讲,实验你们照做,但你们多年后肯定记不住我们今天做了什么,只要记住一点,焦利氏称是测微小力的......”老师的反向操作倒也是6,不肖弟子把老师是谁都忘了,还记着这句话。

  这堂课的这部分,于我,是最有价值的内容,但凡我遇到测微小力的场景,我就可以快速收集整理焦利氏称的信息......否则,这么冷门的东西有几个人晓得呢?

1-1.jpg

  回到我们的T型人才,这涉及一个知识结构搭建的问题,我们得把T这一横里的那些原则性、策略性、共性的东西提炼出来,完善自己的知识和认知框架,细节嘛,择需而取。

  下面开始正题,概要讲几个ECU测试的小点。

  2 系统与软件测试的区别

  在ECU开发测试中,通常会把二者区分开来,我们从以下几个角度来看差异点:

  测试对象:软件测试是面向集成在芯片上的软件;系统测试是针对包含软件、硬件与标定的ECU。

  测试目的:软件测试是来寻找软件中的错误,证明软件本身符合软件需求;系统测试是寻找软件、硬件与标定以及结构件共同组成的ECU中的错误,证明系统符合系统需求。

  测试环境:软件测试要尽量独立于硬件,要通过诸如CANoe发送信号的模拟方式进行,尽量模拟;系统测试要尽量真实,真实的线束,真实的负载等。

1-2.jpg

  3 测试的次序

  最好呢,从V模型的最底层按次序逐层测上来,但最好的东西一般不容易得到,我们基本没有那么多时间来进行这样的瀑布式开发。

1-3.jpg

  所以得考虑一些大的原则,然后,适当地并行。

  单元级测试这种非典型测试,最好首先完成,甚至要通过工具链和代码生成进行绑定,即不达到一定的条件无法生成代码,早期一些代码逻辑的覆盖测试会极大地减少后期痛苦的返工。

  冒烟或基本功能测试是第二优先级的测试,基本可用也是开发人员基本素养的要求。

  软件功能、系统集成、系统测试可以在架构变化、接口历史问题等现实项目情况的考虑下,进行适当的并行。

  4 测试准入条件

  测试并不是想测就能测的,需要达到一定的条件才能交给测试团队,这就是测试准入条件。这些规则对于大团队协作非常重要。

  首先要看前面讲的必要测试次序及测试结果是不是满足进行更高层级测试要求。

  硬件设备已就位,比如,ECU工程样件、线束、外围传感器、对手件等。

  测试台架可用,并已经过校准。

  测试信息输入完成,比如,软硬件版本、配置参数、测试计划、交付信息等。

  标定已到位。

  文档(需求、测试规范等)完成review与基线化。

  软件交付按流程完成评审。

  5 测试准出条件

  测试不是想来就来,也不是想走就走的,我们还需要准出条件。

  准出其实是有两层含义的,第一层是正常结束,第二层是异常终止。

  5.1 正常结束

  一般,我们要同时满足以下条件,才可进行正常结束。

  所有计划的测试均已按计划执行。

  测试结果的异常项完成了分析与评审。

  发现的bug录入相应ALM工具。

  5.2 异常终止

  除了流程强制外,终止的大部分原因是考虑到成本与时间,有些情况下,测试没必要继续进行。

  软件或ECU质量太差,不足以支撑测试。

  测试开始后,发现没有满足准入条件。

  如果发现的bug会影响到某些测试的有效性,则这些测试要停下来。

  如果修复某些bug后还需要重测某些case,则这些case在修复后再进行。

  如果新的硬件或软件很快就可用(很快是多快要具体定义了),所有的测试就可停下来,等待新的软硬件。

  6 测试用例的选择

  开始测试之前,我们多数会有一个测试用例库,每版本都全测自然是带来高成本和长周期,因此,用例是需要被选择的,也就是我们总说的Delta测试。

  产品本身的风险高低,对于ASIL等级较高的产品,要强制做一些关键功能测试。

  feature的实现情况。

  已知的软硬件变化。

  工作量评估。

  前序版本、相关版本的测试状态。

  变更对未更改部分的影响。

  不同项目变体之间的调度策略。

  对于这类主观及经验属性较大的决策,每个未执行的测试用例最好都有一个的记录下来的理由。

  除了Delta测试,全功能测试的策略也应被制定出来,比如,一年至少一次全功能,SOP前完成一次全功能,平台软件升级后进行一次全功能,发版超过5版之后进行一次全功能,硬件有变化时要进行一次全功能......

  7 测试管理

  测试是一项复杂冗长的工作,必要的管理是必要的。

  7.1 测试管理

  测试管理的目标是,根据测试计划获取相应的测试交付物(例如,测试规范、测试执行、测试报告、测试评审、缺陷提交等),并且要保证交付能满足项目进度中定义的里程碑。

  7.2 测试资源

  交付物能够及时获取的一个大前提是测试资源能够得到满足,而测试资源包括人员的能力、测试设备、测试样件等。

  7.3 测试调度

  为了尽早确定可能的退出条件,必须首先执行失败概率更高的测试,比如,依次按照以下次序进行。

  ·bug重新测试

  · 测试新功能

  · 测试修改或优化的功能

  · 未改变feature的测试(回归测试)

  7.4 测试计划和监控

  基于项目进度要求以及“测试评估”和“测试调度”的结果,我们就能够给出测试阶段完成的截止日期,从而得出详细的计划。

  计划所需的详细程度取决于项目的复杂性和所涉及的测试人员的数量。

  8 双向追溯性和测试覆盖率

  每一条系统或软件的可测试需求都需要被至少一个测试用例强制覆盖。为了检查测试覆盖率,测试报告、测试规范和相应需求之间的可追溯性可借助相应的需求覆盖率工具,如Reqtify。

1-4.jpg

  如果测试覆盖不完整,则需要将信息暴露给项目层面,并完成风险评估与偏差许可。

  9 写在最后

  测试是个非常庞杂的课题,值得反复研究,限于精力与时间,本文简单总结,点到为止。


作者:佚名    

来源:http://www.51testing.com/html/36/n-7797336.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   软件测试这个行业我见过工作5年依然是初级水平的功能测试,拿着不到1W的薪资,也见过1年时间达到高级自动化水平的大牛学霸!拿着25K的薪资。  影响你薪资的有两点!  一、你的技术水平高低直接决定你薪资的多少,工作时间长短并不能直接影响你的收入,只能说你工作时间短,项目经验不够丰富而已!但薪资照样可以很高!  二、你所在的城市会对薪资有一定的影响,首先一线城市肯定比二三线城市薪资要高,毕竟生活成本也高,其实也就差不多了!  因为我本人是在北京,所以我很清楚北京的行情,大概做1年的测试初级居多,功能测试居多,薪资7-12K都是合理的~二线城市6-10K是合理的,三线城市5-7K是合理的~  不...
            0 0 972
            分享
          • 传统测试流程与敏捷测试在探讨测试左移和测试右移之前,我们先来聊一下传统的软件测试流程(瀑布模型)和目前很多公司在用的测试流程(敏捷模型)的区别。软件测试作为软件研发的一部分,有什么样的开发模式,就有与之对应测试模式。因此就有了适合传统瀑布开发模式的传统测试和适合敏捷开发模式的敏捷测试。传统测试是在程序开发完成之后,更强调测试的独立性,将开发和测试两个角色分的比较清楚,而敏捷测试更强调整个团队对测试负责。传统测试具有明显的阶段性,而敏捷测试更强调持续测试和持续质量反馈。传统测试强调测试的计划性,而敏捷测试强调测试的速度和适应性,需要不断调整测试计划以适应需求的变更。传统测试更关注测试文档,如测试...
            1 2 2246
            分享
          •   新浪科技讯北京时间2月28日早间消息,当地时间周一,Meta公司首席执行官马克·扎克伯格宣布,Meta将会组建一个顶级产品开发集团,专门关注内容生成式AI技术。  过去一段时间,科技行业普遍陷入增速放缓,上演了一场大规模裁员浪潮。面对行业低迷,一些科技企业也收缩了对新科技新产品的试验和“豪赌”。不过在一片阴霾之中,AI已成为科技行业大举投资的新亮点。  在Instagram帖子中,扎克伯格表示,Meta公司内部原来有很多研究生成式AI技术的团队,现在管理层开始把这些技术团队整合在一起,组建一个新的产品集团,目的是围绕这项技术开发出精彩的产品体验。  扎克伯格表示,Meta的长远目标是开发A...
            0 0 776
            分享
          • 蓦然回首自己做IT这个行业已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路!路其实一直都在那里,只是我们看不到而已!以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。想想有多少人对于自己将来要从事的职业和技术类型进行过深入思考和比较呢?当我跳出编码后,我开始思考和程序及程序员职业生涯相关的问题,最后发现,影响我们走入今天的困局的竟然是一些我们常常挂在嘴边的话(观念)...
            0 2 3099
            分享
          • 前言小程序直播功能,分为使用官方自带的直播组件( live-player-plugin ,无需二次开发,开箱即用),另一种就是使用自己服务器的流,自定义直播组件(live-player、live-pusher),这里主要讲述,第一种的使用一、准备第一要了解是否满足 直播开通条件基本满足开头直播条件的功能里会有直播,然后去申请开通一下就行了创建直播间这个直播码就是主播开启直播的入口,主播扫码就可以进入基本信息点击后选择手机直播推流直播创建时需要核实身份 同时开播时间必须在12小时内 第一次开通需要人脸识别验证样式配置二、开发使用引入插件原生引入在app.jison1. 主包引入 &nb...
            13 14 2670
            分享
      • 51testing软件测试圈微信