汽车EBSE测试流程分析(三):通过系统调研确定改进方案

news2024/10/7 9:16:32

EBSE专题连载共分为“五个”篇章。此文为该连载系列的“第三”篇章,在之前的“篇章(二)”中已经分析了EBSE步骤一:关于优势和挑战的案例研究。在本篇章(三)中,我们将结合具体研究实践,详细阐述“EBSE步骤二,通过系统调研确定改进方案”等内容。

汽车EBSE测试流程分析(一):汽车软件测试的特征和问题icon-default.png?t=N658https://blog.csdn.net/NewCarRen/article/details/130137367?spm=1001.2014.3001.5502

汽车EBSE测试流程分析(二):关于优势和挑战的案例分析icon-default.png?t=N658https://blog.csdn.net/NewCarRen/article/details/131374011?spm=1001.2014.3001.5502

5.EBSE 步骤二:通过系统调研确定改进方案

本节描述了我们在系统文献综述和价值流映射中,改进测试过程的方法的目的和设计。这部分的研究问题是RQ3:文献中基于实践经验对汽车测试过程提出了哪些改进建议?

在专题连载篇章(二)的第4节中,我们确定了行业中与软件测试相关的挑战。在本节中,我们介绍EBSE步骤二。我们执行特定领域的系统文献审查以研究最新技术水平。其次,我们根据审查结果创建解决方案提案以应对已确定的挑战。这样做是源于基于证据的软件工程精神:在创建诊断和解决方案建议时需要参考证据库。

5.1.系统文献综述(SLR)

我们的SLR的目的是确定汽车软件领域的测试相关问题,以及已在行业中提出和应用的解决方案。我们的SLR设计包括以下几个步骤。我们的SLR基于研究人员提供的指南,但我们没有排除基于质量的研究,因为我们的目标是确定所有基于行业经验的潜在解决方案,而不是因为缺乏报告的流程等放弃它们。

我们调研文献的步骤是:

• 定义审查的研究问题

• 论文识别

• 研究选择

• 解决方案和识别出来的挑战的映射

5.1.1. 论文识别

在这一步中,我们制定了搜索词,以便它们能够识别研究论文。搜索词是在数字图书馆中的几次测试搜索中详细验证的。为此,我们使用了五个不同的搜索字符串(见表6)。前两个字符串标识有关汽车领域测试的文章,以及支持汽车软件开发的基于模型的工具,以涵盖与测试相关的挑战领域的解决方案。确定的需求问题是非常普遍的需求问题,但对测试有影响。因此,这些也包含在单独的搜索字符串中。鉴于一些项目以敏捷的工作方式进行,这被认为是一种优势,我们还寻找了与汽车敏捷相关的研究。

表6:搜索字符串

搜索字符串应用于IEEEXplore、ACM数字图书馆、Springerlink、ScienceDirect和Wiley Interscience数据库中的标题和摘要。我们没有在全文上应用搜索字符串,因为发现这种方法通常会产生太多不相关的结果。

5.1.2.研究选择

为了选择与我们的目标相关的论文,我们制定了纳入/排除标准。首先,我们排除了2000年之前发表的非英文论文(鉴于近年来汽车包含大量软件,挑战与最近的研究更相关)以及没有全文的文章。由于我们的目标是寻找同行评审文献中提供的问题和解决方案,因此我们排除了编辑注释、评论等。由于我们打算寻找在行业中应用的解决方案,因此我们收录了一些解决方案在产业,特别是汽车软件领域进行了实证评估的论文。纳入研究的一个主要标准是他们提出了与软件测试相关的问题的解决方案。软件测试是指跨越整个软件开发生命周期的任何V&V活动(需求验证、测试用例生成、单元或回归测试等)。为了确保满足这些标准,根据清单过滤了论文。

• 论文是英文的吗?

• 论文有全文吗?

• 论文是在2000年或之后发表的吗?

• 研究汽车软件领域的背景是什么?

• 论文是否讨论了与任何软件V&V相关的任何问题和解决方案或工具?

• 论文是否包含行业背景下的实证评估?

搜索SLR 1和SLR 2得到221篇关于SLR 1的论文和66篇关于SLR 2的论文。表7显示了跨数据库的主要研究分布概览,还显示了最终选择的研究数量。

搜索SLR 3、SLR 3和SLR 4分别得到301、12和107篇论文。表8给出了概述。

5.1.3.基于系统调研的解决方案

我们将SLR中确定的挑战和提供的解决方案映射到访谈中发现的挑战。此外,我们还陈述了在本研究中发现挑战的其他参考资料。这些内容如表9所示。根据我们的SLR,我们提出了七个解决方案建议。需要指出的是,通常不可能针对每个问题都有一个单一的解决方案。这完全取决于项目的类型和团队采用的怎样的策略(例如资源管理、预算管理)实施这些解决方案。

