汽车EBSE测试流程分析(四):反思证据及当前问题解决

news2024/11/19 11:26:31

EBSE专题连载共分为“五个”篇章。此文为该连载系列的“第四”篇章,在之前的“篇章(三)”中已经结合具体研究实践阐述了“步骤二,通过系统调研确定改进方案”等内容。那么,在本篇章(四)中,我们将详细分析EBSE步骤三:批判性地反思证据以及当前问题解决。

汽车EBSE测试流程分析(一):汽车软件测试的特征和问题

汽车EBSE测试流程分析(二):关于优势和挑战的案例分析

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

6. 步骤三:批判性地反思证据以及使用它来解决当前问题

价值流图(VSM)作为过程分析工具用于评估优势和劣势。该工具用于发现和消除浪费。价值流捕获了当前将产品通过主要流程步骤带给客户(流程的端到端流程)所需的所有活动(包括增值和非增值)。增值活动是为产品增加价值的活动(例如通过确保功能的质量),非增值活动是指等待时间。价值流中最大的延迟或瓶颈(即非增值)为提高流程能力提供了最大的机会。选择VSM背后的动机是因为它是一种高效的工具,我们可以通过它来完成测试过程以了解工作流程并明确地专注于从端到端的角度识别浪费。它使管理者能够从价值创造的角度后退一步,重新思考整个过程。此外,它对于汽车行业来说是很自然的,并且很容易被接受为一种改进方法,因为它起源于汽车领域(例如丰田产品开发系统)。

价值流图分两步完成。在第一步中,使用图3中的符号映射当前活动,区分增值和非增值活动。通过突发信号指示浪费和低效率。软件工程通常定义七种浪费(见表12)。之后,绘制未来状态图,其中包含对已识别浪费的改进。图1显示了从案例研究中进行的测试过程评估中获得的信息,如何映射到价值流活动。

图片

图3:价值流图表示法

6.1.当前状态图

我们执行了一个过程活动映射,通过它我们可视化了在测试过程中执行的各种活动。本节介绍当前价值流图,其中概述了VSM和访谈中发现的浪费。流程创造的价值针对不同的团队规模确定,如表10(价值的定义)和表11(流程中的价值概述)所示。

图片

表10:价值定义

非增值活动在测试过程的当前价值流中被识别,以便查看需要改进的地方,如图4所示。

测试过程的当前状态图,揭示了在精益软件开发/价值流映射的背景下定义的所有七种浪费。确定的七种浪费包括部分完成的工作、额外处理、交接、任务切换、再学习、延迟和缺陷(编号为W1-W7)(参见表12的浪费定义)。

这些浪费在测试过程中的不同活动中被识别出来,导致返工、等待时间增加或在整个测试活动中花费的时间效率低下。图4说明了规划的测试过程和识别的浪费。但是,在影响测试的其他活动(例如,需求管理等)中出现的问题没有显示在当前流图。其背后的原因及其对测试活动的负面影响在上一节中进行了讨论。

我们在测试过程中确定了12个区域(如图4所示的1-12),其中出现了浪费。以下是对当前流图中确定的每个子流程中发生的浪费的描述。

子过程1中识别的浪费:子过程1中观察到的浪费是部分完成的工作。未完成测试的原因是由于缺乏测试定义和匆忙完成测试(C1)而导致缺乏计划测试,最终导致以低测试覆盖率的非结构化方式进行测试。不明确的要求加剧了这种情况。

图片

图4:当前状态图

图片

表11:价值

图片

表 12:浪费定义

子过程2中确定的浪费:在这个过程中,我们确定了“额外功能”和“切换”的浪费。有时在发布之前,从系统中删除的额外功能,即使它们已经实现,例如由于不稳定和不明确的要求(C03)。但是,也会对此类特性/功能进行测试。这种浪费是以编写测试计划、随后安排测试和分配资源的方式发生的。不明确的要求还需要重新学习(W3)。

子过程3中确定的浪费:如案例研究中所确定的,案例组织中的一个普遍问题是资源限制(C04)。这里发生的浪费是缺乏测试人员的可用性(W3:交接)以及作为组织结构一部分的角色和职责不明确,这阻碍了正确团队的形成,导致任务切换(W4)。

