关于汽车软件测试的几点想法

如果你有过汽车行业的从业经验,你就应该知道,过去汽车行业只做测试,而不做开发。汽车制造商的主要任务(从工程角度看)是将来自数百家供应商的数千个零部件组装在一起。考虑到现代软件的复杂性和客户的“挑剔”,最终产品要达到高质量是非常困难的。

在本文中,我想谈谈作为汽车行业工程师可能会遇到的一些软件测试问题。

招聘软件测试工程师时背景重要吗?

既重要又不重要。

让我们考虑一下你的特定行业背景真的很重要吗?

如果你以前的经验只涉及一个特定领域,并且只包括手动测试程序,那么转到另一个行业将是非常痛苦的。很多做法对你来说都是全新的。就像APP的手动测试与汽车的手动测试完全不同。

如果一个人拥有很强的测试自动化技能和软件测试的基础知识,那么事情就会变得简单得多。测试自动化意味着掌握编程、逻辑、分析、故障追踪等技能。这反过来又带来了无限的可能性和应用经验的领域。此外,一个领域的经验还能为另一个领域带来一些新方法。

给职员的建议:学习测试自动化,即使你还没有发现在日常工作中实施它的方法,它迟早会到来的。

给雇主的建议:如果您想聘用一名测试自动化专家,不要过于关注其背景,而应更多地关注其基本技能。

自动化还是不自动化?

答案是肯定要的。但你必须始终牢记测试自动化的成本。无论你从事哪个行业,测试金字塔都是你必须遵循的黄金法则。

图片

如果可能,较低层次的测试都应完全自动化,而较高层次的测试则必须在自动化之前进行全面评估,因为自动化的成本可能会很高。也许你的工程师可以做得更快、更便宜或更有效。

另一种代表测试金字塔的方法称为“左移”。

图片

其目的是一样的--大部分测试必须尽早进行。

单元测试、单元集成测试、组件测试、系统测试--所有这些层次的测试都必须在汽车制造之前完成,当然,目标是尽可能实现高度自动化。

此外,有些测试必须保持手动,例如在生产中使用特殊工具的程序。因此,工程师必须验证这种特殊工具的使用方式是否与工厂员工在生产中使用的方式相同。

给职员的提示:不要等到有了成熟的软件才开始自动化测试。从交付第一个原型开始,然后随着软件包的增长,增加测试自动化的装备。

给雇主的建议:从一开始就将测试自动化纳入测试策略和思维模式。为测试自动化提供工具和支持,使其成为 "完成定义 "的一部分。

持续集成(CI)

这是测试自动化真正带来真正好处的地方,但没有什么是免费的。

要实现CI,至少需要三个先决条件:思维方式、测试自动化和基础设施。让我们逐一讨论:

  • 思维模式。汽车行业的许多工程师习惯于以传统方式工作,而不了解世界正在以几乎不可预测的方式快速发展。在这种混乱的环境中,没有持续的测试是绝对不可能的,我所说的 "持续 "是指每天或每次更改软件或从供应商处收到新版本时。这种方法必须是必不可少的,并得到组织的支持。在每一个时间点,你都应该能够知道软件集成的状态。这些信息将在项目交付过程中带来难以置信的好处。

  • 测试自动化是实现CI的第一步。因此,在决定全面进入 CI 之前,请确保至少在某种程度上已经实现了测试自动化。持续集成的目的是进行回归测试,提供软件的当前状态,确保向客户交付经过验证的产品。而只有测试自动化才能快速、持续地为您提供此类数据。

  • 基础设施。使CI价格昂贵的并不是昂贵的设备(各种类型的测试台和计算机,它们的功能仅限于你的想象力),而是开发和维护 CI 环境的人员。根据公司的特定需求开发和维护 CI 环境的人员,这才是关键。由于需求量大、可用性低,CI 开发人员(或 DevOps)在就业市场上相当有价值。CI 机器的规模越大,需要的 DevOps 工程师就越多。

但是,一旦你准备就绪并正确使用了所有部件,你就会比尚未准备好使用 CI 的竞争对手获得难以置信的优势。这些是 CI 最明显的优势:

  • 不仅在单元或组件层面,甚至在系统或车辆层面,都能获得有关软件状态的实时信息

  • 低质量(或失败)软件将不会发布到下一级集成中

  • 向测试人员和开发人员提供更快的反馈意味着更快的错误修复

  • 不间断测试。由于测试活动是自动化的,因此即使在非办公时间,测试过程也不会停止。

软件测试的后续步骤(ML、数据分析)

