ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

东土科技秋招软件测试岗笔试复盘:嵌入式与工业互联网考点全解析

东土科技秋招软件测试岗笔试复盘:嵌入式与工业互联网考点全解析 2023年东土科技秋招软件测试岗笔试复盘秋招季又到了软件测试岗位的笔试刷人率一直不低。我去年参加了东土科技的秋招软件测试岗笔试整个过程下来最大的感受是这家公司和互联网大厂的测试笔试完全是两条路子。东土科技做的是工业互联网和工业通信设备所以它的笔试题会明显偏向嵌入式软件测试、网络协议、底层系统这些方向而不是纯粹的前端后端业务逻辑。这份经验帖写给两类人看一是准备投东土科技软件测试岗的应届生二是打算进工业设备、嵌入式方向做软件测试的同学。我会把当时笔试的题型分布、核心考点、答题思路完整拆一遍顺手把那些题库里找不到的“隐藏考点”也标出来。1. 笔试前的整体判断东土科技到底想招什么样的测试1.1 从公司业务反推笔试风格东土科技的主营业务集中在工业互联网领域产品覆盖工业以太网交换机、工业服务器、物联网网关、时间敏感网络TSN设备等。这些产品有一个共同特点跑在里面的软件和硬件深度绑定一旦出问题轻则产线停工重则引发安全事故。这意味着东土科技招软件测试重点看的不是你能不能把页面上的按钮点一遍而是你有没有能力对一套运行在嵌入式设备里的系统做质量保障。所以笔试题里出现大量网络协议、Linux操作、C语言指针、嵌入式基础知识非常正常。我当时看到试卷的第一反应是“这真的是测试卷子”因为前半部分全是计算机网络和操作系统的题测试理论反而放在中间偏后的位置。如果你提前没有做功课第一页就会被搞懵。1.2 软件测试岗笔试的能力考察模型结合我自己的做题感受和后来和面试官的交流东土科技软件测试岗笔试本质上是五层考察第一层是基础技术功底包括计算机网络、操作系统、数据结构、C语言这层主要在选择题和判断题里考考察你对计算机基础的理解是否扎实。第二层是测试专业理论包括测试流程、测试用例设计方法、缺陷管理、测试计划编写这层以简答题和设计题为主。第三层是业务场景理解考察你能不能针对工业设备的实际使用场景设计测试方案这通常是一道大的综合设计题。第四层是逻辑推理和编程能力部分试卷会加一两道编程题难度不高C语言或Python都能写但考查的是边界条件处理是否严谨。第五层是职业素养和问题排查思维比如给你一个线上故障现象问你排查思路是什么这是在模拟真实的运维和测试排查场景。想明白这五层之后再去做题你会发现很多题目其实都是同一类考察方向的变体。我建议你们在笔试前也按这个框架去梳理自己的知识体系比盲目刷题更高效。2. 笔试题型全拆解各模块占比与应对策略2.1 选择题和判断题基础知识的“扫雷区”东土科技的笔试题型主要包括单选、多选、判断、简答、设计、编程六种。我当时拿到的试卷大约有45道题时间限制是90分钟。其中选择题和判断题占了大概35%的篇幅考察范围很散但核心集中在下面几块。计算机网络是绝对的大头。TCP三次握手和四次挥手的过程、TCP和UDP的区别、IP地址子网划分、HTTP协议状态码含义、OSI七层模型和TCP/IP四层模型的对应关系这些基本是必考的。我印象很深的一道题是给了一个IP地址和子网掩码让算出网络号和广播地址。这道题本身不难但考场上紧张起来容易算错建议提前把子网划分的快速算法练熟。操作系统这块考察点集中在进程和线程的区别、进程间通信方式、死锁产生的四个必要条件、虚拟内存和分页机制。有个高频考点是“死锁的预防和避免的区别”这道题在选择题和简答题里都出现过一定要理解策略层面的差异而不是死记硬背。C语言主要考察指针、数组、结构体、内存分配这几块。印象最深的是一道关于指针运算的题定义一个int数组问a1和a1分别指向哪里。这种题对科班出身的同学来说不算难但对半路转测试的同学就是送命题。我的建议是备考时把指针和数组的关系彻底搞透因为东土这种偏底层的公司C语言基础是逃不掉的。数据库的考察不算深主要就是SQL基本语法、select查询、group by分组、having和where的区别。还有一部分Linux命令的考察比如文件权限chmod、查看进程ps、查看端口netstat、文本处理grep和awk。这些对测试来说都是日常高频工具属于送分题但不能丢分。2.2 简答题怎么把八股文答出项目感简答题是拉开差距的地方。东土的简答题不像互联网公司那样只问“什么是软件测试”而是会给你一个具体场景让你去分析。我遇到的一道题目是“请简述软件测试的流程并说明每个阶段的核心交付物”。这道题看起来是标准八股但如果只是把“需求分析、测试计划、测试用例、测试执行、缺陷跟踪、测试报告”这几个词列出来基本只能拿一半分。更好的答法是把每个阶段的具体工作内容、参与角色、产出物、质量标准和常见风险都写清楚。比如测试计划阶段不只是写计划文档还要做工作量评估、资源协调、风险评估这些才是最容易被面试官看重的细节。还有一道简答题涉及缺陷的生命周期问“一个缺陷从被发现到关闭需要经历哪些状态各状态之间如何流转”。这道题的重点不在状态名而在你对状态流转规则的理解。比如“新建-已确认-已修复-待回归-已关闭”这个流程中“已确认”这个状态意味着什么是开发承认这个bug还是测试确认了复现步骤不同公司的状态定义其实有细微差异你要展示的是你对整个缺陷管理逻辑的理解而不是背某个特定工具的状态列表。我的体会是简答题一定要有“场景感”。八股文背得再熟如果答不出这个知识点在实际项目中是怎么用的分数就不会高。东土科技做的是工业设备它的测试流程里一定会涉及需求评审、开发自测、测试准入准出这些环节答题时把这些环节串到流程里去讲会让面试官觉得你确实做过事而不是只会背书。2.3 综合设计题嵌入式场景下的测试用例设计综合设计题是东土科技笔试的重头戏分值占比也最大。我拿到的题目是这样的“请为一个工业以太网交换机的Web管理界面设计测试用例要求覆盖功能测试、兼容性测试、安全性测试和性能测试四个方面。”这道题乍一看不复杂但它考察的是你有没有测试设计的方法论。我看到题目后先在草稿纸上画了一个测试范围分析把Web管理界面的功能模块拆成登录认证、端口配置、VLAN配置、QoS配置、固件升级、系统日志、用户管理等几个部分然后每个部分再按功能测试的维度去展开。功能测试方面我设计了正常流程和异常流程两类用例。正常流程比如“使用管理员账号登录系统验证登录成功后页面跳转是否正确”异常流程比如“输入错误的用户名或密码验证系统是否给出友好提示且不会泄露用户信息”。这里需要注意细节边界值测试一定要做比如端口号的合法范围是1到4094那1、4094、0、4095这四个边界值必须都有用例覆盖。安全性测试方面对于Web管理界面来说至少要考虑SQL注入、XSS攻击、越权访问、密码策略、会话超时这五个点。我特意写了“低权限用户尝试访问高权限功能模块”这条用例因为工业设备的管理界面如果出现越权漏洞后果非常严重。兼容性测试方面工业场景里浏览器环境很杂有些客户还在用老版本的IE。所以兼容性用例必须有覆盖主流浏览器的新旧版本以及不同操作系统的访问情况。性能测试方面要覆盖多用户同时登录、页面加载时间、长时间运行的稳定性。我写了一条“持续操作设备管理界面24小时验证是否存在内存泄漏或页面崩溃”。这道题想拿高分光写出用例列表是不够的还要展示你划分测试优先级的思路。我在答卷里把用例按优先级分成P0、P1、P2三级并简单说明分级标准涉及核心功能和数据安全的用例为P0常用功能为P1边缘功能为P2。这个做法很加分因为它体现了测试工程师的风险控制意识。2.4 编程题算法不难细节是分水岭编程题在试卷里占比不高但绝对会出现在笔试中。东土的编程题难度大概在LeetCode简单到中等之间不考动态规划这种偏技巧的题目主要考逻辑思维和代码规范性。我遇到的编程题是“给定一个字符串统计每个字符出现的次数并按照出现次数从高到低输出”。我在考场上是用Python写的大概二十行左右就搞定了。核心思路是用字典存字符和次数的映射关系然后用sorted函数按照value排序。乍一看很简单但有几个细节决定你能不能拿到满分。第一个细节是空字符串的处理。如果不加判断代码在处理空字符串时可能会报错。第二个细节是相同出现次数的字符如何排序题目没有明确要求的话最好按字符的ASCII码顺序排并且在标准输出里说明这一点。第三个细节是输入的字符集是什么如果只包含英文字母可以用更简单的方式统计但如果包含中文字符就要考虑编码问题。这类编程题考察的不是算法能力而是工程习惯。你在答卷上写清楚输入输出、边界处理、异常情况比代码本身写得花哨更重要。我后来和东土的技术面试官聊过他说笔试编程题主要看两个字严谨。测试工程师写代码的机会不多但看懂代码、能写脚本的能力是必须的而且写代码时就要带着测试思维去考虑边界条件。3. 核心考点深度解析嵌入式软件测试的重点与难点3.1 为什么嵌入式软件测试是东土笔试的重头戏东土科技的软件测试笔试里嵌入式相关知识不是直接考而是融在场景里考。比如选择题里会出现“在嵌入式系统中下列哪种方式可以用于进程间通信”或者在场景设计题里考察你如何验证设备长时间运行的稳定性。嵌入式软件测试和纯软件测试最大的区别在于你不能把被测对象从环境中抽离出来独立测试。一个工业交换机的软件在跑起来之前需要有硬件环境、操作系统、驱动、网络环境都准备好。这在测试界有个说法叫“测试环境依赖度高”意味着测试用例的设计必须时刻考虑环境因素。我备考时买了一本嵌入式软件测试的书来啃收获最大的一点是理解了“交叉测试”的概念。嵌入式设备的软件通常是在PC端开发调试的但最终要在目标硬件上运行所以测试要分成两部分一部分是在宿主机上的单元测试和静态分析另一部分是在目标机上的集成测试和系统测试。笔试题目里如果出现“宿主机和目标机”“交叉编译”“在线调试”这些关键词你要能反应过来这是在讲嵌入式特有的开发测试模式。另外一个嵌入式软件测试的核心问题是资源受限。设备的CPU、内存、Flash空间可能非常有限所以测试时需要考虑软件的资源占用情况。比如持续运行72小时后看看内存有没有泄漏CPU占用率有没有异常升高。这类用例在我们之前的场景设计题里就应该被设计出来。3.2 工业通信设备测试的特殊关注点东土科技的产品大多要满足工业现场的需求所以软件测试的关注点和消费级产品有明显的差异。工业通信设备通常要求7x24小时不间断运行稳定性要求极高。这就决定了它的测试重点之一是长时间压力测试和老化测试。软件测试笔试里可能会问“如何对一个需要长期运行的设备做可靠性测试”这就要从测试时间周期、监控指标、数据采集频率、预警阈值这几个维度去回答。工业设备往往运行在复杂电磁环境中通信可靠性至关重要。涉及网络通信的测试用例不能只测功能通不通还要考虑弱网、高延迟、丢包、错序、重复报文等异常情况。测试人员要用专门的工具模拟这些网络异常验证设备在恶劣网络条件下是否能保持正常工作或安全降级。工业设备的用户界面相对简单但对操作的安全性要求极高。特别是设备管理、配置修改、固件升级这些操作必须有严格的权限控制和操作确认机制防止误操作导致设备故障。测试用例里要重点设计误操作的场景比如固件升级过程中断电会怎么样、升级了一半网络中断会怎么样。东土科技笔试的额外好处是它考察的很多知识点是通用的。比如网络协议知识、Linux系统知识这些你无论以后去互联网公司还是其他工业软件公司都会用到。所以就算你最后没去东土这份备考的投入也不亏。3.3 测试理论要理解到“能讲出来”的程度测试基础理论部分考的不外乎软件测试的定义、测试的分类、测试用例设计的常用方法、测试的生命周期、测试报告怎么写。这些内容在大多数教程里都有但东土的笔试题目会把它们和实际业务场景结合起来考察你是不是真的理解了。比如测试用例设计方法这部分边界值分析法和等价类划分法几乎是必考的。但考试不是让你背定义而是给你一个具体需求让你设计用例并且在用例里体现你用了哪些方法。我当时把自己设计的用例都标注了方法来源比如“等价类划分有效等价类为合法端口号1-4094无效等价类为0和4095”这样阅卷老师一眼就能看出你确实掌握了这个方法并会使用。另一个高频考点是黑盒测试和白盒测试的区别。这个考点要结合工业软件的特点来答黑盒测试适合功能验证白盒测试适合代码质量分析。嵌入式软件因为和硬件强相关很多缺陷只能在黑盒层面暴露出来而白盒测试主要用于单元测试阶段。你可以这样扩充答案“在工业交换机固件的单元测试中会用白盒方法保证每个分支都被覆盖但在系统测试阶段只能通过黑盒方法验证设备对外表现是否符合规格书要求。”一句话总结测试理论的备考要以“能给别人讲明白”为目标而不是以“能选出正确答案”为目标。前者默写不了但真正到了笔试现场你会感谢这种笨办法。4. 实战演练一道嵌入式测试综合题的完整答题模板4.1 题目复现与答题框架为了让大家更直观地理解东土科技笔试的答题要求我根据当时的经验自己整理了一道典型的综合设计题并按高分标准做了一套答题模板。题目是这样的“请为东土科技一款工业物联网网关设备的固件升级功能设计完整的测试方案要求涵盖测试范围、测试方法、测试用例设计、测试环境搭建和风险分析。”这道题综合性很强难度也高于当时的实际笔试但它能把你想不到的“失分点”都暴露出来。我的答题框架分五步下面展开讲。第一步是明确测试范围。固件升级功能的测试范围不只是“升级功能本身”还包括升级前的环境检查、升级包的完整性校验、升级过程中的异常处理、升级后系统状态的验证、回滚机制、升级日志记录。把这个范围列出来阅卷老师就会觉得你有全局观。第二步是定义测试方法。固件升级功能适合用黑盒测试方法从终端用户视角验证升级流程是否正确。但对于升级包的校验逻辑建议结合一部分白盒测试思路准备一些改造过的异常升级包来验证校验逻辑是否完善。第三步是设计测试用例这是整道题的核心我下面单独一段展开。第四步是规划测试环境。固件升级测试需要准备多台不同型号的网关设备、一个控制服务器、可变的网络环境。特别要验证固件升级在弱网环境下的表现所以网络故障模拟工具是必须的。第五步是风险分析。当时的常见风险包括升级过程中断电导致设备变砖、升级包被篡改导致校验失败、新旧固件不兼容导致配置丢失、升级后性能下降等。每种风险都要给一个对应的应对策略。4.2 重点测试用例设计与说明固件升级功能的核心测试用例我按测试维度拆成了五类。正常功能类用例要覆盖完整的升级流程。包括从Web管理界面上传固件包、点击升级、等待进度条、确认升级完成、验证系统版本号和运行状态。用例的关键点是每个步骤都要有明确的预期结果比如上传进度达到100%后系统应提示“升级包上传成功”而不是只写“升级成功”。异常场景类用例要覆盖各种干扰条件。比如上传过程中断网会怎么样升级过程中拔掉电源会怎么样升级本地固件包损坏会怎么样升级包对当前设备不兼容会怎么样这些用例每一条都要写出来因为工业设备用户的操作环境五花八门异常场景的覆盖能力直接决定设备在真实环境里的口碑。安全测试类用例要验证固件升级通道是否安全。包括升级包是否做了加密和签名校验、管理界面是否存在越权升级的风险、升级过程中是否对旧固件做了备份。工业物联网网关设备一旦被恶意固件注入后果不堪设想所以安全用例是加分项。性能测试类用例要关注升级过程对设备性能的影响。比如升级过程中CPU占用率是多少、内存占用是否合理、升级期间业务流量是否会被中断。对于网关设备来说升级期间业务不中断有时是硬性要求这一点要在用例里体现出来。兼容性测试类用例要覆盖不同硬件批次、不同版本固件、不同浏览器管理端之间的组合关系。尤其要验证从老版本固件升级到新版本后原有配置是否完整保留设备是否能直接投入使用还是需要重新配置。4.3 阅卷视角下的踩分点与失分点从阅卷角度来说这道题想拿高分有几个踩分点务必要抓住。踩分点是测试用例的层次感。如果你能把用例按“功能-异常-安全-性能-兼容”这个框架来组织阅卷老师会觉得你的测试思维是有条理的。如果只是零散地写十几条用例没有分组分数会大打折扣。第二个踩分点是预期结果的完整性。很多人在设计用例时只写操作步骤不写预期结果这是大忌。测试用例的价值就在于“可执行、可验证”没有预期结果的用例等于没写。第三个踩分点是环境描述的准确性。固件升级测试要写清楚设备型号、固件版本、操作系统、浏览器版本因为这些因素都会影响升级结果测试用例如果不能重复执行就没有意义。最常见的失分点有两个。一个是完全没有考虑异常场景十个用例里九个都是“正常上传-正常升级-正常成功”这说明你在设计时缺少反向思维。另一个是忽略了回滚方案升级失败之后怎么办这是工业设备测试绕不开的问题。回滚机制在东土科技这种工业公司尤其重要因为设备一旦因为升级变砖用户产线就停了。所以你在答题时一定要提到“设备应保留双镜像分区升级失败自动回滚到旧版本”。这个知识点我当时是在准备面试时学到的考试时真用上了。5. 备考经验与常见问题5.1 考前一个月怎么规划最高效我当时是秋招开始前一个月集中准备的这里分享一个可复制的规划。前两周用于系统性补基础。把计算机网络、操作系统、数据结构、Linux基础、数据库SQL、软件测试理论这几块内容快速过一遍不是从头学而是对着面试题去查漏补缺。你不需要啃完一整本《计算机网络》但要知道TCP三次握手哪四次挥手有什么区别、子网掩码怎么算、进程和线程的区别是什么。第三周开始刷软件测试面试题。网上有大量“软件测试面试八股文”大家可以根据意向公司类型挑着看。投东土这类工业软件公司的话要多看嵌入式软件测试、网络设备测试的经验帖。当时我找到不少软件测试面试题汇总把里面的设计题都做了一遍很有帮助。最后一周做模拟笔试。严格按90分钟限时去完成一套完整的软件测试笔试题重点是训练时间分配能力和考场上审题的能力。模拟卷里一定要有编程题提前把常用的排序、统计、去重代码准备好。不要觉得编程题简单就不练考场上手生是很大的问题。5.2 技术面试和HR面试中的加分准备笔试和面试中间通常隔不了太久所以笔试备考时就要有意识地为面试做准备。技术面试里VO经常拿着笔试题追问你。我当时就被追问了那套Web管理界面测试用例的设计思路还追问了“如果开发说这个bug不改了你会怎么处理”。这类问题没有标准答案考察的是你的沟通能力、原则性和风险判断。我的回答思路是先复现问题确认严重程度和影响范围再和开发沟通解决成本如果确实修复成本过高会把风险上报给项目经理并建议在发布说明中注明已知问题及规避方案。项目经验这个问题是绕不开的没有项目的同学我建议自己动手做一个简单的测试项目比如一个带Web管理界面的开源项目自己搭建环境去测试写成一份测试报告。简历上写“做过什么”比写“学过什么”有说服力得多。很多网络热词里的“软件测试项目”“软件测试简历”就是讲这个的一份有实际内容的简历才是过筛的硬通货。HR面试更关注职业稳定性和成长意愿。东土科技这类公司培养成本高所以很看重候选人的稳定性。面试中不要问太多“加班多不多”“有没有年终奖”之类的问题可以多聊聊你对工业互联网未来发展的理解、你希望通过公司平台提升哪些能力、你在测试领域的长期规划。5.3 关于软件测试岗位前景与职业发展有些同学可能会纠结2023年秋招互联网行业整体缩招软件测试岗位是不是也不行了我的看法是传统的功能测试岗位确实在收缩但融合了自动化测试、嵌入式测试、测试开发能力的复合型人才反而更紧俏。东土科技这类工业互联网公司对测试人才的需求是实打实的。工业设备的软件质量直接关系到现场安全客户对质量的要求极其严苛所以测试团队是必不可少的。而且工业软件测试的人才供给长期以来不足竞争压力相对互联网大厂反而小一些。从职业发展路径上看软件测试工程师可以走技术专家路线深入某一领域比如嵌入式测试、网络协议测试、自动化测试框架开发也可以走管理路线从测试工程师做到测试组长再到测试经理。无论走哪条路底层的逻辑都是你解决问题的能力越强越不可替代。5.4 高频问题速查表为了方便大家考前快速自查我把东土科技笔试中出现频次较高的知识点整理成一张速查表用来自测自己的掌握程度。考察方向高频问题必背要点计算机网络TCP可靠传输如何保证序列号、确认应答、超时重传、流量控制、拥塞控制操作系统进程间通信方式管道、消息队列、共享内存、信号量、socketC语言指针和数组的区别数组名是常量指针a1与a1的区别Linux查看进程和端口ps、netstat -anp、lsof -i:端口号数据库SQL多表查询内连接、外连接、子查询、group by场景测试基础测试用例设计方法等价类、边界值、因果图、错误推测法、场景法嵌入式测试软硬件联合调试交叉编译、串口输出、JTAG调试、日志系统缺陷管理Bug优先级划分标准致命、严重、一般、轻微四级的判定标准每一条速查表里的内容你都应该能脱稿讲出至少两三句展开而不只是说“我知道”。5.5 关于备考心态和现场发挥最后分享一点心态层面的体会。东土科技的笔试整体难度偏中等但出题角度比较“刁”和互联网公司的套路不太一样。如果你之前只刷了大厂的软件测试面试八股文做东土的卷子可能会不适应。我的建议是拿到卷子先快速浏览一遍所有题目对题目类型和考察方向有个整体判断再倒回去从头开始做。这样你心里有底不会因为前面选择题太难而影响后面简答题的发挥。现场做题时千万别在不会的题目上死磕。我当时的策略是单选题每题不超过1分钟判断题每题不超过30秒简答题每题控制在8到10分钟综合设计题至少留40分钟编程题控制在15分钟以内。时间分配表在心里过一遍答题节奏就稳了。另一件重要的事是笔试答题时尽量把你的思考过程写出来。哪怕是一道简单的选择题如果拿不准也可以在卷面上留个记号方便后面检查但不要在不会的题上花太多时间。简答题和设计题一定要写满分条写条理清晰字体工整。阅卷老师看那么多份卷子一份有条理的卷子天然会获得更高印象分。关于东土科技的软件测试岗位笔试核心信息就是这些。从我当时的备考经验来看最有效的方式不是去刷“押题”而是把基础知识过扎实再针对工业软件测试的场景去做专项训练。如果你能把这份帖子里提到的知识点都掌握到位笔试这关基本就稳了。后续有机会我再整理一下面试环节的经验。大家加油。
返回列表