子过程4中识别的浪费:由于客户和开发组织需要大量时间来协商当前版本的候选需求,因此工作没有向前推进并被延迟(W1:部分完成的工作/W6)。据观察,此过程会重复多次,涉及与客户的多次交互,因为没有人与其他人对需求有相同的看法(C03)。为了为需求编写测试用例,必须有一套稳定而详细的需求来设计和分析下一个版本的测试。

子过程5中识别的浪费:这里的延迟再次以长时间等待(W06:延迟)的形式出现,用于引发验证要求(C03),从而最终确定要在测试活动中执行的测试用例清单。以前版本的测试用例有时不会更新。这会花费大量时间和精力来重写(W5:重新学习)以前版本的要求,并将这些测试用例包含在当前版本中。测试用例生成缺乏自动化,也是造成这种延迟的一个原因,因为只要不自动化,测试就是返工(与测试工具相关,C07)。

子过程6中确定的浪费:如前面挑战C10中所讨论的那样,有关测试的文档并不总是得到维护。以前版本的测试用例并不总是更新到测试用例存储库,这意味着未记录的测试工件(W1:部分完成的工作)。这些丢失的测试工件中的一些可能会使测试活动陷入危急情况,最终导致再次重复整个测试。

子过程区7的浪费:部分项目需要测试设备进行测试。客户的测试设备无法按时用于测试(W3:交接)。然而,在某些情况下,这种浪费会减少,因为在先前版本中使用的测试环境会被保存下来,并为产品的后续版本进行维护。正如挑战C7中所指出的,这种疏忽没有具体原因。

子过程区域8中的浪费:案例组织中执行的所有测试活动,都使用不同的工具进行管理,这通常是为了节省时间。但实际上这些工具并不能达到这个目的。相反,使用这些工具管理和映射测试工件会消耗更多资源,有时还会产生冗余,从而产生不必要的复杂性。没有一个可以管理和组织汽车领域所有测试活动的统一工具,这使它成为一个挑战(C7),从而造成称为交接(W3)的浪费,这与人员、设备等的可用性有关。

子过程区域9中的浪费:测试未作为与开发(C09)并行的活动进行。最终跟踪缺陷会消耗时间和金钱,这似乎是测试人员的负担,导致巨大的延迟(W6)。大多数团队不使用支持早期缺陷检测的验证活动,例如检查和代码审查。此处发生的另一种浪费(W4:移交)可能是由于缺乏测试人员的可用性以及使用特定测试技术(例如探索性测试或基于经验的测试)实施测试的培训。探索性和基于经验的测试基于测试人员的直觉和技能(参见C04)。尽管此类测试技术被认为是案例组织的优势,但目前只有有限数量的、有能力进行此类活动的测试人员可用。当这些有经验的测试人员退出或转移到另一个项目时,这反过来会导致测试延迟。然而,关于如何使用测试技术和工具的文档不会持续更新(有时不可用),因此不能信任执行测试 (C10)。
(关于C01-C010参见本专题连载篇章(二))

子过程区域10中的浪费:自项目开始(W1:部分完成的工作)以来,未正确引出需要包含在被测工件中的质量属性,从而导致产品质量差。部分受访者认为测试只是为了确保基本功能的质量,因此无法确保交付系统的可靠性(C08)。缺乏衡量质量水平和能够将测试结果与先前版本进行比较所必需的质量标准。对测试结果的分析有助于重新定义需要在下一版本产品中实施的质量改进。一些员工还报告了长时间的延迟(W6:延迟),因为在报告缺陷后必须等待开发人员修复缺陷。当负责代码的人在上一个项目中完成工作后,立即转移到其他项目时,这种等待时间似乎很长(见C04)。如果测试与开发并行执行,则可以解决此问题。

子过程区域11中的浪费:由于需求的波动性 (C3),需求规范没有很好地记录,从而导致对需求的误解。在开发和测试被误解的需求上投入的精力和资源是没有用的(W3:重新学习)。然后在与客户进行一系列交互之后,引出和开发必要的需求,这会导致不必要的返工和任务切换(W5)。

