对嵌入式还有疑惑,看这篇文章就够了

软件还得用芯学 2024-09-24 13:00:50

从”萝卜快跑”的无人驾驶技术走进老百姓的生活中,我们可以发现:全智能时代已经到来,我们的生活各方面都有可能被各种设备/设施所替代,那么从我们测试人员的角度来看这场技术迭代,又有哪些我们可以参与的呢?

首先来看一下嵌入式测试的职业发展和前景:

市场需求增长:

从职友集数据来看,2024年较2023年同期对比市场需求增长219% 。物联网、智能家居、汽车电子、工业自动化等众多领域对嵌入式系统的广泛应用推动了对嵌入式测试工程师的需求。随着5G的普及和新兴技术不断融合,相关嵌入式产品的迭代和创新也需要持续的测试保障 。

技术发展带来新机遇:

智能硬件和复杂嵌入式系统的发展,使得测试不仅局限于传统功能测试,对性能测试、安全测试(如防止嵌入式设备被恶意攻击和入侵)、兼容性测试(不同通信协议和硬件环境等)等方面的专业人才需求增加。自动化测试技术在嵌入式测试领域的应用不断深化,掌握自动化测试工具和脚本编写等技能的嵌入式测试工程师更具竞争力。

薪资待遇提升潜力:虽然职友集数据显示2024年工资待遇较2023年下降了10%,但从长远看,随着经验和技能提升以及市场进一步成熟稳定,薪资有提升的空间。并且在一些重点城市如深圳(平均 ¥20.8k)工资水平较高。

发展路径多样化:

技术专家路线:成长为高级测试工程师、测试架构设计师等,专注于测试技术的深度和广度,对各类复杂嵌入式系统的测试有深入理解和创新方法。管理路线:晋升为测试组长、测试经理等,负责项目测试的规划、资源协调和团队管理等。跨领域拓展:可以转向项目管理、产品开发等岗位,凭借对嵌入式系统的深入理解和测试经验,在新领域发挥优势。

行业重要性凸显:嵌入式系统往往涉及关键应用场景,如航空航天、医疗设备等,其可靠性至关重要,嵌入式测试工程师是保障产品质量和安全的关键角色,在行业内的受重视程度和职业成就感较高。

那么嵌入式测试和软件测试有什么区别呢?

嵌入式

软件测试

测试环境

通常需要在特定的硬件平台上进行,涉及到与硬件的交互和集成。例如,在智能家电、汽车电子等设备上的测试。

一般在通用的计算机环境中,如桌面电脑或服务器。

硬件依赖

高度依赖于硬件的特性和性能,需要考虑硬件的限制和兼容性。比如,内存大小、处理器速度等对测试结果的影响。

相对较少依赖特定的硬件,更侧重于软件功能和逻辑。

实时性要求

很多嵌入式系统有严格的实时性要求,测试需要验证系统在特定时间内的响应和处理能力。例如,航空航天领域的嵌入式系统

实时性要求相对较低,更关注功能的准确性和稳定性。

资源受限

由于嵌入式设备资源有限,如存储空间、电量等,测试需要关注资源的有效利用和优化。

通常资源较为充足,不太受这些限制的约束。

测试工具

可能需要专门的硬件测试工具和设备,如仿真器、逻辑分析仪等。

更多使用通用的软件测试工具,如自动化测试框架、性能测试工具等。

故障排查难度

当出现问题时,由于硬件和软件的紧密结合,故障排查难度较大。

相对来说,故障定位和排查相对较容易,主要集中在软件代码层面。

基于这些区别,有些人可能在疑惑,如果从软件测试跳槽到嵌入式测试会有优势吗?

其实我们从软件测试跳槽到嵌入式测试不仅仅是职业上多了一个新的选择,软件测试的经验也让我们具备非常好的优势:

测试基础和方法的迁移:

软件测试中积累的测试用例设计、缺陷管理、测试流程等知识和经验可以直接应用于嵌入式测试。例如,在软件测试中掌握的边界值分析、等价类划分等用例设计方法,在嵌入式测试中同样能有效地发现潜在问题。熟悉测试管理工具和流程,能够更快适应嵌入式测试中的项目管理和协作方式。

编程和脚本能力:

软件测试工程师通常具备一定的编程能力,如 Python、Java 等,这在嵌入式测试中编写自动化测试脚本、开发测试工具时会发挥作用。比如,使用 Python 编写与嵌入式设备通信的测试脚本。

问题分析和解决能力:

在软件测试中培养的对问题的敏锐洞察力和逻辑分析能力,有助于在嵌入式测试中快速定位和解决复杂的软硬件结合问题。面对软件测试中的各种异常和错误情况,形成的系统性的排查和解决问题的思维模式,能够迁移到嵌入式测试中的故障诊断中。

对软件质量的理解:

深知软件质量的重要性以及如何保障软件的稳定性和可靠性,这种理念可以应用于嵌入式系统中的软件部分测试。能够从整体上把握软件在不同环境和条件下的表现,为嵌入式测试中的软件质量评估提供有价值的参考。

适应新技术的能力:

软件行业技术更新换代较快,软件测试人员通常已经养成了快速学习和适应新技术的能力,这对于嵌入式测试中不断出现的新硬件架构、新通信协议等的学习和掌握非常有帮助。

0 阅读:0

软件还得用芯学

简介:感谢大家的关注