软件功能测试面试100题:从基础理论到用例设计与缺陷管理

发布时间:2026/10/11 8:12:07
软件功能测试面试100题:从基础理论到用例设计与缺陷管理
软件功能测试岗位的校招季我每年都在面试官对面坐大半天。让我头疼的往往不是应届生不会写用例而是很多人把测试理解成“点点点”连基础理论框架都没有一上来就磕磕巴巴。这篇文章把我陆陆续续整理的100道软件功能测试面试题按模块归拢每道题都对应届生友好并附了答题要点和面试官喜欢追问的坑。不管你是正好在准备功能测试岗的面试还是刚转到测试方向建议按模块过一遍比盲目刷题有用。1. 测试基础打底这10道题答不好后面全白搭1.1 软件测试的定义、目的与调试边界第1-3题第1题问什么是软件测试第2题问软件测试的目的是什么第3题问软件测试和调试的区别。这三道通常是整套面试的开场题看起来送分实则埋着很多追问。回答时别只背定义要把“验证软件是否满足需求”“发现缺陷”“评估软件质量”三个维度说全。软件测试的本质不只是找bug而是对一个系统做质量判断和风险分析为发布决策提供依据。至于目的能说出“尽早介入、降低修复成本、为产品上线守门”才算完整。测试和调试的对比很多应届生只会说一个找缺陷一个改缺陷其实还可以补一句测试是正向验证加逆向找问题调试则是从现象反推定位代码根因两者目标不同、主体不同、手段也不同。这里有个高频追问测试能不能保证软件没有缺陷标准答案是不能测试只能证明缺陷存在无法证明缺陷不存在。别小看这句话它决定了后面你所有用例设计思路是否科学。如果面试官继续问“那为什么要测那么多轮”你就要往风险控制和质量评估上引。能主动说出“测试的价值是降低风险而不是消灭风险”这道题基本就过关了。1.2 测试原则、质量模型与黑盒白盒第4-7题第4题问软件测试的七大原则第5题问质量模型第6题问功能测试和非功能测试的区别第7题问黑盒测试和白盒测试的区别。这四道题是测试理论的核心也是简历上写着“熟悉软件测试流程”的人最容易被追问的地方。七大原则不用全背关键是能把“穷尽测试不可能”“缺陷具有集群性”“测试活动应尽早介入”“零缺陷不等于软件可用”这四条讲清楚每条再配一个例子。质量模型按ISO 25010记主类功能、可靠、易用、效率、可维护、可移植面试官问功能测试关心哪些质量特性你第一反应应该是功能性、兼容性、易用性性能、安全性这类属于非功能范畴。黑盒和白盒的区别说白了一个不管内部实现一个要读代码功能测试岗位以黑盒为主但懂点白盒思维会加分比如知道代码分支覆盖和条件覆盖的概念就能在用例设计时多一层视角。1.3 回归、冒烟与探索性测试第8-10题第8题问什么是回归测试第9题问什么是冒烟测试第10题问什么是探索性测试。这三道题表面考概念实际考你手上有没有真实项目经验。回归测试是开发修复bug后把受影响的旧功能重新验证一遍重点是判断改动有没有破坏原有逻辑所以用例要选“受影响模块的关键用例全量主流程用例”。冒烟测试是提测版本的主流程快速验证像登录、首页加载、核心下单这条路能走通才进入详细测试。应届生最容易把冒烟和回归说反我面试时听十个人有两个人搞混。探索性测试则强调不依赖固定脚本边设计边执行边学习适合做功能测试的补充尤其是在时间紧、文档不全的时候靠经验找漏网点。答完这三个概念最好再补一句“冒烟是入口关、回归是收尾关、探索是补充网”面试官一听就知道你不是死记硬背。2. 流程与生命周期过程题拼的是理解力2.1 从V模型到敏捷测试介入第11-15题第11题问V模型第12题问W模型第13题问敏捷开发里的测试角色第14题问测试应该什么时候介入第15题问测试计划包含哪些内容。这五道题是流程题的代表主要考察你对测试在软件开发全流程里位置的理解。V模型把开发和测试阶段一一对应需求分析对应验收测试、概要设计对应系统测试、详细设计对应集成测试、编码对应单元测试优点是阶段清晰缺点是测试放到最后明显晚了。W模型强调测试和开发并行需求分析时测试就要开始写测试计划、设计用例这更符合现在多数企业的实际节奏。敏捷模式里测试不再是一个收尾角色而是随时和产品、开发对齐需求拆解时就要考虑怎么验。第13题的追问很常见敏捷迭代中测试用例是写详细还是写简略我的回答是分层冒烟用例和核心业务用例要详细边角场景靠探索性测试补。第14题时间点最佳答案是需求评审阶段越早介入越能提前发现逻辑漏洞成本也最低。第15题测试计划一般包含背景、范围、进度、资源、风险、策略、准入准出。特别提醒应届生别把测试计划说成“写个word文档”要说清楚它是用来指导测试任务和资源协调的面试官想看的是你对测试活动有全局观。如果还能提到“计划里要预留缓冲时间因为测试执行阶段最容易出现环境问题和回归返工”那这道题就能答出经验感。2.2 准入准出、测试报告与度量指标第16-20题第16题问测试准入条件第17题问测试准出条件第18题问怎么编写测试报告第19题问测试结束的标准是什么第20题问有哪些度量指标。这五道题是流程管理的收尾题校招面试里常以“你们项目怎么判断能不能发布”来问。准入条件说白了是开发递交版本前的基本门槛需求文档齐全、冒烟测试通过、核心功能打包部署成功、开发自测完成。准出条件则包括用例执行率达到预期、遗留缺陷有评估结论、风险可接受、测试报告已输出。很多应届生只答“所有用例都通过”这样答不全面因为实际项目中罕见100%用例通过关键是残余缺陷被确认无重大影响。测试报告的要素可以按五块记忆测试概述、测试环境、测试执行情况、缺陷分析、结论与建议。缺陷分析里最好带上Bug级别分布、遗留缺陷清单、按模块统计的缺陷率这几个数字。测试结束标准要区分“计划内的结束”和“风险决策后的结束”前者是目标达成后者是评估后接受风险。度量指标建议回答用例执行率、用例通过率、缺陷数量、缺陷密度、遗留缺陷比例、平均修复时长能说出来两三个并解释含义就已经超过大多数应届生了。如果能举一个例子比如“上一轮执行了200条用例通过率85%遗留2个严重缺陷经产品确认可带病上线”整道题的临场感会强很多。3. 用例设计功能测试的核心手艺活3.1 设计方法等价类、边界值、判定表与场景法第21-30题第21题到第30题集中考察测试用例设计方法分别是等价类划分、边界值分析、判定表、因果图、场景法、正交试验、错误推测法、如何保证覆盖率、用例的要素、用例评审。这十道题是功能测试面试的大头占了整个岗位笔试和面试题里的最高权重。我见的应届生里能把等价类和边界值说清楚的占一半能把判定表说出名堂的不到两成这十道题是你和其他候选人拉开差距的位置。等价类划分是先把输入数据分成有效等价类和无效等价类每个类取一个代表值设计用例。它最大的价值是用少量数据覆盖大量输入情况。面试官常挖的两个坑一是无效等价类每个都要单独设计用例吗答案是应该单独因为一个用例里同时放两个无效数据无法判断是哪个数据触发的报错二是边界值该怎么用以年龄输入1-100为例上点是1和100离点是0、101内点可以取50测试时要重点关注0、1、100、101这四个数。再者边界值往往覆盖了等价类的临界值一个边界值用例可能同时属于某个等价类设计时不用刻意回避但要保证每个边界至少被一条用例覆盖。判定表和因果图很多人觉得难其实判定表就是条件组合表把条件的各种取值组合列出来再对应动作。比如优惠券系统是否登录、是否过期、金额是否达标三个条件穷尽组合是8种判定表就把每一列变成一道用例避免遗漏组合。因果图适合用来推导复杂原因和结果的关系但工作里直接画因果图的人少大多数场景用判定表就够了。场景法则是基本流加备选流把用户真实操作路径走一遍比如登录失败、找回密码、退出登录三个分支都是备选流。面试官问“给你一个场景你从哪下手”我用这题的思路回答就能镇住场先理清路径主干再逐一延展分支和异常。正交试验法适合参数多、组合爆炸的场景比如三个维度四个参数的搜索筛选用正交表能大幅度压缩用例量。应届生只需明白它不是不用组合而是用统计学方法挑出代表性组合。错误推测法最吃经验比如输入框空格、文字超长、小数点后多位、连续快速点击提交按钮这些在正式用例里不一定能覆盖到但测试老手会下意识补进去。没有经验怎么办提前把高频bug类型记下来比如空值、超长、特殊字符、重复提交、边界翻转面试时能说出来就是加分项。这两个方法放在一起答的好处是能让面试官看到你在“系统设计用例”之外还有“基于经验补漏”的意识。第28题怎么保证覆盖率建议从需求和代码两个维度答需求覆盖率要尽量100%核心业务链路全走一遍代码覆盖率只能作为参考行覆盖可以100%但分支覆盖可能不到80%。面试官喜欢听你承认“覆盖率不是越高越好”因为要算投入产出比这一回答比喊口号更显成熟。第29题用例要素核心是编号、标题、前置条件、操作步骤、测试数据、预期结果、优先级、用例类型能说出这八项说明你真的写过用例。第30题用例评审一定要提到产品、开发、测试三方参加评审重点是需求理解是否一致、用例是否有遗漏、预期结果是否可验证而不是走过场。答完可以补一句“评审会上我通常会把边界值用例单拎出来让大家确认因为这个最容易有争议”细节感立刻就有了。3.2 实战设计登录、购物车、支付、搜索与上传第31-40题第31题到第40题进入实战设计环节登录功能、登录失败提示、购物车、支付、搜索、文件上传、分页列表、表单校验、并发操作、兼容性。这是功能测试岗位面试的高潮部分面试官常常直接拿一张纸让你写用例或者让你口头把你的设计思路讲出来。登录功能是标配题目也是最容易看出一个人有没有测试思维的分水岭。第31题登录用例我的建议是分三个维度铺开。正常场景一条正确用户名、正确密码、验证码正确。等价类和边界值一组用户名为空、密码为空、用户名长度在边界值、密码长度在边界值、格式不对。安全场景一组密码错误五次锁定、点击记住密码后下次是否自动填充、是否允许复制密码框、登录后返回上一页是否还停留在登录态。把这些写出来面试官就知道你有基本意识。第32题登录失败提示要考虑不能泄露“用户名不存在”还是“密码错误”的细节站在安全角度看这容易被暴力破解利用功能测试虽然不直接负责安全但测试设计时要能想到。第33题购物车用例要抓关键点加购、改数量、删商品、清空、价格同步、库存联动、未登录加购再登录、商品下架后是否保留。改数量时特别要测数量输入为0、负数、超过库存、保留两位小数这些边界。第34题支付功能测试最容易出问题是金额精度和重复支付支付成功回调网络超时客户端刷新后会不会出现已扣款但订单未完成这是老测试人爱考察的异常场景应届生能主动提到就很加分。还应该覆盖退款、取消订单、支付密码错误、余额不足、优惠券与满减叠加每个状态流转都要有断言。第35题搜索功能用例设计无非是关键字正常命中、模糊命中、大小写、首尾空格、表情符号、超长关键字、无结果、搜索结果排序、搜索历史其中分页和结果数统计最容易漏。第36题文件上传是功能测试经典坑题要测文件类型、大小限制、文件名含特殊字符、上传中取消、重复上传、杀毒文件、半路上传失败后的残留处理能把这些点说出三四个说明你不是只会点按钮。第37题分页列表要关注首页、末页、中间页、总数据量为0、总页数刚好整除、翻页后勾选项是否保留、排序后页码是否刷新这些都是企业系统里高频bug。第38题表单校验主场景是必填项校验、格式校验邮箱、手机号、身份证、非法字符、长度限制、失去焦点触发与提交时触发的一致性。要注意一个常见坑有些系统只在提交时校验但离开输入框时不提示这算不算bug要看需求怎么写面试时能把这个边界说清楚会显得专业。第39题并发操作最简单也最常见的场景是两个人同时编辑同一条数据后提交的人应该看到乐观锁冲突提示或者是先到先得后到后失效。做功能测试不一定用压测工具但可以在多窗口、多设备上手动重复点击提交按钮观察幂等性。第40题兼容性核心维度是浏览器、操作系统、分辨率、移动端webview回答时别背一大堆组合要说清楚采用等价类思路选代表性环境主流Chrome、Safari、Windows、Mac、iOS、Android各覆盖一类即可。4. 缺陷管理从发现到关闭的闭环4.1 缺陷生命周期、级别与不认可Bug的应对第41-46题第41题问bug的完整生命周期第42题问缺陷级别划分第43题问有效缺陷要包含哪些信息第44题问偶现bug怎么复现第45题问bug和需求不符怎么界定第46题问开发不认可bug怎么办。缺陷管理是功能测试面试的必考模块应届生如果没有实习经验这块很容易露怯因为光靠背概念说不出实操感受。第41题缺陷生命周期标准路径是新建、分配、打开、修复、待验证、关闭如果开发不认就变成拒绝、重新打开如果实现方式与需求有争议还要走项目经理仲裁。这里有个细节验证不通过时一定不要直接“关闭”要重新打开并注明验证步骤和实际结果否则后续追溯会断掉线索。第42题缺陷级别一般分为致命、严重、一般、轻微四档致命是系统崩溃、数据丢失严重是主要功能不可用一般是次要功能异常轻微是界面或文案问题。回答时最好带上优先级的区别级别表达影响程度优先级表达解决顺序有些严重级别的bug可能被放低优先级处理这不算矛盾。第43题有效缺陷信息除了标题、步骤、预期结果、实际结果、复现概率、版本号、环境还要截图和日志。应届生容易漏掉预置条件和数据比如只在会员状态下出现只说一句“登录后下单报错”是不合格的。第44题偶现bug我的经验是三步走先复现环境包括网络、账号、设备、时间点再缩小范围用二分法去掉多余步骤最后多开样本用工具录屏抓日志。面试官要的是你的排查思路不是“这个bug我还没复现”。第45题bug与需求不符核心是先回到需求文档和产品经理确认“以谁为准”说的俗一点叫需求归口不要自己拍板。第46题开发不认可bug最忌讳当场争论正确流程是你拿出需求文档和操作步骤当着开发的面再走一遍把实际结果和预期结果摆出来如果开发坚持认为是需求变更就拉产品一起确认。这几个问题之间的逻辑关系是先知道什么是完整缺陷再知道怎么推动缺陷被修复你顺着这条主线答比单独背答案自然得多。4.2 四个经典缺陷案例怎么分析第47-50题第47题到第50题是缺陷案例分析面试官会给你一个场景看你能否说出根因排查方向。第47题电商库存异常典型问题描述是下单成功后库存扣减了但支付失败取消订单后库存没恢复。答题思路是先查事务扣库存和生成订单是不是同一个事务再查取消回调取消订单时是否调用了释放库存接口失败有没有重试机制最后考虑并发一个订单包含多件商品时某件释放失败是否导致整体回滚失败。这个案例万金油答完电商库存再扩展到转账、预约场景也一样成立。第48题登录后token失效前台表现为用户一直跳回登录页。排查方向先看token过期时间设置和刷新机制再看服务端是否将用户状态存了本地缓存导致多端不一致最后看客户端请求头有没有正确带token。功能测试面试时不需要你说出具体代码但要有能力描述“我用抓包工具看请求头是否携带token再用不同客户端对比”这个回答就够他判断你接触过联调。第49题列表排序不对先判断是后端返回顺序错还是前端渲染错方法是抓接口看返回数据是否乱序如果返回有序而显示乱问题在前端渲染如果接口就乱再看排序字段、排序方向、默认排序参数。第50题金额计算精度问题比如满100减20后应支付金额变成79.999…元。思路是先确定计算发生在前端还是后端前端计算容易受浮点数精度影响推荐做法是金额统一用整数类型单位分传入后端计算功能测试层面要设计折扣后结果是否四舍五入、优惠分摊是否可能导致几分钱误差、并发下单时优惠券是否超发。能让面试官听到你用“分”作为最小单位计算已经证明你踩过这个坑。这四个案例建议形成一个共同模板先环境、再数据、再代码方向最后给结论。记下这个排查顺序以后面试任何案例分析题都能套。5. 数据库与Linux应届生最容易被问倒的硬技能5.1 数据库专项查询、构造数据与事务第51-60题第51题问为什么测试要会数据库第52题问常用查询语句第53题问怎么用插入和更新构造数据第54题问删除和软删除的区别第55题问索引的作用。这五道题是数据库专项的前半场。面试官问数据库并不是要你成为DBA而是想确认你有能力准备环境数据、验证测试结果、排查线上问题。第51题的回答主线是三条第一条是构造数据没有现成的会员积分或订单数据需要自己insert第二条是验证结果页面显示的总金额对不对要看order表里的金额字段和明细表是否一致第三条是辅助排查一个接口查到的数据空SQL直接跑一遍就能判断是代码问题还是数据问题。第52题至少要熟练SELECT、WHERE、JOIN、GROUP BY、ORDER BY、LIMIT、子查询面试时会当场让你写以下这段是常见场景查最近一个月下单金额最高的前10个用户。SELECT u.id, u.name, SUM(o.amount) AS total_amount FROM order o INNER JOIN user u ON o.user_id u.id WHERE o.create_time 2025-10-01 00:00:00 AND o.status paid GROUP BY u.id, u.name ORDER BY total_amount DESC LIMIT 10;写SQL时要注意GROUP BY的字段要写全聚合函数配合GROUP BY时SELECT出的非聚合字段全部要出现在GROUP BY里字段引用用别名避免混淆。很多应届生笔试挂在这一步不是因为不会写而是因为习惯写SELECT *面试官一看就觉得不专业。第53题插入和更新数据核心是构造测试数据时不要污染正式环境。测试环境可以直接insert但要保证数据的关联完整性比如订单表插入外键ID必须在用户表存在修改存量数据前先备份原始值测完再还原。第54题删除和软删除功能测试通常关注界面的“删除”对数据的真实影响物理删除是直接从表中删掉软删除是逻辑上标个is_deleted1列表查询默认过滤软删除数据。很多新手测删除时只看了页面显示没查数据库导致数据残留上线后被搜索出来这就是软硬删除没区分清楚。第55题索引面试常问为什么加了索引还是慢答题点是很可能没有命中索引比如字段用了函数、范围查询、走了全表扫描功能测试不需要调优但要会看执行计划用EXPLAIN确认是否全表扫描。第56题问事务ACID第57题问主键外键和唯一约束第58题问分组和聚合函数第59题问LIKE模糊查询和NULL第60题问数据库备份恢复与测试的关系。这五道题更偏理论但也都很基础背慢点没关系关键是结合实际。第56题事务ACID四个名词要能用自己的话讲出来原子性说成“要么全部成功要么全部失败”一致性说成数据从不合法状态变成合法状态隔离性说成并发事务互不干扰持久性说成提交后即使宕机也不丢。这题经常结合下订单场景来问扣库存和写订单表两步不能一个成功一个失败这就是事务保住的底线。第57题主键就是每行数据的唯一标识外键是表之间关联的约束唯一约束是某个字段值不能重复。功能测试里常见场景是新注册用户使用了已经注销的手机号数据库唯一索引会直接报错界面如果没有好的提示用户会看到一条难看的红色error这属于功能测试要配合数据库约束去验证的入口异常场景。第58题分组和聚合函数多与统计报表场景绑定比如统计每天的新增用户数面试现场写SQL要记得COUNT、SUM、AVG、MAX、MIN这几个函数以及WHERE和HAVING的区别过滤行用WHERE过滤分组用HAVING。第59题LIKE模糊查询要答出通配符%和_以及性能问题前置通配符LIKE %关键字会导致索引失效。NULL比较必须用IS NULL不能用 NULL一个NULL参与逻辑运算的结果是UNKNOWN这部分新手完全不知道能说出来会让人眼前一亮。第60题备份恢复按理说是DBA的活但测试工程师在构造环境和演练数据恢复时也需要理解。面试官考这题通常是想看你有没有安全意识测试操作可能导致数据被误改所以要养成“动数据前备份/导出原始SQL”的习惯。能用一句话说出“备份是为了在错误操作后能还原现场”就够了不用展开讲具体工具。5.2 Linux专项日志、进程、权限与部署第61-70题第61题问为什么测试要懂Linux第62题问怎么查看日志第63题问查看进程和端口第64题问文件权限第65题问磁盘内存检查。这五道题对应Linux专项是很多文科背景应届生的死穴但实际上难度很低只要背熟十几个命令就能过关。面试官的底层逻辑很简单你连日志都不会看怎么定位环境问题和线上缺陷第61题的答案分两点第一测试环境搭建和版本部署经常需要自己操作服务器第二线上问题排查时日志是还原现场的第一手材料。第62题查看日志组合拳是tail、grep加管道实时跟踪日志用tail -f搜关键字用grep按时间范围捞一段日志用sed。下面这段是最常见的面试手写题统计错误日志里出现“Exception”的次数。grep -c Exception /home/test/app.log再复杂一点看当天20点到21点之间日志中所有ERROR级别的记录可以用sed -n /2025-10-01 20:00:00/,/2025-10-01 21:00:00/p app.log | grep ERROR。应届生如果能写出这个面试官基本不会再刁难。第63题查看进程和端口进程用ps -ef|grep java端口用netstat -tlnp | grep 8080功能测试面试只要知道这两个场景就够。第64题文件权限重点理解r、w、x三位chmod 755常见于部署脚本chmod 777被不少安全规范禁止面试的时候补一句“生产环境很少用777不安全”立马加分。第65题磁盘和内存执行free -h看内存df -h看磁盘使用率top看系统负载和CPU占用这三个命令是服务器健康检查的标配。第66题到第70题分别是查找文件、压缩解压、tar部署、sed替换、日志排查综合题。第66题find / -name app.log是最简答法which用来查命令位置第67题压缩解压要分清tar、gzip、ziptar -czvf打包并压缩tar -xzvf解压面试时最容易写错的是中间那层z很多人都丢在这。第68题tar包部署要知道部署包一般会解压到指定目录然后重启应用测试关心的不是流程而是版本号和配置项所以解压后要检查jar包或配置文件里的版本标识。第69题sed替换常见场景是替换配置里的服务器地址sed -i s/192.168.1.10/192.168.1.20/g app_config.properties。注意-i表示直接修改文件面试时能提醒一句“操作前先备份”说明你有生产意识。第70题日志排查综合题面试官会给一段报错日志让你猜问题比如看到Connection refused能联想到数据库端口没开、连接数满了、网络不通看到NullPointerException能想到空对象未判空看到OOM能想到内存配置不足。功能测试不要求你读完整堆栈但至少能根据关键词判断是哪一类故障再决定要不要提单给开发。6. 接口与网络功能测试向上走的阶梯6.1 网络协议基础状态码、会话与抓包第71-80题第71题问常见HTTP状态码第72题问GET和POST的区别第73题问Cookie、Session和Token第74题问HTTPS与HTTP的区别第75题问常见请求头字段第76题问TCP和UDP的区别第77题问DNS解析过程第78题问幂等性第79题问接口测试和UI测试的区别第80题问抓包工具的用途。这十道题覆盖功能测试向上进阶时最需要的网络基本功。大部分应届生只测过界面没测过接口所以网络协议题往往是最能拉开差距的部分认真准备的人很容易建立好感。第71题状态码不需要全背但必须能把200、201、204、301、302、400、401、403、404、500、502、503分清。面试官会设置场景来问比如“用户登录失败应该返回什么状态码”正常业务失败应该返回200但body里带错误码而401只是未认证。这块放到整个系统里往往是争议点你能说出“状态码只代表协议层结果业务失败往往靠body里的code字段区分”就已经资深了。状态码含义功能测试关注点200请求成功正常返回时检查响应体字段201创建成功新增数据落库成功后返回204无内容删除操作常见返回400请求语法错误参数类型、必填字段缺失时触发401未认证token缺失、过期时触发403无权限权限不足、越权访问时触发404资源不存在路径错误、数据被删除时触发500服务器内部错误后端异常未捕获时触发502网关错误上游服务宕机或未启动时触发503服务不可用服务过载、排队中触发第72题GET和POST最容易被应届生背成“GET是查询、POST是新增”本质上HTTP并没有强制语义但从功能测试角度我们关注的是参数传递差异和缓存差异GET参数出现在URL可直接在浏览记录和日志中看到POST参数在body里相对安全。更务实的答法是GET用于无副作用的读取POST用于会修改数据的提交符合REST风格。第73题Cookie、Session、Token要画一条逻辑链HTTP是无状态的Cookie把用户信息存浏览器端Session把状态存在服务端Token则是服务端签发的一段签名数据由客户端保存并在每次请求带上。功能测试里最关心的验证点是Cookie是否设置HttpOnly、Session过期后跳转逻辑、Token失效后接口返回是否统一。第74题HTTPS比HTTP多了一层TLS加密面试官考这题主要是想看你说不说得出证书验证流程简单答“证书由CA签发、客户端校验证书是否可信、然后协商密钥加密传输”即可。第75题请求头字段Content-Type、Authorization、User-Agent、Cookie是高频能说出Authorization常见Bearer格式就算过关。第76题TCP和UDPTCP面向连接可靠传输UDP面向报文不可靠视频通话用UDP、网页请求用TCP举例说明即可。第77题DNS解析可以概括为浏览器先查本地缓存再递归查询DNS服务器拿到IP后发起连接不需要背太深。第78题幂等性是个容易被忽视的考点概念是同一个请求执行多次和执行一次的结果一致典型场景是支付重试客户端超时重发请求服务端不能重复扣款。功能测试里验证幂等的方法是连续点击两次提交按钮或者用接口工具连续发送同一笔订单号查看第二条请求是否返回重复订单提示。第79题接口测试和UI测试的区别从测试层级、发现缺陷的阶段、执行效率三个维度说接口测试更底层、更早介入、更容易覆盖异常和边界UI测试贴近用户、但维护成本高。应届生答这题时千万不要贬低UI测试说一句“两者互补接口保障逻辑正确UI保障体验正确”最稳。第80题抓包工具常规用途是定位前端还是后端的bug请求发出后没收到响应大概率是后端收到响应但页面显示不对大概率是前端。能结合抓包描述一次真实定位过程面试官对你有好感。6.2 接口测试实战用例、token、并发与Postman第81-90题第81题到第90题进入接口测试实战用例设计、token校验、字段异常、加密接口、并发、批量性能、上下游传递、异常分析、返回值校验、Postman用法。功能测试岗位的校招如果要求你会接口测试通常是这十种问题换着法儿考本质不变。第81题接口测试用例设计核心思路是正常场景、异常场景、边界场景、安全场景四个维度。正常场景覆盖一个成功请求和正确返回值异常场景覆盖缺少必填参数、参数类型错误、参数值为null、长度超限边界场景覆盖数组为空、金额为0或负数、分页页码为0安全场景覆盖未登录访问、普通用户访问管理员接口、重复提交同一笔请求。能把这四层说出两层就已经是懂接口的新人。第82题登录接口token校验回答要提三个点token过期后接口返回什么、前端是否自动刷新token、刷新token失败后是否强制重新登录功能测试要验证的不仅是“登录成功拿到token”还有“带着失效token访问受保护资源返回401”。第83题字段缺失或类型错误的用例可以直接用接口工具改请求体来模拟比如把user_id从整数改成字符串、把必填字段去掉观察服务端是返回友好提示还是5xx。一个好的接口应该返回400和体面的错误信息而不是直接抛堆栈。第84题加密接口面试官想看你对对称加密、非对称加密有没有概念对称加密用同一个密钥加解密非对称加密用公钥加密私钥解密功能测试里通常不关心算法实现但要会区分“加密传输”和“防篡改签名”。第85题接口并发典型场景是优惠券抢购、库存扣减测试关注是否超卖和返回结果是否一致功能测试可以用多线程或两个账号同时请求即使不会写脚本思想要能表达出来。第86题批量接口一般是批量导入或批量审核测试点是大批数据是否部分成功、是否提示失败行数和错误原因、事务是否回滚。第87题上下游接口数据传递要理解A系统创建订单后会回调B系统扣库存测试时需要模拟两种例外下游接口超时、下游接口返回失败主动制造这些环境是接口测试里比较高级的部分。应届生能回答“我在测试环境把超时时间调小人为让下游超时看系统是否重试和补单”就已经非常加分。第88题接口异常分析拿到500错误时第一步看日志第二步看是否最近提交了新代码第三步看数据是否有脏数据实在不确定再跑一遍抓包确认请求参数有没有问题。第89题返回值校验核心是不要只看返回码为0或200就等于成功要对比响应体里的关键字段比如下单接口返回了订单号但订单金额错误这种bug最容易逃过初级测试的检查。第90题Postman用法操作层面会建集合、设环境变量、写断言、用Runner跑批量即可。面试官如果让你现场演示你至少要写出这样一段断言脚本判断返回code是否为0。pm.test(code is 0, function () { var jsonData pm.response.json(); pm.expect(jsonData.code).to.eql(0); });能不能写得出来不重要关键是脑子里要有“Postman不光是发请求还要对结果做断言”的意识。会用环境变量切分测试地址也值得写进简历里。7. 综合场景与软素质最后10道送命题7.1 项目提问自我介绍、项目经验与最难的bug第91-95题第91题到第95题是项目提问几乎每个面试官都会从简历里挑一个项目来问自我介绍怎么讲、没有实习经验怎么讲项目、你发现过的最难bug是什么、为什么选择软件测试、怎么看待测试和开发的关系。功能测试岗的校招这五道题往往决定了前面所有专业题能不能落地成offer。第91题自我介绍设计成三段式最不容易乱我是谁、我做过什么、我为什么匹配这个岗位。控时90秒重点放在项目和测试相关经历上不要复述简历。没有实习经验也不用慌课程设计、毕业设计、自己搭个小商城练手都可以包装成“项目经历”重点是你做了什么测试设计、怎么发现缺陷。第92题最难的bug题回答结构是背景加定位过程加结果。不要讲那种“随便点点就发现了一个死机”的段子要说你花了一天时间、用排除法缩小范围、最后通过抓包或日志定位的bug这能证明你有排查能力。如果真没有可以讲一个别人的案例但要换成自己的口气。第93题为什么选择软件测试最忌讳的答案是“因为不会写代码、门槛低、女生多”。正确姿势是说自己喜欢逻辑思考、愿意和开发沟通、对质量有洁癖再加上一句“测试需要有产品视角和技术视角这个角色很适合我”。第94题测试和开发的关系前面说得再好这题漏了也容易前功尽弃。成熟的说法不是“测试是找开发麻烦”而是测试用质量数据和风险清单帮助团队做更稳的上线决策与开发是协作关系。第95题为什么想做功能测试要体现你对岗位的认真功能测试是测试体系的基石先把业务逻辑和用户场景吃透之后再往自动化、性能、测试开发方向长这个规划说出来面试官才会觉得你有成长性。7.2 开放题电梯、红包、自动化与职业规划第96-100题第96题到第100题是开放题电梯怎么测、微信红包怎么测、如何看待测试工作的枯燥、手工测试和自动化测试的时间怎么分配、未来三年的职业规划。这类题没有标准答案考查的是思维框架和心态。电梯测试是经典的测试思维题回答关键是先反问需求和范围再分类测试功能、性能、压力、易用性、安全、兼容。哪怕你说不出全部只要先讲清“电梯是给谁在什么场景用的载重多少、楼层多少”面试官就觉得你有边界意识。微信红包测法也一样先画角色和流程发红包、抢红包、退红包、超时未领取退回再拆金额边界和并发能提到手速并发导致金额被抢超这个点就很亮眼。第98题如何看待测试的枯燥老练的答法是承认重复性工作的存在但重点讲你怎么减少枯燥把手工用例参数化、把重复流程脚本化、把执行结果沉淀成回归用例用工具和流程优化来对抗重复这比嘴上喊热爱强多了。第99题手工和自动化的时间分配标准思路是核心业务先用手工保障稳定后的回归场景逐步自动化比例可以根据项目阶段调整别一上来就说“全自动化”面试官会觉得你没做过项目。第100题职业规划应届生最稳的路线是前两年把业务测试做扎实、把接口测试跑熟第三年开始系统学习自动化框架往测试开发或专项测试方向走切忌直接说“三年后转产品或转开发”那是减分项。这100道题怎么用最后再多说一句。我不建议你把它们当八股文背面试官最怕遇到背答案的应届生。我建议你拿一张纸先把每道题的场景用自己的话讲一遍能举出实际例子就够用了。尤其是用例设计那20道一定要动手写用例光看会与面试时能写出来是两回事。我的经验是应届生的面试官其实不在乎你知道多少工具而在乎你有没有清晰的测试思维和错得起、愿意钻的脾气。100道题只是筛子真正帮你拿到offer的是你能不能在面试官追问时说出“我当时怎么分析的”。祝你们都能拿到心仪的offer哪怕是功能测试认真做三个月也会发现里面有大把成长空间。