与解决方案建议相关的参考数量取决于信息的可用性。当我们创建类别时,我们的目标是不要有一个需要小/简单解决方案的类别和另一个涵盖大面积解决方案的分类。尽管测试管理(SP7)只有一个参考,但我们认为研究的重点是测试管理与测试自动化和工具一样大的范围,看看它的复杂性和解决它的难度。总的来说,问题的范围是决定类别颗粒度的基础。

SP1:需求管理 (RM):总的来说,我们发现良好的需求是汽车软件开发中良好测试的先决条件。可以通过更好的需求管理来解决与需求相关的问题,例如本专题连载篇章(二)的需求不明确 (C03_1)、需求波动性(C03_2)、需求可追溯性(C03_3)。此外,我们可以理解,质量属性规范问题(C08_2)以及客户沟通问题(C06_1和C06_3) 可以通过需求工程领域的想法得到改进。我们的特定领域SLR能够找到许多解决这些问题的方法(见表9)。例如,来自戴姆勒-克莱斯勒1的Grimm建议尽早模拟需求并从规范中导出测试用例,并建议在整个软件开发生命周期中跟踪和管理需求;研究人员提出并评估了一种方法,其中基于文本的用例是在来自不同利益相关者的访谈中引出的,以引出和指定用户对汽车软件的需求;研究人员提出了软件、功能、系统和车辆的抽象级别。每个抽象级别的每个要求依次链接到系统目标和场景。

表7:选定研究的数量(SLR 1、SLR 2)

表8:选定研究的数量(SLR 3、SLR 4、SLR 5)

SP2:能力管理(CM):确定能力管理是为了解决一些挑战。我们根据缺乏专职测试人员(C04_1)、缺乏测试人员(C04_2)、知识转移(C05_1)和缺乏基本测试知识(C05_2)等问题确定了能力管理需求。研究人员仅找到了一个特定领域的SLR来源,他们提出了让专家参加与项目中经验不足的测试人员共享知识和专业知识的方法,例如,建议举办研讨会,测试团队与专家交流测试信息,将工具作为非正式培训的一种方式。

SP3:质量保证与标准:质量保证和标准也可以帮助解决一些问题。研究人员为汽车软件工程提出了瀑布式流程,其中通过对设计、实施和测试阶段产生的人工制品进行同行评审来执行质量保证。为此,戴姆勒-克莱斯勒为其汽车项目开发了自己的软件质量管理手册,有助于解决C01_1/C01_2问题,这些问题与缺乏统一的测试过程定义和测试规划有关。ISO 26262(道路车辆功能安全)标准定义了需求规范、架构设计、实施和测试、系统集成和验证的人工制品和活动。该标准还规定了需求验证的正式方法的使用、设计和控制流分析的符号、测试用例生成和在环验证机制的使用,例如硬件在环、软件在环(与测试设备上的挑战C07_3有关)。

表 9:挑战领域与解决方案参考的映射(C01-C010参见本专题连载篇章(二))

SP4:测试自动化和SP5:测试工具部署:自动化显然是行业中最重要的问题之一,并且有大量研究描述了实践的状态(C07_1)。如表9所示,已经在汽车领域提出并使用了许多测试自动化解决方案。例如,针对具有高安全性和可靠性要求的系统(C08_1)提出了基于模型的黑盒测试;许多作品提出了进化测试作为自动化功能测试挑战的解决方案,并已在戴姆勒-克莱斯勒使用名为AUSTIN的工具成功实施(C07_2);此外,还提出了其他类型的测试和质量保证工具,例如分类树编辑器CTE,用于功能测试用例设计的系统方法;软件设计过程的半自动安全性和可靠性分析,已在沃尔沃涉及52项主动安全功能的案例研究中得到验证;以及用于资源使用和时序分析的工具(C08_1)。总的来说,可以得出结论,当谈到测试自动化或工具时,不乏针对汽车领域的建议。

SP6敏捷合并敏捷开发方法近几年在业界流行,也可以帮助解决案例公司遇到的很多问题。根据我们的访谈,我们确定了案例组织中使用的软件开发过程需要更改,以应对需求更改(C02_1、C03_1、C02),在这里,敏捷过程是一种自然的适合,因为它们提供了可以更改或澄清需求的定期沟通。敏捷还强调协作和沟通,这可以被视为解决所发现的知识转移和交互问题(C05_1、C06_1、C06_2、C06_3)。最后,一些敏捷方法强调持续和自动化测试,这可能有助于解决所遇到的许多测试问题(C01_1、C01_2、C09_1和C09_2)。尽管敏捷在理论上可以与许多问题联系在一起,但我们的特定领域SLR无法找到许多关于敏捷的学术出版物。戴姆勒-克莱斯勒公司已经实施了敏捷开发,据观察,敏捷提供了灵活性、高速开发和高质量。有研究人员报告了在嵌入式产品上使用极限编程(XP)的经验,他们认为TDD和单元测试自动化是成功的关键因素。