子过程区域12中的浪费:在以前的版本中检测到的缺陷有时没有修复(W1:部分完成的工作),这是客户同意的。但是随着系统的发展,这些缺陷很难在下一个版本中跟踪。缺乏验证活动和早期缺陷预防活动(W7:缺陷)在发布前造成混乱,当前版本中的一些未解决的缺陷留给下一个版本。这个过程在每个版本中重复多次。随着功能的增长,遗留了许多未修复的缺陷,在如此复杂的系统中很难追踪这些缺陷。

表13提供了浪费及其与挑战的关系的摘要。

6.2.未来状态图

从结果中可以明显看出,其他流程,尤其是需求收集和文档,以负面方式影响测试并导致许多浪费。我们发现最常见的浪费,即W3:交接和W1:部分完成的工作,是由于长时间延迟引发明确和稳定的测试要求而发生的。测试过程中已识别的挑战报告说,不断涌入的需求导致测试覆盖率下降,以及由于延迟测试导致的故障数量增加。当前版本中出现的故障有时没有得到修复和交付,因此相同的故障在下一个版本中重复出现,但跟踪和修复变得困难且成本高昂。因此,当前使用的测试方法不适合连续的需求流,表明有必要转向新的方法,这种方法可以管理和组织变更,同时提高质量。

图片

表13:浪费

未来状态VSM如图5所示,本质上是敏捷的。所示过程代表一次迭代。

我们推荐使用敏捷实践(SP6)和测试管理(SP7),这有助于通过开发和测试的并行化、早期故障检测和简短的沟通方式更有效地利用测试人员的时间。敏捷还有助于在测试人员的要求方面实现高透明度,因为测试计划是针对所有迭代完成的。但是,可以针对每次迭代详细更新测试计划。特别是敏捷实践(SP6)强调需求积压和迭代资源估计,以保持它们的准确性和灵活性。同时,需要记录测试计划,因为这是能够有效地重用测试工件并使测试与每次迭代的需求活动(在SP7中提出)保持一致的先决条件。为了引出需求,用户故事被发现很有用(参见SP1)。抽象级别可能很重要,因为在一个抽象级别上对需求进行优先排序时,必须将优先级传播到其他级别(参见SP1)。
(关于SP1-SP7参见本专题连载篇章(三))

发现灵活的测试过程是项目的优势,尤其是在小型团队中。大多数时间测试是以交付更多功能(价值:V1)而不是质量的方式完成的。然而,一些测试技术,例如完全依赖于测试人员能力和技能的探索性和基于经验的测试,被发现可以提高汽车领域实施的测试过程的质量。这项研究还表明,资源限制方面的挑战,例如难以找到具有适当测试能力的从业者,他们具有执行汽车领域特定测试的专业知识和经验,成为质量整合的障碍。在这种情况下确定的浪费,可能是长时间的延迟或缺乏执行测试活动的人员(W3、W4)。8个研究项目中几乎有6个缺乏专门的测试人员。

使用质量标准/措施(SP3)有助于达成对测试的共同看法,因此交流和知识共享变得更加容易,这在进行测试的人数稀少时非常重要。敏捷测试方法可能不会自动导致质量合并,但通过适当的敏捷实践,这是可能的(参见SP6)。本研究中对Scrum master的采访清楚地表明,当正确使用敏捷方法时,它是一种力量,不仅提供灵活性和敏捷性,还提供质量。

与时间和成本限制、测试技术(C02)以及工具和环境(C07)相关的挑战,使得编写好的测试显然具有挑战性。自动化测试可以节省时间并提高测试的价值和收益。正如SP4中记录的那样,已经提出了多种工具和方法来自动执行不同类型的测试,因此选项多种多样,选择哪个选项也取决于给定上下文中的比较分析。为了进一步改善这种情况,团队可以尝试实施其他测试技术,例如探索性测试,它已经在一些项目中使用并且可以有效地发现缺陷。探索性测试已在本专题连载的篇章(二)的第4.5.2节中作为优势提到。单元测试和回归测试的自动化可以促进测试用例的重用,并为最终产品增加价值。在敏捷开发(SP6)中,测试驱动开发有助于单元测试的自动化,因为自动化测试是在编写新功能之前编写的。基于SLR本专题连载的篇章(二)的第4.5.2节中确定并建议了多种支持测试的工具,这些工具已在汽车行业中使用。

