ASPICE-SWE.5软件集成测试

原创 汽车电子与软件 2023-02-07 08:00

作者 | 小鹿

出品 | 汽车电子与软件



前言


我相信在很多公司的职位架构里面,并没有单独规划集成测试这个岗位,很多都是将集成测试与系统测试合并为一个岗位,就是软件测试。如下图展示的ASPICE的过程组可知,软件过程组涉及软件集成测试与软件合格性测试,软件集成测试属于软件工程组的SWE.5,与我们的软件架构设计相对应。此篇我们着重介绍软件集成测试。

图1 ASPICE过程组

那针对软件集成测试这个岗位职位,想必大家都存在很大的疑惑,它和软件合格性测试到底存在什么区别?测试内容包含哪些?怎么执行软件集成测试?接下来就跟大家介绍一下。通过此篇文章,你可以知道:

  1. 软件集成测试是什么
  2. 软件集成测试的目的
  3. 软件集成测试的测试内容
  4. 软件集成测试的依赖对象
  5. 软件集成测试执行流程



一,什么是软件集成测试?


软件集成测试是在开发人员完成代码开发、自验证和软件单元测试之后,将软件打包集成,再交由集成测试部门完成的软件测试。单元测试关注的是软件单元;软件集成测试关注的是软件组件,是在单元测试的基础上,测试在将所有的软件单元按照架构设计规格说明的要求组装成模块、子系统或系统的过程中各部分工作是否达到或实现相应技术指标及要求的活动;主要是验证集成之后的软件中的软件组件(单元的集合)之间接口的交互,资源使用情况等,验证是否满足软件架构设计,软件测试用例是否覆盖了软件架构设计中的所有设计项;由此可知软件集成测试主要的范围依据是软件架构设计。

需要注意的一点是:在集成测试之前,单元测试应该已经完成,集成测试中所使用的对象应该是已经经过单元测试的软件单元。如果不经过单元测试,那么集成测试的效果将会受到很大影响,并且会大幅增加软件单元代码纠错的代价。
如下是代码四象限分布图示:

图2 代码四象限分布图示

  1. 单元测试负责的是领域代码部分,主要测试的是软件基本单元(如:函数),不会涉及到外部的依赖,测试的独立的一个部分。


  2. 集成测试负责依赖代码部分,是单元测试不能测试的部分,对“依赖”通俗的理解就是,存在除本身之外的强关联项。


小结:


在我们进行软件架构设计时,会设计组件之间的接口交互方式以及内容,开发人员根据软件架构设计的接口进行代码开发,集成测试人员根据软件架构设计进行接口测试,就形成了一个闭环(设计--开发--验证)。

软件集成测试就是在单元测试完成的基础上,根据软件架构设计文档,测试软件组件之间的接口设计,资源,需求等是否符合要求和指标的一项活动。


二,软件集成测试的目的


  1. 验证集成的软件中的软件组件是否符合软件架构设计
  2. 验证集成的软件中的软件组件是否符合软硬件接口协议
  3. 验证集成的软件中的软件组件是否符合特定属性要求(鲁棒性,可靠性)
  4. 验证集成的软件中的软件组件是否符合软件功能需求
  5. 验证集成的软件是否符合最初的软件技术指标



三,软件集成测试的测试内容


根据集成测试的定义可知,集成测试的主要测试内容就是组件间的接口交互,还包括基于需求的测试,注入故障测试,资源使用评估,模型和代码的背靠比较测试,验证控制流和数据流,静态代码分析等。

下面举个栗子说明组件接口的测试:

如下组件之间的动态行为(图1 时序图):

“手机APP”可以称之为我们的组件A,“TSP系统”可以称之为组件B,“车辆”可以称之为组件C(组件的定义遵循软件架构设计);


组件之间假如存在如下接口设计:

组件A的接口:*FuncA_1(......),*FuncA_2(......),*FuncA_3(......)