SP7:测试管理:从上面确定的解决方案建议中可以发现,大多数活动都与测试及其工件的组织有关。从我们的采访中也可以明显看出,案例研究中确定的大多数挑战或多或少与测试活动的管理有关。没有确定的研究必须集中在与汽车领域相关的测试管理活动上。然而,在文献中很少有文章描述测试管理必须集中精力进行的活动,以改进适合该研究背景的测试。因此制定此解决方案提案以协调上述提出的解决方案。在我们的研究中观察到的测试管理活动可以包含以下活动。

• 测试过程管理:管理测试过程中的各种活动,例如测试计划、测试分析、测试构建和测试执行。当引入敏捷实践时,此活动也适用。

• 测试工件和资产组织:重用和维护测试工件,如测试用例、测试版本、测试工具、测试环境、测试结果和测试文档。此活动也可以称为测试配置管理,可以管理测试活动整个生命周期中的更改。

• 根据测试进行需求管理:负责分析和确定需求变更,以便合理调整测试进度和测试策略,从而改进测试用例以满足新的需求。

• 能力管理:负责分配具有执行特定测试活动所需技能和知识的测试人员。

• 缺陷管理:负责及早发现需要有效管理的缺陷,并在各个阶段由不同的人一起工作提供支持。

更多内容,请关注“汽车EBSE测试流程分析(四):步骤三,反思及基于证据的问题解决”,关注牛喀网,学习更多汽车科技。有兴趣的朋友,可以添加牛小喀微信:NewCarRen,了解更多详情

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/742559.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

TikTok小店运营必看攻略!

众所周知,国内的抖音早已风生水起,抖音给了很多普通人一夜暴富的机会。而Tiktok也跟随着抖音开启了商业模式,目前流量与机会都是不可小觑的。在店铺申请通过,成功入驻之后,又该如何运营?这篇文章为大家解答…

小程序自定义海报

如图微信小程序生成海报自定义调整位置 //微信小程序组件 poster.wxml<view styleposition: relative;{{customStyle}};{{painterStyle}}><block wx:if"{{!use2D}}"><canvas canvas-id"photo" style"{{photoStyle}};position: absolut…

揭开液体活检技术的神秘面纱

液体活检&#xff08;liquid biopsy&#xff09;是新兴的肿瘤诊断技术&#xff0c;与传统检测手段相比具有创伤性小、取样便捷、可实时动态检测等优势&#xff0c;在肿瘤早期筛查、分子分型、复发监测和预后评估等方面起到重要作用。 图 1 与传统的组织活检相比&#xff0c;液…

路径规划算法:基于爬行动物优化的路径规划算法- 附代码

路径规划算法&#xff1a;基于爬行动物优化的路径规划算法- 附代码 文章目录 路径规划算法&#xff1a;基于爬行动物优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要&#xff1a;本文主要介绍利用智能优化…

【分布式应用】Filebeat+ELK 部署、logstash filter四大过滤插件

目录 一、 FilebeatELK 部署1.1在 Filebeat 节点上操作1.1.1安装 Filebeat1.1.2设置 filebeat 的主配置文件1.1.3 在 Logstash 组件所在节点上新建一个 Logstash 配置文件1.1.4浏览器访问测试 二 、filter四大插件2.1grok 正则捕获插件2.1.1内置正则表达式调用 2.2logstash 官方…

操作系统——输入输出IO管理

文章目录 **1 I/O管理概述****1.1 I/O设备****1.2 I/O控制方式****1.2.1 程序直接控制方式****1.2.2 中断驱动方式****1.2.3 DMA方式****1.2.4 通道控制方式** **1.3 I/O软件层次结构****1.4 应用程序I/O接口** **2 设备独立性软件****2.1 高速缓冲与缓冲区****2.2 设备分配和回…

车牌识别--http协议

文章目录 libcurl车牌识别 前言 基于https协议访问网址实现车牌识别 http是超文本传输协议&#xff0c;它可以在B/S模式下解决tcp传输格式的问题&#xff0c;处于tcp之上在应用层 https是http加密版本&#xff0c;通过httpssl实现加密版http 我们车牌识别通过http协议调用翔云…

Django_admin数据管理后台

目录 一、基础操作 二、自定义后台操作数据行为 源码等资料获取方法 admin数据管理后台是django内置的一个后台管理界面&#xff0c;能查看已注册模型类的数据结构&#xff0c;以及对数据的增删改。 一、基础操作 1.1 检查项目目录下的urls.py有没有如下配置 1.2 创建djan…

