当前位置: 主页 > 建站知识 > APP开发

软件流程-软件功能测试流程

发布时间:2023-05-31 10:08   浏览次数:次   作者:佚名

核心提示:ASPICE是软件过程改进和能力评定的标准,维克多咨询服务产品线总监(大中华区)王振从“5W+2H”七个方面对ASPICE进行了详细讲解,为大家介绍了如何认识和理解ASPICE,以及怎样将ASPICE引入到汽车软件的开发流程当中。

ASPICE是软件过程改进和能力评定的标准,维克多咨询服务产品线总监(大中华区)王振从“5W+2H”七个方面对ASPICE进行了详细讲解,为大家介绍了如何认识和理解ASPICE,以及怎样将ASPICE引入到汽车软件的开发流程当中。

软件开发流程如何满足ASPICE标准

王 振 | 维克多咨询服务产品线总监(大中华区)

以下为演讲内容整理:

维克多咨询在全球范围内为不同国家和地区的客户提供咨询服务,涵盖汽车、航空航天、IT、金融、医疗等等不同行业。在帮客户做咨询的过程中有以下业务内容,第一是转型,比如帮客户引入ASPICE;第二是可信,包括功能安全、网络安全的解决方案;第三是新技术,例如帮助客户快速步入AUTOSAR领域,以及包括基于工具的生命周期管理咨询服务;第四是针对以上三点提供企业能力计划和培训、辅导、认证。

维克多咨询的客户主要是OEM、Tier1软件流程,以及非汽车行业的客户(如空客等)。在中国区维克多咨询现在主要关注三个方面,第一是网络安全,包括分析、测试、体系建设与认证业务等;第二是功能安全,包括过程和审核等;第三是ASPICE过程改进和评估等。

5W2H for ASPICE

ASPICE目前由德国汽车协会下属的质量管理中心负责商标管理,接下来我们通过5个W、2个H来剖析ASPICE。第一,什么是SPICE、ASPICE?第二,为什么要做ASPICE,有什么动机和好处?第三,针对谁做ASPICE?第四,什么时候可以做ASPICE,时间轴是什么?第五,谁会参与到ASPICE中,具有什么职责?第六,怎么去做,分几个阶段做ASPICE?第七,做ASPICE需要投入什么?

What:SPICE是软件过程改进和能力评定的缩写,关注的就是系统和软件的研发,具体在应用中可以分为两个部分,针对企业内部的流程和质量改进,以及针对供应商的质量保险和能力确定。ASPICE中的A是汽车,SPICE不限行业,ASPICE就是在SPICE基础上讨论汽车领域软件,包括系统如何开发。

在具体做ASPICE的过程当中有两个文件是至关重要的,第一是白色封面的文件,主要是讲ASPICE里有哪些过程,以及过程评估模型,另一个是蓝金色的文件,主要介绍怎么对ASPICE进行评估。

软件开发流程如何满足ASPICE标准

图源:嘉宾演讲材料

整体来说,ASPICE主要讲了两个维度三个方面的内容。其中X轴表达了在ASPICE中的32个过程,其中16个过程是德国汽车工业协会推荐需要关注的,也是现在厂商在做ASPICE评估的时候需要着重发力的点,可以看到主要都是和工程过程相关,比如系统开发、软件开发、PM相关的过程等等。Y轴主要讲的是评估框架体系,ASPICE共有六个等级,首先是Level 0,其流程是临时和混乱的,所以得到的结果也是未知的、不稳定的;Level 1在输入和输出之间建立了一定的步骤及过程;Level 2在Level 1的基础上,工作过程和产品由PM管理,保证时间、成本、内容和质量;Level 3在Level 2之上,从项目过渡升级到企业整体标准流程,通过定制化和裁剪,针对不同的项目依次进行过程落地;L4和L5现在性价比较低。目前行业里实践过程已经达到L3的水平。XY轴之间的象限就是在讲基于ASPICE各个过程如何进行评估打分。

Why:做ASPICE的动机是什么,为什么要做?共四个动机,第一是客户要求;第二是要做市场营销;第三是想要改进,通过提升和优化流程进而提高效率和质量;第四是想做一些新的尝试。