图片

图 5:未来状态图

从这项研究中可以合理地说,测试不像开发新代码那样受到重视。从访谈中可以看出,测试的优先级较低,这不利于测试中的知识共享和知识转移。在这方面,能力管理可以被认为是测试活动必不可少的,它可以通过知识转移和共享来提高测试方面的技能和知识(参见SP2)。此外,我们认为,如果可以在项目开始时估计所需的测试人员,并以轮换方式分配且与多个团队分享他们的知识,那会更好。这也将帮助他们提高每次迭代的能力水平,从而改进测试。

针对已识别机会的解决方案提案基于SLR和访谈(考虑到所提到的价值和好处)。在本研究范围内无法验证解决方案建议。然而,建议取自同行评审的文献,这些文献在行业中得到验证,并且与本研究调查的公司使用敏捷的经验非常一致。此外,解决方案已提交给提供反馈的从业者。提出的未来状态过程已经包含了他们的反馈。

更多内容,请关注“汽车EBSE测试流程分析(五):步骤四,评估和反思EBSE过程”。

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

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

相关文章

web爬虫第五弹 - JS逆向入门(猿人学第一题)

0- 前言 爬虫是一门需要实战的学问。 而对于初学者来说,要想学好反爬,js逆向则是敲门砖。今天给大家带来一个js逆向入门实例,接下来我们一步一步来感受下入门的逆向是什么样的。该案例选自猿人学练习题。猿人学第一题 1- 拿到需求 进入页面…

据说这是最全的,App自动化测试思路总结,从0到1实施...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、编程语言选择 …

Open3d——根据距离参数给点云上渐变色

找了半天网上都没有开源的根据距离进行点云渐变色上色的代码,所以写一个方便自己和大家的使用~ 渐变色生成代码 输入点云shape为[N,3],我这里使用的是nuScenes数据集,生成的点云使用到中心点的距离作为参数,进行渐变,…

XML(eXtensible Markup Language)

目录 为什么需要XML? 一 XML语法 1.文档声明 2.元素 语法: 3.属性 4.注释 5.CDATA节 二 树结构 三 转义字符 四 DOM4J 1.XML解析技术 2.dom4j介绍 3.dom4j基本使用 XML 指可扩展标记语言(eXtensible Markup Language)。 XML 被设计用来传…

SQL-每日一题【1179. 重新格式化部门表】

题目 部门表 Department: 编写一个 SQL 查询来重新格式化表,使得新的表中有一个部门 id 列和一些对应 每个月 的收入(revenue)列。 查询结果格式如下面的示例所示: 解题思路 1.题目要求我们重新格式化表,…

leetcode 1480.一维数组的动态和