使用U盘在无系统的机器上安装Ubuntu

1、在Bios中选择将USB 作为Boot Option #1 2、插入制作好的系统盘&#xff08;系统盘制作可以看上一篇博客&#xff09; 3、save & exit选择 save change and reset 4、 开始安装系统 如果出现安装窗口过大无法点击下一步&#xff0c;可以使用ALTF7拖动窗口。

java中的BIO NIO AIO

多路复用IO模型是目前使用的比较多的模型。java中的NIO常用的理解是在 网络IO中&#xff0c;那么在网络IO中为什么NIO比BIO效率更高&#xff1f;我们的web项目中是用的哪种呢&#xff1f;可以往下看。 JavaNIO实际上就是多路复用IO。在多路复用IO模型中&#xff0c;会有一个线程…

【Unity】Unity2022设置2D动画的sample

首先在主页面选择Animation 出现这样的一个框 点击红点行&#xff0c;最右侧的三个点 将Show Sample Rate勾选上即可

Fiddler工具 — Fiddler常用插件(Willow)

Fiddler已有的功能已经够我们日常工作中使用了&#xff0c;为了更好的扩展Fiddler&#xff0c;Fiddler也是支持一些插件的安装&#xff0c;也支持用户自己开发插件并安装。 Fiddler插件下载地址&#xff1a;https://www.telerik.com/fiddler/add-ons 1、Traific Difer插件 Tr…

【Java】Map(包括HashMap)

Map HashMap 和 Hashtable 的区别HashMap 和 HashSet 区别HashMap 的底层实现JDK1.8 之前JDK1.8红黑树 HashMap 的长度为什么是 2 的幂次方HashMap 多线程操作导致死循环问题HashMap 为什么线程不安全&#xff1f; ConcurrentHashMapConcurrentHashMap 和 Hashtable 的区别JDK …

常见面试题之JVM实践(调优)

1. JVM调优的参数可以在哪里设置参数值&#xff1f; 1.1 tomcat的设置vm参数 修改TOMCAT_HOME/bin/catalina.sh文件&#xff0c;如下图&#xff1a; JAVA_OPTS"-Xms512m -Xmx1024m" 1.2 springboot项目jar文件启动 通常在linux系统下直接加参数启动springboot项…

在Pandas中处理缺失数据

当没有为一个或多个项目或整个单元提供信息时&#xff0c;可能会出现数据缺失。缺失数据在现实生活中是一个非常大的问题。缺失数据在pandas中也可以称为NA&#xff08;不可用&#xff09;值。在DataFrame中&#xff0c;有时许多数据集只是缺少数据&#xff0c;因为它存在而未被…

52 # 二叉树的前中后遍历

二叉树的遍历 线性数据结构遍历比较简单&#xff0c;可以采用正序遍历、逆序遍历。 遍历树的目的一般是修改树&#xff0c;比如修改树的节点&#xff0c;采用访问者模式 前序遍历 前序遍历&#xff08;preorder traversal&#xff09;&#xff1a;先访问根节点&#xff0c;…

Go语言struct要使用 tags的原因解析

这篇文章主要介绍了为什么 Go 语言 struct 要使用 tags,在本文中&#xff0c;我们将探讨为什么 Go 语言中需要使用 struct tags&#xff0c;以及 struct tags 的使用场景和优势&#xff0c;需要的朋友可以参考下 在 Go 语言中&#xff0c;struct 是一种常见的数据类型&#xf…

由于找不到vcomp100.dll,无法继续执行代码,解决方法

为什么会由于找不到vcomp100.dll,无法继续执行代码问题呢&#xff1f; 文件被误删除&#xff1a;有时候&#xff0c;在进行系统清理或卸载应用程序时&#xff0c;可能会不小心删除了vcomp100.dll文件。如果某个程序依赖于该文件&#xff0c;并且文件被删除&#xff0c;那么该程…

ESP32开发:IDFV4.4配置LVGL8.3

配置LVGL8.3源码 LVGL GITHUB代码仓库如下&#xff1a;https://github.com/lvgl/lvgl/tree/release/v8.3 官方已经在ESP32上移植好的代码demo&#xff0c;目前最新版是LVGL 7.9&#xff1a;https://github.com/lvgl/lv_port_esp32 我们可以将LVGL官方配置好的ESP32 LVGL仓库下…

超详细的学习笔记:CSS盒子模型(附代码示例)

目录 一、CSS三大特性 1、继承性 2、层叠性 3、优先级 4、权重叠加的计算 二、PxCook的基本使用 三、盒子模型 1、盒子模型的介绍 2、内容的宽度和高度 3、边框 (border) 1、连写形式 2、单方向设置 3、单个属性 8、内边距&#xff08;padding&#xff09;和外边…