用 Python 爬了 10 万条软件测试工程师信息有这些发现!

点击上方“CSDN”,选择“置顶公众号”

关键时刻,第一时间送达!

软件测试工程师,听起来蛮高大上的对不?

640?wx_fmt=jpeg

也是,毕竟测试工程师也是需要前能镇定自若寻找产品bug,后能思维清晰测试代码框架逻辑的好同志。对产品上线之前做个全身检查,责任很重大。

一个完美的产品,要基于合理、卓越的设计逻辑,拥有顺畅的功能、稳定的性能以及美观便捷的交互。一个合格的测试工程师,除了要保证产品上线之前功能完善,还要对产品的性能以及界面交互提出建设性修正/优化意见。

所以「测试」大人们的日常就是:深刻了解产品的功能要求,与「开发」(产品开发工程师)相辅相成,相爱相杀,做产品的一品带刀侍卫,保证完美产品的稳步上线!

随着互联网生态的繁荣兴盛,产品的种类也在不断增加,测试工程师所能进入技术岗位越来越细分,测试早就已经成为一个横向分布领域。我们常见的就有app测试专家、自动化测试专家、性能测试专家、web测试专家、安全测试专家、游戏测试专家、云产品测试专家等等。

我们通过对大招一百网上10w+条测试工程师的数据进行分析,得出的人才画像如下:

640?wx_fmt=jpeg


岗位硬知识大扫盲


黑盒测试VS白盒测试

通常在测试之前,需要制定一整套测试计划,之后才会进行各个测试环节,包括单元测试(模块测试)——集成测试——系统测试——验收测试。这里边前两步是用到白盒测试,后两步需要的是黑盒测试。

黑盒测试:就是站在用户的角度上,在已知产品的功能设计规格上,在软件的接口处对每个功能的实现可能性以及UI的正确性进行验证。在这阶段,测试人员不用接触源代码(把测试对象看作一个盒子,黑盒子指的是盒子是不可视的,你不清楚盒子内部的东西以及里面是如何运作的,白盒子反之)。因此黑盒测试也称功能测试或数据驱动测试。

白盒测试:则是站在框架搭建者的角度上,依据软件设计说明书对程序内部细节进行严密检验。包括但不仅限于针对特定条件设计测试用例、对软件的逻辑路径进行覆盖测试,以证明每种内部操作的设计逻辑以及使用流程是否符合规格要求。在这阶段,测试人员需要接触源代码。白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

我们用一个简单的例子对黑白盒测试进行区分。

我们把被测试的产品看作一个人。测试就是为了寻找出人的潜在疾病,然后对症下药保证身体健康。黑盒测试类似于人被查出了头疼,医生通过观察临床反应,给开了副止疼药。而白盒测试则是医生通过望闻问切了解人体的经络、脏腑、情志、气血等,发现人脑子里有肿瘤,最终用手术手段进行切除。

640?wx_fmt=png

测试环节详解

单元测试(模块测试):基于测试单元功能而开发出来的测试代码,通常代码都比较简短。一般情况下,一个单元测试是专门判断某个特定函数在特定使用场景中的行为。

集成测试:也叫组装测试和联合测试,是单元测试的升级板和扩展版。它的最简单的形式是:两个已经测试过的单元组合成一个组件,并且测试它们之间的接口。组件再组件,组件组合之间通过不断进行测试,最终让所有的模块进入测试进程。

系统测试:将经过测试的子系统装配成一个完整系统来测试。它用来检验系统是否确实能提供系统方案说明书中指定功能。系统测试的目的是对最终软件系统进行全面的测试,确保最终软件系统满足产品需求并且遵循系统设计。

验收测试:验收测试是向未来的用户表明系统能够像预定要求那样工作,保证交付到用户手上的产品功能稳定、性能优越、界面和谐。能够无差池地进行功能操作和任务执行。

注:照理来说,不管是白盒测试还是黑盒测试,都是由测试工程师主导,来进行操作。但是需要注意的是,白盒测试更多的是单元测试——测试人员针对各个单元进行各种可能的输入,然后对其输出进行分析。在这一阶段,测试代码由开发猿编写更容易提高测试效率和测试精度,以证明代码的行为符合期望。毕竟“知子莫如母”,自己的设计思路以及代码自己最熟悉。

640?wx_fmt=jpeg

所以我们会说,黑盒测试由测试工程师完成,白盒测试由开发工程师完成,才是绝代双测。


测试工程师要需不需要开发技术? 


简而言之,测试工程师主要就是使用合适的测试工具对产品进行质量检查,及时发现产品问题并督促更正,确保产品的正常运作。在这一层认知里,拥有开发技术不是硬性规定,尤其是刚入门的小白,日常就是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷,技术离他们还是很远的emm。但是当你进阶到高级段位的时候,就需要有纵观全局的能力了。不仅要熟练掌握软件测试与开发技术,还要对所测试软件的对口行业非常了解。


