编辑:[db:作者] 时间:2024-08-25 04:46:22
来源:侯哥事情感悟
1. 弁言
随着新车型的功能和需求在不断增加,汽车上的电子掌握器多达150个,到2030年,有专家预言汽车将拥有大约3亿行软件代码。比较之下,本日的汽车有大约1亿行代码。从另一个角度比拟来看,一架客机估计有1500万行代码,一架当代战斗机约为2500万行,大众市场PC操作系统靠近4000万行。
作为整车厂都是-我们有一个俏丽的梦想——我的产品功能逻辑完美,性能出众,系统稳定可靠,用户体验棒棒哒!
可从现实情形来看,用一句话来形容:空想很完美,现实很残酷。
整车厂里一个不公开的秘密,便是早期的用户,准确点来说大约是新车投产6个月内,乃至是一年旁边的韶光,那些用户实际上是担当着O新车型一个类似实验的小白鼠角色—-虽然提及来有点扎心早期的用户在率先体验的同时,也有很大几率在经受着诸如黑屏,网络连接问题,行车赞助系统时时时的跳出一些警报给你一些惊喜.....,这些还算是可以接管的,但更有严重一些的,如车辆在路上抛锚,自动驾驶故障直接把车辆损毁,这些问题就不仅仅是体验不好了,乃至是危及到生命了!
虽然问题发生了我们可以找到很多情由—没错,从人的趋利避害的本性来讲,我们更喜好把这个任务推到其他地方去,比如开拓设计的不合理,供应商零件质量,用户利用不当,环境太繁芜等等。但从实质上来讲,所有这些问题,整车厂的卖力测试的团队是脱不了干系的。
以是下面的系列文章是关于汽车测试的一些先容和思考,为从事测试或对汽车测试感兴趣的同仁们供应一些参考。
2. 测试的评价模型
谈到汽车测试,首先要搞清楚测试的质量目标是什么,或者说,对付测试的工具要用什么样的指标来评估。汽车软件测试所采取的评价模型实际上也是参照软件行业的标准,用”ISO/IEC 9126 – 软件质量模型”来评估汽车上的软件质量的,这个标准后来在2011年被新的”ISO/IEC 25010-系统和软件质量模型” 这个评估模型从6个方面(质量特色)来对一个软件的质量进行评价:功能性,可靠性,易用性,效率性,掩护性和可移植性,详细的解读大家可以在网上查找干系资料。
目前对付汽车上的软件测试更多的是集中在功能性维度,但随着系统繁芜性的增加,比如信息娱乐系统从最初的基本功能发展到基于Linux或QNX等,包含云端交互,在线音乐,导航,语音对话等功能。测试事情不仅是要担保功能逻辑的精确性,更主要的是,要担保系统的可靠和稳定,兼容性和性能表现良好。普通的讲,便是不仅歌要唱得好,舞也要跳得好,颜值也得跟上…
以是这种情形下,汽车软件测试至少要关注这些方面:
功能性能属性可靠性兼容性稳定性可规复,或者说出错时系统如何相应3. 软件测试有哪些?如大家所熟习的,汽车电器系统/软件的测试一样平常来说大致可分为3个测试层级: 单件测试,系统测试和整车测试。
如果再进一步细化,单件测试还可划分成代码测试,软件单元测试以及集成测试。
在系统层级的测试可以从单一的子系统测试-如外部灯光系统测试-到包含多个子系统的功能域的测试,比如车身域测试,信息娱乐域测试。
关于整车层面的测试,实际上,还可以细分为从研发部门的角度,进行的整车功能、属性特色,主不雅观评价等等方面的测试,以及从质量验收或用户角度,进行的质量验收性测试。
除此之外,对付整车电器系统,还有些测试的内容时涵盖了从单件到整车,如总线协议,网络通信,网络管理,诊断刷写等。
在这些测试中,一样平常来说单件测试的事情是由供应商卖力保障的,系统和整车集成的测试是作为整车厂所关注的。但随着这些年的发展,一些整车厂也开始做起了单件的软件开拓,以是一些单件测试的能力也开始逐步建立了。
4. 测试的类型
如前所提到的,测试存在多个层级,另一方面,我们知道还存在着各种类型的软件测试,例如功能测试,非功能测试,自动化测试,敏捷测试及其子类型等。
我们在测试过程中都会碰着几种类型的测试。我们可能听过一些,大概已经做了一些事情,但并不是每个人都理解所有测试类型
每种测试都有其自身的功能,优点和缺陷。下面便是关于在日常测试中常日利用的一些测试类型。
功能测试类型包括:
单元测试集成测试系统测试完全性测试冒烟测试接口测试回归测试验收测试非功能测试类型包括:
性能测试负载测试压力测试安全测试兼容性测试规复测试可靠性测试可用性测试同等性测试上述软件测试类型只是测试的一部分。实际上,在软件行业,至少有超过100多种的测试类型。此外,并非每个的项目都利用所有测试类型。因此,上面也只罗列了一些比较常见的软件测试类型。
同样,不同的团队对一些测试类型的描述和定义也是不同的,但对实在质或是基本的目的是同等的。随着项目,需求和范围的变革,这些测试类型,过程及实在现方法会不断变革。
5. 测试的技能和方法
关于测试的方法和测试技能,是可以从很多方面去谈论的。下面只是大略的先容一些观点和方法。
1. 从测试的是否关注软件的内部构造的角度来看,可划分为白盒测试,黑盒测试以及灰盒测试 – 非黑即白是小孩子的思维,成年人的天下当然要成熟一些,以是我们不只有黑盒,白盒,还要掺杂着搞一下。
白盒测试是基于有关软件/程序代码内部逻辑的知识进行的测试,更多的时候是开拓职员采取这种测试技能来检讨实际的代码。测试的覆盖范围从代码语句,分支,路径,条件等方面,大概便是下面这个样子.
关于白盒测试,作为主机厂的小伙伴们,是不是对这个有点懵逼?没做过,啥子鬼东西?以是在常日情形下,白盒测试更多地发生在供应商的单件层级。
黑盒测试是基于需求和功能进行的测试,紧张在测试职员来设计和实行,测试关注的是测试的重点是全体系统的功能,当然,也可以是非功能性的方面。
黑盒测试在全体开拓和测试生命周期中都会被采取,即在单元,集成,系统,验收和回归测试阶段。
除了上述两种测试方法外,还有一种介于白盒测试与黑盒测试的测试方法,即所谓的灰盒测试。灰盒测试同时关注输出对付输入的精确性和内部表现两方面,但这种关注不像白盒测试那样详细和完全,只是通过一些表征性的征象、事宜、标志来判断内部的运行状态。有时候虽然输出的结果是精确的,但内部实在已经缺点了,如果每次都通过白盒测试来操作,效率会很低,因此须要采纳这样灵巧的测试方法
2. 从测试实行过程是否有人工参与的角度来看,测试方法还可以分为自动化测试,手动测试以及半自动测试(也便是自动测试加手动测试)。
a.自动测试,便是将大量重复性的测试事情交由自动化,测试件去完成。常日便是利用自动化测试环境,编写测试脚本,仿照手动的测试步骤,利用软件去掌握完玉成体的测试内容。这种测试方法更多的是运用在单件测试以及系统测试。
b.手动测试,便是由测试职员按照事先编写的测试目录,根据测试用例中描述的测试步骤和方法,手工的一个一个地实行测试,包括与被测试工具进行交互,不雅观察测试结果。手动测试的方法更多的是运用在系统测试以及整车测试方面,虽然这种测试方法比较原始,但是在主机厂中是非常主要而且必要采取的一种测试方法。
c.除此而外,还有一种所谓的半自动测试,这个有两个含义,一个是在自动测试过程中,有些场景须要手动输入测试用例或选择测试路径,再由自动测试程序按照人工制订的哀求完成自动测试。另一个是在一些自动测试环境中,某些场景的测试用例无法用自动测试程序掌握去完成,须要手动实行,比如一些须要交互的场景等。这种测试方法多运用在有多个别系交互或者功能域的测试环境。
6. 测试的阶段
软件测试在软件行业有一个术语叫做“Software Testing Life Cycle(STLC)- 软件测试生命周期”,其是一个测试过程,按确定的顺序进行的测试活动,以知足测试质量的目标哀求。软件测试生命周期可划分成多少个阶段,在不同的公司,按照各自的实际情形,划分成6-8个阶段。只管划分的阶段不尽相同,但实在质的哀求还是相同的。
下面是一个常见的测试阶段划分:
在整车厂的软件测试有着类似的阶段划分,但在实际事情中,没有那样严格的阶段划分,更多的时候,是按照整车的开拓流程,在相应的里程碑点进行干系的测试活动。
大体上,可以按照测试操持、测试准备和测试履行三个阶段来定义。
测试操持,大略的讲,便是用来如何来进行项目开拓中的测试活动的一个方案文档。测试操持定义了项目范围和测试重点。基本上,它涉及测试范围,测试的内容,估计,操持和资源管理,也包含了测试策略,风险管理等一系列内容。
虽然现在大家已经普遍认识到,一个好的测试操持非常主要,但在实际事情中,更多的时候,我们制订的试验操持差强人意,每每不能按操持实行,或者是涌现意外时,根本无法按操持实行下去。
测试的第二个阶段是测试准备阶段,这个阶段紧张是确定测试目录,编写测试用例和搭建测试环境。关于测试目录,很多大公司是从测试系统中,在已有的测试用例库中进行筛选,确定这个项目的测试目录。但很多时候,也有一些公司是根据开拓的文档编写测试用例,形成测试目录的。
关于测试环境的搭建,依据不同的测试类型,会涉及到了零件,线束,自动扮装备,程序脚本,软件,工具等方面,如下图便是一个大致的搭建过程。
在一些公司会有专门的支持团队来做这项事情,不过也有的公司是由测试团队来卖力这项事情。在完成测试环境搭建后,就可以开始履行测试了。
测试的实行本身倒是很随意马虎理解,作为测试的卖力人,须要关注这几个方面
测试的过程管理, 问题的创造,记录,剖析和解决。
测试的质量管理,测试报告,测试总结和回顾
一样平常来说,现在很多公司都会建立了专门的问题管理系统和测试管理系统,在这个环节来保障测试活动,确保终极的产品交付质量。
7. 总结
整车厂的软件测试和软件行业的软件测试是不同的,虽然有相似之处,但是绝对不能完备照搬。汽车行业在虽然是”新四化“的趋势下,软件越来越主要,很多人也开始喜好套用软件行业那一套来看待汽车的软件测试。但作为测试职员,还是要有复苏的认识,方法和思路可以学习借鉴,但绝对不能照搬,否则一塌糊涂。
以上紧张是对测试的评价指标,测试体系,测试类型,技能和方法以及全体测试阶段进行了大体的先容,希望对大家理解软件测试内容有所帮助。
后续会结合测试的阶段,对测试操持,测试策略,测试环境搭建,测试实行以及一些工具软件等方面再做一些谈论。
本站所发布的文字与图片素材为非商业目的改编或整理,版权归原作者所有,如侵权或涉及违法,请联系我们删除,如需转载请保留原文地址:http://www.baanla.com/xyj/126693.html
上一篇:签订装修保修合同这五方面要留心
下一篇:返回列表
Copyright 2005-20203 www.baidu.com 版权所有 | 琼ICP备2023011765号-4 | 统计代码
声明:本站所有内容均只可用于学习参考,信息与图片素材来源于互联网,如内容侵权与违规,请与本站联系,将在三个工作日内处理,联系邮箱:123456789@qq.com