组件B的接口:*FuncB_1(......),*FuncB_2(......),*FuncB_3(......)

组件C的接口:*FuncC_1(......),*FuncC_2(......),*FuncC_3(......)

组件A中的*FuncA_1(......)假如是请求开车窗的函数接口;组件B中的*FuncB_1(......)是下车开窗指令的接口;组件C中的*FuncC_1(......)作为我们的结果返回。
那集成测试就是验证*FuncA_1(......),*FuncB_1(......),*FuncC_1(......)接口之间交互的正确性。组件之间的接口数据流向一般不止一条,根据时序来从正常值,异常值,边界值出发来设计不同测试用例。

图3 时序图



四,软件集成测试的依赖对象


集成测试依赖软件架构设计文档,软件需求说明文档,功能规范等作为协助。



五,软件集成测试执行流程


1,集成测试计划形成

  • 集成测试计划主要从几个方面考虑:环境搭建、测试工具部署、测试用例编制及执行,测试问题整理,测试报告编制。

2,集成测试用例编制

  • 测试用例的编制可以通过需求分析,等价类的分析,边界值的分析,基于经验或知识的错误推测等方向来考虑。

  • 需求的分析就是基于需求的理解设计测试用例,结果主要是判断这个功能是否OK;
  • 等价类的分析就是将输入输出进行分类,为分类选择代表性的数据进行验证;
  • 边界值的分析就是分析代码中设计的变量,参数等在达到边界,跨越边界时的情况,以此来判断是否符合设计要求,简单理解就是代码设计要考虑边界的所有情况,并设定不同边界情况的不同处理结果。
  • 基于经验或者知识的错误推测,就是结合自己测试的经验,以及结合同类项目的问题总结,增加额外的测试用例,覆盖更全的测试场景。


3,集成测试用例评审

  • 评审测试用例的设计是否覆盖软件架构设计中所有设计项,对软件架构的覆盖度。
  • 评审测试用例是否覆盖所有的功能需求
  • 评审测试用例的充分性
  • 还可以结合自己公司的要求,评审测试用例的合规性
  • 评审测试用例设计的测试环境是否与目标环境大致类似


4,执行测试用例
  • 执行测试用例的前提条件是测试环境以及测试工具部署好。集成测试前期最重要的工作之一就是部署测试工具链,根据测试的内容不同,使用的测试工具也是有差异的,汽车行业常用的测试工具为CanOe,劳巴,PCAN,E2等等。


5,编制测试报告
  • 测试报告着重体现测试内容,测试用例执行率,通过率,问题关闭率等。根据公司要求进行输出。



六,思考:软件集成测试的必要性


所有的软件项目都不能摆脱系统集成这个阶段。不管采用什么开发模式,具体的开发工作总得从一个一个的软件单元做起,软件单元只有经过集成才能形成一个有机的整体。具体的集成过程可能是显性的也可能是隐性的。只要有集成,总是会出现一些常见问题,工程实践中,几乎不存在软件单元集成过程中不出任何问题的情况。同时集成测试需要花费的时间远远超过单元测试,由图2可知单元测试与集成测试关注的是不同的内容,因此直接从单元测试过渡到系统测试是极不妥当的做法,集成测试也是我们代码质量的保证之一。

开始集成测试的前提条件是完成单元测试,单元测试通过之后再进行集成测试是否问题数是0呢,我相信答案肯定是“NO”,这就是为什么需要做集成测试的原因。单元测试的场景并不能覆盖集成测试场景,一般情况下集成测试发现的问题数量是大大超过单元测试的,单元测试只是测试单个个体,独立测试都没问题,但是集成之后反而存在很多问题,那是因为集成之后存在很多的外部关联,外部关联是否测试通过是影响最后测试结果的重要因素之一。一个有效的集成测试有助于解决相关的软件与其它系统的兼容性和可操作性的问题。

单元测试是开发工程师完成的,集成测试是单独由集成测试部分完成的,不建议集成测试和单元测试由相同的人员完成。