且随着自动化测试大潮的袭来,不做自动化测试的产品八成都是在自寻死路。如果是不会开发的测试使用不会测试的开发搞出来的测试工具,你想想这其中的沟通误差,就有点儿迷醉对不对?


所以现在的测试工程师,又有了新的title:测试开发工程师。仍旧属于测试的范畴,但是对于代码能力和编程技术却是有要求:至少得掌握一门语言。而这也是成为一个专(niu)业(bi)测试人员(测试工程师+开发工程师的素养和能力)的必经之路。大环境在改变,做哪一行,都得多艺加身,尽量在上中下游,游刃有余。



岗位大数据



就业人员从业现状


性别分布:


640?wx_fmt=png


在测试的岗位中,男性占比68.74%,女性占比31.26%。男女比例约为2:1。妹子的能力在测试岗上也是不可小觑。


学历分布:


640?wx_fmt=png


其中从事测试的人员中,本科学历的工作人员占比73.65%;大专学历占比15.42%;硕士学历占比10.45%;博士学历占比0.09%。搞测试,注重的是学以致用,项目就是你最好的练靶场。


从业人员主要分布区域:


640?wx_fmt=png

640?wx_fmt=png

从业人员集中地区Top10


测试从业人员主要分布于我国中东部、南部地区,其中北京的测试工程师最多,其次是上海、深圳、成都、广州、杭州、武汉、南京、西安以及苏州。


雇主普遍愿意支付的月薪情况:


640?wx_fmt=png


80%的雇主愿意支付7-10K的月薪,20%的雇主支付的月薪在10-15K。


从业人员薪资情况概览:


640?wx_fmt=png


测试的薪资梯度数据呈现的比较均匀。除了工资在5-10K/月、25-30K/月占比人数相对较少,分别为4.94%、12.38%之外,每一个薪资等级(间隔5K)上都有20%左右的从业人员。其中月薪10-15K之间的从业人员占比18.29%;月薪15-20K之间的从业人员占比21.02%;月薪20-25K之间的从业人员占比22.89%。


高薪资分布地区Top10:


640?wx_fmt=png


高薪分布地区的TOP10,几乎全部集中在沿海一代。形成一条狭长的线,这是因为互联网行业在沿海地区发展势头很猛,大厂均有在此落户。


从业人员工作经验普遍年限:


640?wx_fmt=png

640?wx_fmt=png

地区工作年限最长Top10


测试岗中工作年限在1-3年之间的,占比10.04%,工作经验在4-6年的从业人员占比22.39%,工作经验在7-10年的从业人员占比42.57%,10年以上工作经验的为25.00%。其中在江阴的测试从业人员平均工作年限最长,为10年;长沙的测试人员以9.8年的平均工作年限仅次于江阴;香港为9年;苏州为8.9年;珠海为8.7年;武汉、上海、北京为8.4年;海口、昆山则为8年。


不同经验下的工资水平概览:


640?wx_fmt=png


通力模型和其他一些数据


从业人员靠前的毕业院校:


640?wx_fmt=png


从业人员靠前的专业:


640?wx_fmt=png


从事过的工作:


640?wx_fmt=png


雇主最看重的能力:


640?wx_fmt=png


你点击的每一个link


手滑的每一个页面


都由我事无巨细为你检测过


我想


我是真的喜欢你。


——测试攻城狮


重要说明:很多时候,玩游戏反馈体验,也是测试的一种。测试自动化是大势所趋,不会开发的「测试」不是正经「测试」。但是人工测试暂时不会消失。白盒测试的作用非常大,却并非所有公司和产品都会搞,因为很容易失败。


作者:灵智大师,就职于上海脚步网络科技有限公司 。硕士毕业于中国科学技术大学,AI 研究院数据科学家。本文始发于其个人公众号「拿出数据」。此外,文中所有数据皆来自于大招一百招聘平台(www.dazhao100.com)。

声明:本文为作者投稿,版权归作者所有。


  征稿啦!

CSDN 公众号秉持着「与千万技术人共成长」理念,不仅以「极客头条」、「畅言」栏目在第一时间以技术人的独特视角描述技术人关心的行业焦点事件,更有「技术头条」专栏,深度解读行业内的热门技术与场景应用,让所有的开发者紧跟技术潮流,保持警醒的技术嗅觉,对行业趋势、技术有更为全面的认知。
如果你有优质的文章,或是行业热点事件、技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(guorui_1118,请备注投稿+姓名+公司职位),邮箱(guorui@csdn.net)。

640?wx_fmt=png

640?wx_fmt=gif