机器学习、数据分析、人工智能……这些流行词即使对于非 IT 人员来说也是众所周知的,但我还没有看到上述技术在软件测试中得到充分的使用。我预见的可能用途是在测试结果分析中使用机器学习/数据分析。基于特定逻辑(数据分析)或将测试结果连续反馈给系统(ML)。

这可能会减少故障追踪的工作量,但所有这些都是猜测,没有经过我这边证实的例子。

给职员的提示:密切关注实际情况,不要错过成为行业第一的机会,但也不要着急。

给雇主的提示:倾听员工的意见,他们可能最了解社区中流传的事情。

测试是职业生涯的死胡同吗?

我在软件测试社区多次看到有人提出这个问题。测试人员并不清楚如何才能实现自我价值。我认为这在很大程度上取决于公司的文化。如果测试人员得不到与其他员工同等的尊重,并将生产中的错误归咎于测试人员,那么这样的公司文化无疑是比较糟糕的。

在其他情况下,测试人员可以自由选择职业道路。他们可以是高度专业化的专业人员或开发人员(嵌入式 SW 开发人员、测试工具开发人员、DevOps 工程师)。测试人员也可以选择管理职业。但项目和产品管理需要一些额外的教育和对公司业务的了解。

给职员的建议:永远不要停止学习。走在你最感兴趣的领域的最前沿,多阅读学习。

给雇主的建议:不要低估软件测试人员,他们的批判性思维、对细节的关注和洞察全局的能力(软件测试人员的共同特点)是非常宝贵的技能,可以很好地运用到其他领域,培养你的团队伙伴。

如果你对上述主题有任何看法,请在评论中告诉我。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取   

 

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

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

相关文章

Rufus 制作启动盘 | 便携的工作空间

唠唠闲话 最近服务器硬盘故障多,在修复过程中,学习了一些操作,这里做个记录。本期主要介绍 U盘启动盘的制作,以及持久化存储。 U 盘启动盘 镜像选择 Ubuntu 的版本命名遵循 “Adjective Animal” 的模式,即 “形容…

新港海岸NCS8822 低功耗DP转VGA 分辨率支持1920*1200*60HZ

NCS8822描述: NCS8822是一个低功耗显示端口到vga转换器。NCS8822集成了一个与DP1.2兼容的接收器和一个高速三通道视频DAC。对于DP1.2输入,NCS8822支持1车道/2车道,也支持车道交换功能。对于VGA输出NCS8822,在60Hz帧率下对WUXGA&a…

C++ 栈-队列-优先级队列

目录 1 栈 2 队列 3 deque 介绍 4 优先级队列 5 反向迭代器 栈也是我们在C语言就模拟实现过的一种数据结构,在C中,栈其实和我们前面模拟实现过的string、vector等容器有一点区别,站起是不是容器,而是一种容器适配器,我…

k8s record 20240705

k8s 安全管理 request 是1g,你得不到要求,我就不创建了,这就是准入控制二次校验 SA就是serviceAccount。 内部是SA和 token, 外部用户进来就是 .kube/config文件 namespace下的是role,整个集群是 ClusterRole. 动作就是Binding li…

pytest-rerunfailures:优化测试稳定性的失败重试工具

笔者在执行自动化测试用例时,会发现有时候用例失败并非代码问题,而是由于服务正在发版,导致请求失败,从而降低了自动化用例的稳定性,最后还要花时间定位到底是自身case的原因还是业务逻辑问题,还是其他原因…

适合家居建材企业的CRM系统盘点(2024版)

当前,CRM市场上,国际巨头的市场优势正在逐渐减弱,国内CRM企业奋起追赶,呈现出强劲的崛起势头。因此,对于家居建材企业来讲,在进行CRM选型时,如何选择一款合适的系统是关乎企业高效发展的重要课题…

矩阵键盘与密码锁

目录 1.矩阵键盘介绍​编辑 2.扫描的概念 3.代码演示(读取矩阵键盘键码) 4.矩阵键盘密码锁 1.矩阵键盘介绍 为了减少I/O口的占用,通常将按键排列成矩阵形式,采用逐行或逐列的 “扫描”,就可以读出任何位置按键的状态…

免杀笔记 ----> ShellCode Loader !!!

学了那么久的前置知识,终于到了能上线的地方了!!! 不过这里还没到免杀的部分,距离bypass一众的杀毒软件还有很长的路要走!! 目录 1.ShellCode 2.ShellCode Loader的概念 3.可读可写可…

字符串函数5-9题(30 天 Pandas 挑战)

