ARTICLE DETAIL

资讯详情

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

系统测试与测试开发笔试通关指南:TME2024校招核心考点拆解

系统测试与测试开发笔试通关指南:TME2024校招核心考点拆解 TME2024校园招聘的系统测试/测试开发笔试II这个话题最近在应届生圈子里讨论度挺高。作为混迹测试行业多年的老兵见过不少校招新人笔试翻车也带过不少实习生成长起来今天就把这类笔试的考察逻辑、核心考点和答题思路完整拆一遍。无论你投的是系统测试还是测试开发方向只要能把这套东西吃透笔试这一关基本就稳了大半。1. 笔试整体格局先搞清楚这场考试到底在筛什么人1.1 系统测试和测试开发笔试的定位差异先说一个很多人容易忽略的点系统测试和测试开发虽然挂在一个招聘入口下笔试考卷也可能重叠但这两个岗位的筛选侧重点完全不一样。系统测试岗更看重你对测试理论的理解深度、用例设计能力、缺陷敏感度以及能不能把软件质量这件事讲清楚。它不需要你写多复杂的代码但你要能设计出覆盖到位的测试用例能说清楚等价类边界值怎么划能分清楚黑盒白盒的适用场景。笔试里通常会出现大量的理论选择题、场景分析题、用例设计题。测试开发岗则更贴近“开发”两个字它考察的是你用工程化手段解决测试问题的能力。笔试题里会有编程题、脚本编写题会考你自动化测试框架的理解、接口测试工具的用法、CI流程里测试环节的落地。你需要懂代码最好有实际写过测试工具或测试脚本的经验至少要能读懂并修改一段自动化脚本。打个比方系统测试是“怎么把东西测好”测试开发是“怎么做工具让东西更容易被测好”。一个是质量守门员一个是质量基础设施的建造者。两者都需要测试思维但后者对代码能力的要求明显上了一个台阶。1.2 笔试II意味着什么标题里的“II”值得单独拎出来说。参加过校招笔试的都知道TME这类大厂通常不会只发一套卷子。笔试II大概率对应的是第二批次的集中笔试也就是说你已经通过了简历初筛进入正式的技术考核环节。到这个阶段竞争已经不是简历关那种“随缘筛选”而是实打实的硬碰硬。这也意味着卷子的难度会偏向于区分度。那种纯靠背概念就能蒙混过关的题会很少题目结构通常是这样分布的基础理论题考察知识广度场景设计题考察思维深度编程题或脚本题考察动手能力。几类题目混在一起目的就是要把“真正懂测试的人”和“只是背过测试名词的人”清清楚楚地分开。我在面试候选人时经常遇到一种情况简历写的天花乱坠问一个“你怎么理解回归测试”就露馅了只能背出定义说不清楚什么场景该做全量回归、什么场景做冒烟回归就够了。这种人在机考环节表现也很典型选择题能过开放式设计题就写不出东西。所以提前搞清楚笔试题型的底层逻辑比盲目刷题重要得多。2. 核心知识板块笔试考察的内容地图2.1 测试理论基础概念框架和历史脉络这块是所有测试岗笔试的必考点题型一般是单选、多选、判断偶尔会有简答。考察的范围很固定但容易在细节上挖坑。软件测试的定义和原则是基础。比如测试是为了发现错误而执行程序的过程这句话听起来简单但考起来会绕着问比如“测试能证明软件没有缺陷吗”标准答案是不能测试只能证明缺陷存在不能证明缺陷不存在。这种话看起来像废话笔试里偏偏就有人选错。测试的生命周期模型也要理清楚。V模型、W模型、敏捷测试模型是高频考点。V模型强调开发和测试的对应关系W模型强调测试伴随开发全程敏捷模型则强调测试左移和持续测试。笔试考V模型的时候喜欢让你把各个阶段对应起来比如需求分析对应验收测试概要设计对应系统测试详细设计对应集成测试编码对应单元测试这条线一定要记牢。缺陷管理也是常考板块。缺陷的生命周期新建、指派、修复、验证、关闭、缺陷的严重级别和优先级区分、缺陷报告应该包含哪些要素这些都是系统测试岗的基础功。考法通常给一个场景问你缺陷的严重程度应该怎么定或者给你一份简化版缺陷报告让你挑问题。2.2 测试设计方法用例设计的硬功夫用例设计是系统测试笔试的重头戏也是最容易拉开差距的地方。等价类划分和边界值分析这两个方法必考考法通常是把两者结合让你针对某个输入场景设计用例。经典题目比如“一个输入框允许输入1到100之间的整数请设计测试用例”正确答案绝不是列出1和100两个值就完事而是要覆盖有效等价类、无效等价类小于1、大于100、非数字、为空、边界值0、1、2、99、100、101以及异常值特殊字符、超长字符、负数。我批改过不少类似的笔试题发现一个通病很多人知道边界值要测0和101但不知道边界值分析的本质思想是“错误最容易发生在边界附近”所以除了显性边界还要考虑业务隐含的边界。比如这个整数如果后续要参与分页那1到100的边界之外页码相关的边界也会变得重要。笔试的加分项恰恰体现在这种“多想一步”上。场景法也是必考内容。考法通常是给你一个电商下单、用户登录这类业务场景让你用基本流和备选流设计用例。这种题考的不是你能不能列出十条用例而是你能不能体现出对用户操作路径的理解。基本流覆盖主流程备选流覆盖分支和异常比如登录失败几次要锁定、库存不足怎么提示、支付超时怎么处理。设计完用例最好能简单标注每条用例覆盖了哪个分支这样阅卷人一眼就能看出你的思路。2.3 计算机基础Linux、数据库、网络协议这三块是测试岗笔试的共同考点占比根据岗位方向有所不同。系统测试岗通常考得比较浅测试开发岗则会更深。Linux是高频考点因为测试环境基本都在Linux服务器上。日志查看、进程管理、文件权限是必考三件套。tail -f 查看实时日志、grep 过滤关键字、ps -ef 查进程、kill 杀进程、chmod 改权限这些命令必须张嘴就来。笔试考法一般不会让你直接敲命令而是给你一个场景让你选命令比如“查看某个服务是否在运行”应该用什么答案就是 ps -ef | grep 服务名这个组合命令要能一眼认出来。数据库的考察集中在SQL查询上。单表查询、多表联查、分组聚合、排序分页是基本盘。测试岗不要求你写多复杂的SQL但你要能看懂一条带 JOIN 和 GROUP BY 的查询在干什么。笔试里经常出现“给定两张表查出满足某条件的学生姓名”这类题这种题拿不到分就太可惜了。网络协议方面TCP三次握手和四次挥手、HTTP状态码的含义、GET和POST的区别是三大常客。其中HTTP状态码考得最日常200是成功、301是永久重定向、302是临时重定向、400是请求错误、401是未认证、403是禁止访问、404是资源不存在、500是服务器内部错误、502是网关错误、503是服务不可用。这些必须记得比自己的生日还熟因为无论是接口测试还是系统测试排查问题第一件事就是看状态码。2.4 编程与自动化测试开发的核心分水岭如果你投的是测试开发岗这部分就是决定你能不能进下一轮的关键。笔试里的编程题一般不会出纯算法题那种难度但基础的数据结构和字符串处理必须过关。语言方面Python是测试开发的主流选择部分团队用Java但笔试通常不限定语言。重点考察的是你对字符串处理、列表字典操作、文件读写、异常处理这些基础能力的掌握。比如给你一段日志文件让你统计某个关键字的出现次数或者提取出所有IP地址这种题就非常典型。自动化测试框架的概念题也很常见。Selenium的定位策略、pytest的fixture机制、unittest的断言方法、接口测试中requests库的用法这些都是考点。考法通常不会让你手写一个完整的框架但会给你一段不完整的脚本让你补充关键步骤或者给你一段有bug的脚本让你定位问题。举个例子Selenium定位元素经常考的有八种定位方式id、name、class name、tag name、link text、partial link text、xpath、css selector。笔试里常见的坑是给一个HTML片段让你选出正确的xpath很多人一上来就写绝对路径 /html/body/div[1]/div[2]/span这种写法又长又脆弱正确的做法是用相对路径比如 //span[classerror-message]。这种细节阅卷人一眼就能看出你是不是真的写过自动化。3. 题型实战典型考题的答题思路拆解3.1 场景设计题细节决定成败这类题通常占据分值的大头也是最考验功力的部分。常考的场景包括登录功能、购物车结算、文件上传、搜索功能、支付流程、消息推送。拿登录功能举例一个完整的用例设计至少应该覆盖这几个维度第一是功能维度正确的用户名和密码能不能登录成功。第二是认证维度用户名正确密码错误、密码正确用户名错误、两者都错分别应该有什么表现。第三是参数维度用户名为空、密码为空、包含特殊字符、超长输入系统是否都给出了合理提示。第四是安全维度连续输错密码是否触发锁定或验证码密码在传输过程中是否加密登录状态的有效期是多长。第五是兼容维度不同浏览器、不同操作系统、移动端和PC端的表现是否一致。第六是异常维度网络中断时点击登录、服务端超时、数据库连接失败系统是怎么兜底的。我见过很多人在笔试里只写前两三类就停笔了这其实很可惜。阅卷时间有限面试官看你写的用例数量多、覆盖面全第一印象就上来了。哪怕你写的个别用例粒度有点细也比别人多写两倍篇幅来得有优势。答题的时候还要注意表述规范。每条用例最好按照“前置条件 操作步骤 预期结果”的结构来写。前置条件是这条用例触发的前提操作步骤要具体到点击哪里、输入什么预期结果要可验证。这样写出来的用例体现的是你做事的条理性和规范化程度这恰恰是测试岗最看重的素质。3.2 程序阅读题代码功底的真实考验测试开发岗位的笔试里程序阅读题是必出的。给你一段不完整的代码或者一段有bug的代码让你指出问题或者补全逻辑。这种题考察的不是你背了多少语法而是你能不能站在程序的角度去思考问题。常见的出题点包括列表越界访问、变量作用域混淆、循环条件写错、字符串拼接效率低、没有处理边界条件、异常捕获范围过大把bug吞掉。这些题目难度不大但如果不细心很容易被绕进去。举个例子常见的一个坑是这样的让你计算一个列表中所有偶数的和给出的代码里用了 for i in range(len(list))然后判断 list[i] % 2 0这本身没问题但如果你忽略了一个细节比如列表为空时程序会不会报错或者列表里有负数时逻辑是否正确就会掉坑。这时候如果你能在答案里主动写出边界情况处理比如“当列表为空时应返回0”这就是加分项。程序阅读题还有一个答题技巧先读题目的要求再读代码最后看测试用例。很多人一上来就逐行读代码效率低不说还容易被细节带偏。正确的方式是先明确这段代码要实现什么功能然后带着功能预期去看代码这样bug藏在哪里会更容易暴露。3.3 综合开放题拉开差距的隐形战场笔试的最后通常会有1到2道开放题没有标准答案考察的是你的思考深度和表达结构。常见的有“如何测试一个电梯系统”“如何设计微信朋友圈的测试方案”“如果要你开展自动化测试你的第一步是什么”。这种题没有准备过的人写出来的东西往往是一团浆糊。一会儿说功能测试一会儿说性能测试思维跳跃得让阅卷人无从下手。有经验的人会怎么答呢先搭框架再往框架里填细节。框架通常包括需求分析、测试范围、测试策略、测试方法、风险控制、进度安排。以“如何测试一个电梯系统”为例一个结构清晰的答案应该是这样的先说测试范围软件层面测试的是电梯的控制逻辑包括楼层调度、开关门控制、紧急停止、超载检测这些子功能。硬件层面测试的是按钮响应、传感器反馈、显示屏提示这些交互设备。再分层设计功能测试层面覆盖单层呼叫、多层呼叫、上行下行优先级、满载跳过等场景。可靠性测试层面模拟断电恢复、长时间运行稳定性、连续开关门次数。性能测试层面关注电梯高峰期的平均等待时间、调度响应时间。用户体验测试层面关注按键灵敏度、开关门时长是否合理。最后说风险点比如多部电梯联动调度时的逻辑冲突、安全相关故障的兜底策略、恶劣环境下的传感器稳定性。答到这一步层次就出来了。哪怕你对电梯系统一无所知但完整的测试思维框架已经向阅卷人证明了你具备独立承担测试设计工作的潜质。4. 测试开发方向的技术准备比刷题更重要的事情4.1 从手工测试到自动化测试的思维转变很多应届生在准备测试开发笔试时把大量时间花在背Selenium的API上这是一个典型的误区。笔试可以靠背API过关但面试环节一问细节就露怯。真正的测试开发思维是从“一个个手动点按钮”转向“用代码代替重复劳动”。我用一个实际的例子说明。手工测试登录功能你需要准备十组不同的用户名和密码然后一次次手动输入、点击、观察结果。自动化测试的思路是把测试数据和测试步骤分离写一个脚本遍历测试数据自动执行操作自动比对结果最后生成一份测试报告。这个思维转变在笔试里也会有体现。比如让你设计一个接口自动化测试方案你要能答出这几个层次选用什么工具或框架、测试数据怎么管理、用例断言怎么写、失败重试机制怎么实现、测试报告怎么生成、如何接入CI流水线。能把这个链路说清楚说明你是从工程角度思考问题的而不是只会点按钮。我见过不少笔试答案写接口自动化测试方案只会写“用Postman调接口看返回结果对不对”这跟自动化三个字基本不沾边。同样的问题一个合格的测试开发候选人应该写出用Python脚本结合requests库发送HTTP请求通过pytest组织用例使用数据驱动从Excel或JSON读取参数化数据断言部分不仅校验状态码还用jsonpath校验关键业务字段最后通过Allure生成测试报告并上报到CI系统。两者一对比能力差距一目了然。4.2 学习路线从零到能通过笔试的路径参考如果你是明年才参加校招的低年级同学或者现在准备时间还比较充裕可以参考这条路线去积累第一站是先建立测试理论基础。找一本经典的软件测试教材通读一遍知道测试的分类、流程、用例设计方法、缺陷管理这些是地基地基不稳后面全是空中楼阁。建议给自己两周时间每天抽两小时把重点概念过一遍边看边做笔记。第二站是上手一个项目练手。找个开源项目或者自己写个简单的Web应用把学到的测试方法用起来。设计测试用例、执行测试、记录缺陷、写测试报告完整走一遍流程。这个阶段的目标不是测得多深而是把从需求到验收的全流程走通。第三站是学自动化测试。从接口自动化入手用Python requests pytest 搭一个最小的接口测试框架。然后学UI自动化Selenium是绕不开的但要明确一点UI自动化只是自动化测试的一部分不是全部不要在一棵树上吊死。第四站是补计算机基础。Linux常用命令、SQL查询语法、HTTP协议、数据结构与算法基础这些是测试开发的通用能力笔试面试都会用到。每天花半小时刷几道题坚持三个月效果就很明显。第五站才是刷校招笔试真题。这时候刷题是有意义的因为你已经有了完整的知识体系刷题是为了熟悉题风和题型分布查漏补缺。如果一开始就从刷题入手很容易陷入“背答案但不会应用”的困境。4.3 特别提醒AI辅助测试相关的准备思路近期测试开发圈子里AI相关的话题热度很高笔试考卷里也偶尔会出现相关考察点比如“AI能替代测试工程师吗”“如何用AI辅助生成测试用例”。这个趋势值得各位应届生注意但也不要被带偏节奏觉得不学AI就没法做测试了。笔试里如果出现AI相关题目考察的核心不是你会不会训练模型而是你有没有在测试场景中应用AI工具的思路。比如用大模型生成测试用例然后人工筛选和补全或者用AI辅助分析测试失败日志缩小问题定位范围。能答出这些应用层面的思考就说明你对产业趋势有观察有前瞻意识。但要注意当前很多测试团队对AI落地仍然处于探索阶段所以这类题目的分值通常不会太高也不会作为硬性淘汰项。重点仍然是基础测试能力和代码基本功。不要本末倒置把大量时间花在研究AI模型本身而忽略了测试理论的积累。5. 实操经验笔试过程中的时间分配和答题禁忌5.1 时间分配策略笔试的时间通常比较紧张题量不小而且最后还有开放题要写。合理的分配方式是先快速浏览整张卷子对题目难度和分值有个整体判断然后按照“先易后难、先高分后低分”的原则作答。选择题和判断题控制在总时长的大约三分之一以内。这类题会就会不会也不要恋战凭第一感觉选一个标记下来把节省出来的时间留给用例设计题。用例设计题是拿分大头至少要留出四成的总时长这类题写得好不好直接决定了你能不能进面试。编程题和开放题放在最后编程题有思路就写没思路也要写点伪代码上去完全空白是最差的答案。我当年笔试时吃过一个亏在一道Linux命令的选择题上纠结了五分钟回头发现后面一道用例设计题没时间写完整。从那以后我养成了一个习惯每道题设置一个心理时间上限到点没思路就跳过做完一轮再回头补。这个习惯也推荐给大家。5.2 答题中容易踩的“暗坑”第一个坑是答题不规范。笔试系统里要求用专业术语就写专业术语不要用口语化的表达。比如描述测试结果时“会报错”这种说法就不如“系统返回500状态码并提示服务器异常”来得专业。规范的表述本身就在向阅卷人传递你的专业素养。第二个坑是不重视边界。用例设计题里只写正常流程不写异常流程和边界条件这种答案拿不到高分。测试的黄金法则是“正常流程测试实现异常流程测试质量”异常场景设计不到位说明你对质量的理解还停留在表面。第三个坑是代码题不检查。笔试系统的编程题通常没有本地IDE环境写完代码很容易出现语法错误或者缩进问题。建议写完代码后在脑子里手动走一遍关键分支模拟几组输入数据看看输出是否符合预期。实在没把握也要在代码注释里说明自己的思路让阅卷人知道你是有思考的。第四个坑是开放题不写结构。开放题最容易出现的情况是想到哪里写到哪里整段文字像流水账。阅卷人要在几十秒内看完你的答案如果找不到逻辑主线就算内容里有亮点也会被忽略。写开放题之前先花一两分钟列个提纲分点论述哪怕每个点只有两三句话结构清晰的答案都会比长篇大论更容易得高分。5.3 笔试后的复盘比成绩更重要的事笔试结束不等于万事大吉。每一次笔试都是一次免费的行业模拟测试无论成绩如何都应该认真复盘。复盘不是对答案那么简单而是要分析失分原因是知识点漏洞是时间分配不合理还是答题结构有问题。把这些记录下来下一次笔试前翻一遍进步就藏在这一次次复盘里。我见过一个应届生把每次笔试的复盘文档整理得比面试笔记还详细标清楚每道题涉及的知识点、自己的回答、参考答案的差异点、改进方向。他最终拿到了好几个大厂的offer复盘文档起了很大的作用。如果你这次笔试没发挥好也不用心灰意冷。校招是马拉松不是百米冲刺。这一家没过后面还有很多机会。但前提是你必须从失败中真正学到东西而不是简单地把失利归结为运气不好。把每次笔试当成一次练级能力和经验都是在一次次实战中磨出来的。6. 面试阶段会怎么衔接笔试内容投测试开发方向的同学还要注意笔试只是第一关面试环节通常会围绕笔试中的薄弱点展开追问。比如你笔试中有一道SQL题写错了面试官就可能针对性地问你JOIN和子查询的区别和应用场景。如果你笔试里用例设计写得很单薄面试官可能现场给你一个新场景让你口述设计思路。所以笔试结束之后不要觉得任务完成了还要把自己在笔试中不太确定的知识点找时间补扎实。面试官不是要为难你而是想确认你的知识边界到底在哪里以及你有没有自驱力补上自己的短板。能主动说出“笔试中这个点我没答好后来我查资料补了一下现在我的理解是……”反而比支支吾吾更让面试官认可。另一方面面试中对测试流程的理解通常会被问得很细。从需求评审开始到测试计划、用例评审、执行、缺陷管理、测试报告、上线验证每一步你都要能讲出实际操作经验。尤其要能说清楚缺陷从提交到关闭的完整流程以及如何和开发沟通推动缺陷修复。这些经验想要通过临时背模板来应付是不现实的最好都在项目实操中亲自体会过。我在带团队的时候判断一个校招生有没有潜力首先看他能不能把项目经历里的测试工作讲明白。问“你的项目是怎么做测试的”如果能答出设计了多少条用例、覆盖了哪些重点模块、发现了哪些重要缺陷、最终怎么推动修复的这个人是真的做过事的。如果只会说“我们项目做了登录和注册功能的测试”那基本就是划水了。关于如何准备项目经历也有一个建议不用做大而全的项目把一个项目的测试工作做深做透胜过去做十个浅尝辄止的练习项目。比如你自己写一个简单的待办事项管理应用针对它的增删改查做完整的功能测试、接口自动化测试和性能测试把它拆开揉碎讲清楚足够在面试中展示你的核心能力。笔试只是校招长跑里的一个路标真正决定你能不能拿到offer的是你对测试这件事本身的热情和投入程度。这个行业并不神秘也不需要天赋异禀它更需要的是踏实、细心、爱思考分析问题的人。每一次笔试、每一次反问都是你展示自己这些特质的机会。把基本功打扎实把每个项目经历都做透offer是水到渠成的事。
返回列表