添加下方微信加入汽车研发管理交流群
(仅限专业人士)
添加备注姓名+公司+领域


汽车电子与软件 主要介绍汽车电子软件设计相关内容,每天分享一篇技术文章!
评论
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-12 10:13 17浏览
  • 首先在gitee上打个广告:ad5d2f3b647444a88b6f7f9555fd681f.mp4 · 丙丁先生/香河英茂工作室中国 - Gitee.com丙丁先生 (mr-bingding) - Gitee.com2024年对我来说是充满挑战和机遇的一年。在这一年里,我不仅进行了多个开发板的测评,还尝试了多种不同的项目和技术。今天,我想分享一下这一年的故事,希望能给大家带来一些启发和乐趣。 年初的时候,我开始对各种开发板进行测评。从STM32WBA55CG到瑞萨、平头哥和平海的开发板,我都
    丙丁先生 2024-12-11 20:14 68浏览
  • 近日,搭载紫光展锐W517芯片平台的INMO GO2由影目科技正式推出。作为全球首款专为商务场景设计的智能翻译眼镜,INMO GO2 以“快、准、稳”三大核心优势,突破传统翻译产品局限,为全球商务人士带来高效、自然、稳定的跨语言交流体验。 INMO GO2内置的W517芯片,是紫光展锐4G旗舰级智能穿戴平台,采用四核处理器,具有高性能、低功耗的优势,内置超微高集成技术,采用先进工艺,计算能力相比同档位竞品提升4倍,强大的性能提供更加多样化的应用场景。【视频见P盘链接】 依托“
    紫光展锐 2024-12-11 11:50 69浏览
  • 天问Block和Mixly是两个不同的编程工具,分别在单片机开发和教育编程领域有各自的应用。以下是对它们的详细比较: 基本定义 天问Block:天问Block是一个基于区块链技术的数字身份验证和数据交换平台。它的目标是为用户提供一个安全、去中心化、可信任的数字身份验证和数据交换解决方案。 Mixly:Mixly是一款由北京师范大学教育学部创客教育实验室开发的图形化编程软件,旨在为初学者提供一个易于学习和使用的Arduino编程环境。 主要功能 天问Block:支持STC全系列8位单片机,32位
    丙丁先生 2024-12-11 13:15 63浏览
  • 本文介绍瑞芯微RK3588主板/开发板Android12系统下,APK签名文件生成方法。触觉智能EVB3588开发板演示,搭载了瑞芯微RK3588芯片,该开发板是核心板加底板设计,音视频接口、通信接口等各类接口一应俱全,可帮助企业提高产品开发效率,缩短上市时间,降低成本和设计风险。工具准备下载Keytool-ImportKeyPair工具在源码:build/target/product/security/系统初始签名文件目录中,将以下三个文件拷贝出来:platform.pem;platform.
    Industio_触觉智能 2024-12-12 10:27 21浏览
  • 全球智能电视时代来临这年头若是消费者想随意地从各个通路中选购电视时,不难发现目前市场上的产品都已是具有智能联网功能的智能电视了,可以宣告智能电视的普及时代已到临!Google从2021年开始大力推广Google TV(即原Android TV的升级版),其他各大品牌商也都跟进推出搭载Google TV操作系统的机种,除了Google TV外,LG、Samsung、Panasonic等大厂牌也开发出自家的智能电视平台,可以看出各家业者都一致地看好这块大饼。智能电视的Wi-Fi连线怎么消失了?智能电
    百佳泰测试实验室 2024-12-12 17:33 25浏览
  • 时源芯微——RE超标整机定位与解决详细流程一、 初步测量与问题确认使用专业的电磁辐射测量设备,对整机的辐射发射进行精确测量。确认是否存在RE超标问题,并记录超标频段和幅度。二、电缆检查与处理若存在信号电缆:步骤一:拔掉所有信号电缆,仅保留电源线,再次测量整机的辐射发射。若测量合格:判定问题出在信号电缆上,可能是电缆的共模电流导致。逐一连接信号电缆,每次连接后测量,定位具体哪根电缆或接口导致超标。对问题电缆进行处理,如加共模扼流圈、滤波器,或优化电缆布局和屏蔽。重新连接所有电缆,再次测量
    时源芯微 2024-12-11 17:11 106浏览
  • 应用环境与极具挑战性的测试需求在服务器制造领域里,系统整合测试(System Integration Test;SIT)是确保产品质量和性能的关键步骤。随着服务器系统的复杂性不断提升,包括:多种硬件组件、操作系统、虚拟化平台以及各种应用程序和服务的整合,服务器制造商面临着更有挑战性的测试需求。这些挑战主要体现在以下五个方面:1. 硬件和软件的高度整合:现代服务器通常包括多个处理器、内存模块、储存设备和网络接口。这些硬件组件必须与操作系统及应用软件无缝整合。SIT测试可以帮助制造商确保这些不同组件
    百佳泰测试实验室 2024-12-12 17:45 19浏览
  • RK3506 是瑞芯微推出的MPU产品,芯片制程为22nm,定位于轻量级、低成本解决方案。该MPU具有低功耗、外设接口丰富、实时性高的特点,适合用多种工商业场景。本文将基于RK3506的设计特点,为大家分析其应用场景。RK3506核心板主要分为三个型号,各型号间的区别如下图:​图 1  RK3506核心板处理器型号场景1:显示HMIRK3506核心板显示接口支持RGB、MIPI、QSPI输出,且支持2D图形加速,轻松运行QT、LVGL等GUI,最快3S内开
    万象奥科 2024-12-11 15:42 83浏览
  • 习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习笔记&记录学习习笔记&记学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记录学习学习笔记&记
    youyeye 2024-12-11 17:58 83浏览
  • 在智能化技术快速发展当下,图像数据的采集与处理逐渐成为自动驾驶、工业等领域的一项关键技术。高质量的图像数据采集与算法集成测试都是确保系统性能和可靠性的关键。随着技术的不断进步,对于图像数据的采集、处理和分析的需求日益增长,这不仅要求我们拥有高性能的相机硬件,还要求我们能够高效地集成和测试各种算法。我们探索了一种多源相机数据采集与算法集成测试方案,能够满足不同应用场景下对图像采集和算法测试的多样化需求,确保数据的准确性和算法的有效性。一、相机组成相机一般由镜头(Lens),图像传感器(Image
    康谋 2024-12-12 09:45 74浏览
  • 一、SAE J1939协议概述SAE J1939协议是由美国汽车工程师协会(SAE,Society of Automotive Engineers)定义的一种用于重型车辆和工业设备中的通信协议,主要应用于车辆和设备之间的实时数据交换。J1939基于CAN(Controller Area Network)总线技术,使用29bit的扩展标识符和扩展数据帧,CAN通信速率为250Kbps,用于车载电子控制单元(ECU)之间的通信和控制。小北同学在之前也对J1939协议做过扫盲科普【科普系列】SAE J
    北汇信息 2024-12-11 15:45 108浏览
  • 铁氧体芯片是一种基于铁氧体磁性材料制成的芯片,在通信、传感器、储能等领域有着广泛的应用。铁氧体磁性材料能够通过外加磁场调控其导电性质和反射性质,因此在信号处理和传感器技术方面有着独特的优势。以下是对半导体划片机在铁氧体划切领域应用的详细阐述: 一、半导体划片机的工作原理与特点半导体划片机是一种使用刀片或通过激光等方式高精度切割被加工物的装置,是半导体后道封测中晶圆切割和WLP切割环节的关键设备。它结合了水气电、空气静压高速主轴、精密机械传动、传感器及自动化控制等先进技术,具有高精度、高
    博捷芯划片机 2024-12-12 09:16 80浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