字符串函数 1. 相关知识点1.5 字符串的长度条件判断1.6 apply映射操作1.7 python大小写转换1.8 正则表达式匹配2.9 包含字符串查询 2. 题目2.5 无效的推文2.6 计算特殊奖金2.7 修复表中的名字2.8 查找拥有有效邮箱的用户2.9 患某种疾病的患者 1. 相关知识点 1.5 字符串的长度条…

代码随想录算法训练营第四十四天|188.买卖股票的最佳时机IV、309.最佳买卖股票时机含冷冻期、714.买卖股票的最佳时机含手续费

188.买卖股票的最佳时机IV 题目链接:188.买卖股票的最佳时机IV 文档讲解:代码随想录 状态:不会 思路: 在股票买卖1使用一维dp的基础上,升级成二维的即可。 定义dp[k1][2],其中 dp[j][0] 表示第j次交易后持…

虚拟ECU:纯电动汽车发展下的新选择

人类文明的进步是一个不断自我否定、自我超越的过程。21世纪以来,随着科技进步和经济社会发展,能源和交通系统已从独立于自然环境的孤立系统,转变为与自然、技术、社会深度耦合的复杂系统。为实现可持续发展和应对气候变化,世界各…

【C++航海王:追寻罗杰的编程之路】关联式容器的底层结构——AVL树

目录 1 -> 底层结构 2 -> AVL树 2.1 -> AVL树的概念 2.2 -> AVL树节点的定义 2.3 -> AVL树的插入 2.4 -> AVL树的旋转 2.5 -> AVL树的验证 2.6 -> AVL树的性能 1 -> 底层结构 在上文中对对map/multimap/set/multiset进行了简单的介绍&…

《简历宝典》02 - 如果你是HR,你会优先打开哪份简历?

现在的求职环境不必多说,其实我们大家都还是很清楚的。所以,在这个环境下,写一份优秀的简历,目的与作用也不必多说。那么,这一小节呢,我们先从简历这份文档的文档名开始说起。 目录 1 你觉得HR们刷简历的时…

【深度学习】图形模型基础(5):线性回归模型第二部分:单变量线性回归模型

1.引言 在统计学与机器学习的广阔领域中,线性回归作为一种基础而强大的预测技术,其核心在于通过输入变量(或称预测器、自变量)来估计输出变量(响应变量、因变量)的连续值。本章聚焦于线性回归的一个基本但…

【C++】相机标定源码笔记- 立体视觉相机的校准和图像矫正类

类主要用于双目相机的标定和矫正。它包含了读取和保存相机模型、计算标定参数以及矫正图像的功能。通过这些功能,可以实现双目相机的标定和矫正,从而提高双目相机的精度和稳定性。 公有函数: 构造函数、带参构造函数、析构函数、读取双目相机…

摩斯邀您参加“WAIC 2024世界人工智能大会”

2024世界人工智能大会暨人工智能全球治理高级别会议(简称“WAIC 2024”)将于7月在上海世博中心、世博展览馆举行,论坛时间为7月4日-6日,展览时间为7月5日-7日。大会展览面积超5.2万平方米,重点围绕核心技术、智能终端、…

STM32要学到什么程度才算合格?

在开始前刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」, 点个关注在评论区回复“888”之后私信回复“888”,全部无偿共享给大家!!! STM32 这玩意儿要学到啥…

vscode 前行复制到下一行

目录 这个技巧也比较多 选择 python解释器 F1 Ctrl Shift P 跳转上一次编辑 下一次编辑 Ctrl d 会把当前行复制到下一行 步骤1:打开键绑定设置 使用VS Code设置换行 这个技巧也比较多 VS Code技巧汇总_vs code反缩进-CSDN博客 选择 python解释器 F1 Ctrl Shi…

Java中如何使用 tesseract-ocr 进行图片文字提取(tesseract、tesseract训练自己的字库)

tesseract下载链接: github:https://github.com/tesseract-ocr/ db:https://digi.bib.uni-mannheim.de/tesseract/ 文字识别技术在许多领域都有广泛的应用,例如文档处理、自动化办公、移动设备上的文本输入等。而Tesseract-OCR作…

Python推导式写出简洁高效的代码方法详解

概要 推导式是Python中一种非常强大的语法特性,允许你用简洁的语法创建列表、字典、集合等数据结构。使用推导式不仅可以让代码更加简洁和易读,还能提高代码的执行效率。本文将详细介绍Python中的各种推导式,并提供相应的示例代码,帮助全面掌握这一强大的工具。 列表推导式…