<think>嗯,用户问的是电控软件测试,我需要先理解这个主题。电控软件测试可能涉及汽车电子、工业控制等领域,对吧?首先,我应该定义什么是电控软件测试,可能包括测试的范围、方法和工具。用户可能想知道测试的具体流程或者常见的挑战。 接下来,用户可能想知道为什么电控软件测试重要,尤其是在安全关键系统中,比如汽车的刹车系统或者医疗设备。这时候需要提到功能安全标准,比如ISO 26262或者IEC 61508,这些标准可能对测试有特定要求。 然后,我应该分步骤介绍测试流程,可能包括单元测试、集成测试、系统测试和验收测试。每个阶段需要不同的方法和工具,比如单元测试可能用VectorCAST,系统测试可能用CANoe。 另外,用户可能对自动化测试感兴趣,特别是持续集成和持续测试在电控软件中的应用。这里可能需要提到Jenkins或者GitLab CI/CD工具,以及自动化测试框架。 还要考虑测试中的挑战,比如实时性要求和硬件在环测试(HIL),这些可能需要专门的设备和方法。安全性和可靠性测试也是重点,特别是故障注入测试,比如模拟传感器故障。 用户可能还关心行业趋势,比如基于AI的测试用例生成或者云测试平台,这些都是当前的热点。需要给出一些具体的案例,比如特斯拉的OTA测试流程,这样用户更容易理解。 最后,需要确保回答结构清晰,分点说明,使用适当的LaTeX格式,比如用粗体突出重点,表格来比较不同测试阶段。注意避免使用复杂术语,保持解释简洁明了,同时确保信息准确可靠,引用相关标准或工具的例子。</think>以下是对**电控软件测试**的系统性解析,涵盖测试框架、核心方法及行业实践: --- ### 一、**测试对象定义** 电控软件(Electronic Control Unit Software)指嵌入式系统中控制硬件运行的专用程序,典型应用场景: - **汽车电子**:发动机控制(ECU)、自动驾驶(ADAS) - **工业控制**:PLC程序、机器人运动控制 - **智能硬件**:无人机飞控、智能家电主控 --- ### 二、**测试分层模型** | 测试层级 | 测试目标 | 典型工具 | 关键指标 | |----------------|------------------------------|--------------------------|------------------------| | **单元测试** | 函数/模块功能验证 | VectorCAST, Tessy | 语句覆盖率 ≥95% | | **集成测试** | 模块间通信与时序校验 | CANoe, LabVIEW | 总线负载率 ≤70% | | **系统测试** | 整机功能与性能达标 | dSPACE, ETAS | 响应延迟 <10ms | | **HIL测试** | 硬件在环仿真验证 | NI PXI, Speedgoat | 故障注入覆盖率100% | | **实车测试** | 真实工况验证 | DataLog设备, VBOX | 累计路试里程 ≥5万公里 | --- ### 三、**核心测试方法** 1. **基于需求的测试(RBT)** - 建立需求追踪矩阵(RTM),确保每条需求有对应测试用例 - 案例:刹车控制软件需100%覆盖ISO 26262 ASIL D级要求 2. **故障注入测试(FIT)** - 模拟传感器失效(如油门信号突变) - 使用工具:TTworkbench, EXata 3. **边界值测试** - 极限工况验证(-40℃~125℃温度冲击) - 案例:电动车BMS软件需验证电压在200V-800V区间的控制稳定性 4. **时序分析测试** - 验证多任务调度周期(Autosar OS任务周期偏差≤1%) - 工具:Tracealyzer, Lauterbach --- ### 四、**行业痛点与解决方案** | 痛点领域 | 技术挑战 | 创新解决方案 | |------------------|-----------------------------------|----------------------------------| | **多ECU协同** | CAN/LIN总线信号冲突 | 使用CAPL脚本模拟200+节点组网 | | **OTA升级验证** | 新旧版本兼容性问题 | 建立虚拟ECU集群进行差分测试 | | **AI算法验证** | 深度学习模型黑箱特性 | 采用对抗样本测试(如LGSVL仿真器)| | **安全认证** | ISO 26262/SOTIF标准符合性证明 | 使用Medini analyze生成证据链 | --- ### 五、**前沿技术趋势** 1. **数字孪生测试平台** - 宝马集团使用NVIDIA Omniverse构建虚拟工厂,测试效率提升40% 2. **AI驱动测试用例生成** - 特斯拉采用GAN网络自动生成极端驾驶场景测试用例 3. **云化测试基础设施** - 博世推出Mobility Cloud Platform,支持2000+虚拟ECU并发测试 --- ### 六、**职业能力要求** - **必备技能**: - 掌握MISRA-C编程规范 - 熟悉Autosar架构测试方法 - 能使用Simulink进行模型在环(MIL)测试 - **增值技能**: - 了解ASPICE过程改进模型 - 掌握Python实现自动化测试脚本开发 **注**:当前汽车电子测试工程师平均薪资范围(1-3年经验):¥15,000-30,000/月,具备功能安全认证(TÜV认证)者溢价可达50%。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值