ASPICE真正能否带来效益的点在于,第一是建立结束后是否真能将其利用起来,第二是流程搭建质量决定了ASPICE的效果。根据宝马多年统计的数据结果显示,应用ASPICE的成本增加9%,但bug减少30%,维护工作量减少30%。过程成熟度更高,有助于尽早解决问题,同时会具有更高的产品成熟度,降低后期维护成本。

Where:针对什么做ASPICE。第一是系统和软件开发,也可以过渡到硬件工程、机电工程等领域,未来ASPICE新的版本就会包含软件、硬件和系统等内容;第二是针对过程而非产品,过程是ASPICE实施和评估的基础,ASPICE体系引入并不能保证产品完美,但肯定具有促进效果,而并非必然的相互关系;第三是针对于项目,ASPICE只针对某个项目,评估结果不能在项目之间进行转移和传递。

When:什么时候做ASPICE。起点可以是过程中的任意时间点,首先搭好框架,以便提高后面的效率和质量;在进行时,根据过程的数量以及不同供应商落地的时间,比如,CL0到CL1是12个月以上,CL1到CL2是6个月以上,CL2到CL3是6个月以上;流程搭建结束只是一个节点,也是漫长的流程改进的开始,更多的是在未来的开发过程当中,需要不断的演进过程成熟度,因为过程依赖人员变动以及人员效率的优化,要不断的进行磨合,评估结果并持续改进。比如OEM和供应商之间纳入了ASPICE的体系后,每一个项目中都会有ASPICE的评估,所以在未来ASPICE会变成开发过程中的重要环节。

Who:谁会参与到ASPICE过程中。在管理层面来说,过程和流程是无形的,需要理解其重要性,有且只能由管理层认识到它的价值,并且长时间坚持执行下来,推动这件事情的落地实施;在具体操作层面来说,由执行ASPICE的关键人物,例如PM来计划、监督和调整各项活动;最后是流程级别层面,无论是需求、架构还是开发测试,这些流程实施方都需要及时反馈问题,效率提升后,能避免复杂且具有重复性的工作,提高质量,让开发进度达到要求水平,不断优化ASPICE建设。

How:怎么去做,分几个阶段做ASPICE?第一是开始,做ASPICE的动机、目标和作用域是什么?第二是分析软件流程,开发、测试的过程对比ASPICE是不是按照要求的过程进行的,还需要识别gap;第三是定义,当发现gap后怎样根据客户的要求完成定义、指定流程、验收,最终审批的过程;第四是实现,首先为相关工作人员进行培训训练,包括QA相关过程和人员介入;第五是测试,评估结果是否达到预期;第六是维护,针对ASPICE优化整个生命周期流程,进行维护。

软件开发流程如何满足ASPICE标准

图源:嘉宾演讲材料

How much:做ASPICE需要投入什么?首先是成本投入,根据供应商之间的差异,可达数十万或几百万量级;其次是人力成本投入,基于建设差异,建议每个流程和过程至少有一个负责人;最后是基础设施及工作环境投入,工具、软件、许可证等等。

ASPICE为融入safety和security的过程搭建了基本框架,未来在整合safety、security新技术时,都能够快速有效且保质保量的把新技术融入到既有框架当中。

总结

ASPICE中反复提到跟工程过程相关的两个概念,第一是一致性,第二是可追踪性。

软件开发流程如何满足ASPICE标准

图源:嘉宾演讲材料

一致性和可追踪性,既有纵向也有横向。可追踪性就是一个测试过程对应一个需求过程,而且可追踪性是双向的,如何从需求衍生出的测试,测试又验证了哪条需求;一致性就是不同的人对同一个事情有相同的理解和认识,建立一致性能够有效的避免因为认识的不同,而导致落地方案的不同。

软件开发流程如何满足ASPICE标准

图源:嘉宾演讲材料

(以上内容来自维克多咨询服务产品线总监(大中华区)王振于2023年5月9-10日在2023捷途汽车电子架构与智能驾驶论坛发表的《满足ASPICE标准的软件开发流程》主题演讲。)