⭐️ 题目描述 🌟 leetcode链接:一维数组的动态和 ps: 动态数组求和其实就是当前 i 位置的值等于 0 - i 的求和,控制好循环条件即可。 代码: /*** Note: The returned array must be malloced, assume caller calls…

4000字,详解数据管理之简介篇

DAMA-DMBOK 2.0既 DAMA 数据管理知识体系指南共分为17章,是从事数据治理人员的参考宝典。也CDMP及CDGA、CDGP认证的考试用书。 我在这里将17个章节根据个人理解分为数据管理简介、数据管理框架、数据处理伦理、数据管理组件、数据管理组织、大数据与数据科学和数据…

阿里云容器服务助力极氪荣获 FinOps 先锋实践者

作者:海迩 可信云评估是中国信息通信研究院下属的云计算服务和软件的专业评估体系,自 2013 年起历经十年发展,可信云服务评估体系已日臻成熟,成为政府支撑、行业规范、用户选型的重要参考。 2022 年 5 月国务院国资委制定印发《…

FTP可能是免费且易于使用,但这就是问题所在

当团队里的某个人发现他们需要马上发送的文件太大,无法通过电子邮件发送时,就会陷入困境。另一个同事开始用电子邮件发送账号或密码,然后意识到,也许电子邮件不够安全,FTP替代,托管文件传输。 FTP可能是免费…

线扫激光算法原理

一:线扫激光算法原理 激光器发出的激光束经准直聚焦后垂直入射到物体表面上,表面的散射光由接收透镜成像于探测器的阵列上。光敏面于接收透镜的光轴垂直。如图: 当被测物体表面移动x,反应到光敏面上像点位移为x’。a为接收透镜到物体的距离(物距),b为接收后主面到成像…

HCIE-Security 安全策略技术——流量处理

一、防火墙安全策略原理及配置 1.包过滤技术 对需要转发的数据包,先获取包头信息,然后和设定的规则进行比较,根据比较结果对数据包进行转发和丢弃 2.包过滤技术进阶——安全策略 包过滤:五元组,ACL 安全策略&#…

主动带宽控制工具

停机和带宽过度使用是任何组织都无法避免的两个问题。随着企业采用 BYOD 文化,通过网络的流量负载可能很重,导致网络拥塞并使网络容易受到网络攻击。为了解决这个问题,企业需要全面的监控策略来保护网络,当看似大量的流量进入网络…

通过MySQL删除Hive元数据信息

之前遇到过一个问题,在进行Hive的元数据采集时,因为Hive表的文件已经被删除了,当时是无法删除表,导致元数据采集也发生了问题,所以希望通过删除Hive表的元数据解决上述问题。 之前安装时,经过特定的配置后…

Qt应用开发(基础篇)——数值微调输入框QAbstractSpinBox、QSpinBox、QDoubleSpinBox

目录 一、前言 二、QAbstractSpinBox类 1、accelerated 2、acceptableInput 3、alignment 4、buttonSymbols 5、correctionMode 6、frame 7、keyboardTracking 8、readOnly 9、showGroupSeparator 10、specialValueText 11、text 12、wrapping 13、信号 二、Q…

zabbix监控mysql容器主从同步状态并告警钉钉/企业微信

前言:被监控的主机已经安装和配置mysql主从同步,和zabbix-agent插件。 mysql创建主从同步:http://t.csdn.cn/P4MYq centos安装zabbix-agent2:http://t.csdn.cn/fx74i mysql主从同步,主要监控这2个参数指标&#xf…

java -jar指定外部配置文件

场景 spingboot项目部署jar时,需要时常修改配置,为了方便,将配置文件放到jar包外 操作步骤 在jar包同级目录下创建config文件夹(位置没有强制要求,为了方便而已) 在jar包同级目录下创建start.bat文件,并编辑内容 echo off :: 命令窗口标题 title yudibei_performance_tes…

嘉楠勘智k230开发板上手记录(一)

一、前言 因为是小白,对于硬件接触不多,有什么错误欢迎指出。 环境:win11wsl2的ubuntu22.04 官方github kendryte/k230_docs: Kendryte K230 SDK Docs (github.com) 参考的文档 :k230_docs/zh/01_software/board/K230_SDK_使用说明.md at…

图像 检测 - YOLOv3: An Incremental Improvement (arXiv 2018)

YOLOv3: An Incremental Improvement - 增量改进(arXiv 2018) 摘要1. 引言2. 处理2.1 边界框预测2.2 类别预测2.3 跨规模预测2.4 特征提取器2.5 训练 3. 我们的做法4. 我们尝试过但没有成功的事情5. 这一切意味着什么References 声明:此翻译仅…

数据库系列之(一)SQL基本用法总结

文章目录 前言一、数据库是什么?二、数据库的作用是什么?三、数据库的种类以及常用的数据库四、SQL常用方法总结1.基本sql语句2.对数据进行限定和排序3.处理单行函数4.多表查询5.分组函数6.非关联查询与关联查询7.高级查询8.更多用法 总结 前言 当今信息…

测试岗?从功能测试进阶自动化测试开发,测试之路不迷茫...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 测试新人在想什么…