软件测试评估高频例题+详细解答,新手必看!
文章目录
- 软件测试评估高频例题+详细解答,新手必看!
- 一、基础概念题:筑牢测试认知基石
- 例题1:软件测试的核心目的是什么?
- 例题2:请简述黑盒测试和白盒测试的区别,分别适用于什么测试阶段?
- 例题3:请说明缺陷生命周期中,从发现缺陷到缺陷关闭的主要阶段有哪些?
- 二、测试用例设计题:测试核心能力的直观体现
- 例题1:电商商品搜索功能(支持名称搜索、价格排序)
- 例题2:APP注册功能(含账号、密码、手机号验证)
- 三、实际场景分析题:考察问题解决能力
- 例题1:支付成功但订单状态未更新(偶发、难复现)
- 例题2:上线前发现小缺陷,负责人要求直接上线
- 四、逻辑思维题:考察分析与推理能力
- 例题1:8个小球找较轻的一个(天平称重)
- 例题2:3升与5升水杯,获取4升水
- 五、新手学习建议
无论是培训机构的入学评估,还是企业校招/初阶测试岗的面试考核,软件测试相关题目都绕不开基础概念、用例设计、场景分析这几大核心模块。本文整理了高频例题及结构化解答,覆盖新手必备的知识点与解题思路,建议收藏慢慢消化~
本文适用人群:软件测试新手、准备培训机构入学评估的同学、初阶测试岗求职者。核心目标:帮你快速掌握测试评估的答题逻辑与得分要点。
一、基础概念题:筑牢测试认知基石
基础概念是测试工作的“内功”,这类题目看似简单,却能区分是否具备系统的测试思维。答题时需抓住核心定义,避免泛泛而谈。
例题1:软件测试的核心目的是什么?
参考答案:软件测试的核心目的并非“证明软件没有缺陷”,而是通过系统性的验证与探测,确认软件是否符合需求规格与设计要求,精准发现潜在缺陷并及时反馈,最终降低软件上线后的质量风险,提升用户使用体验与产品可靠性。
得分要点:明确“发现缺陷”“验证需求”“降低风险”三个核心维度,点出“测试无法证明无缺陷”的关键认知。
例题2:请简述黑盒测试和白盒测试的区别,分别适用于什么测试阶段?
参考答案:黑盒测试与白盒测试的核心区别在于是否关注软件内部实现逻辑,具体对比及适用场景如下表所示:
| 对比维度 | 黑盒测试(功能测试) | 白盒测试(结构测试) |
|---|---|---|
| 核心视角 | 不关注内部代码与逻辑,仅基于输入输出和需求文档 | 深入代码底层,关注程序结构、逻辑路径与算法实现 |
| 常用方法 | 等价类划分、边界值分析、场景法、因果图 | 语句覆盖、判定覆盖、条件覆盖、路径覆盖 |
| 适用阶段 | 集成测试、系统测试、验收测试、UI测试、接口测试 | 单元测试、代码评审、静态代码分析 |
| 执行人员 | 功能测试工程师、产品/用户(验收测试) | 开发工程师、白盒测试工程师 |
例题3:请说明缺陷生命周期中,从发现缺陷到缺陷关闭的主要阶段有哪些?
参考答案:完整的缺陷生命周期需覆盖“发现-处理-验证-闭环”全流程,核心阶段如下:
发现与提交(新建):测试人员发现缺陷后,整理清晰的复现步骤、环境信息、截图/日志等,提交至缺陷管理工具(如Jira),状态标记为“新建”。
指派与确认:测试负责人将缺陷指派给对应模块的开发工程师,开发确认缺陷真实性后,状态改为“已确认”;若认为不是缺陷,需备注理由并退回,状态改为“已拒绝”。
开发修复:开发工程师修复缺陷后,将状态更新为“已修复”,并关联修复代码的版本信息。
回归验证:测试人员基于修复版本,按原复现步骤验证缺陷是否解决。
闭环处理:若缺陷已解决,状态改为“已关闭”;若未解决,状态改为“重新打开”,返回至开发工程师重新修复,直至缺陷关闭;若因业务优先级等原因暂不修复,状态标记为“延期”并归档。
关键提醒:缺陷提交时必须包含“复现步骤、测试环境、预期结果、实际结果、附件”五大要素,避免无效沟通。
二、测试用例设计题:测试核心能力的直观体现
用例设计是测试工程师的核心技能,核心原则是“覆盖全面、重点突出”——既要有正常场景,也要考虑异常场景,同时结合业务优先级区分用例权重。答题时建议采用“前置条件+用例模板”的结构,清晰规范。
例题1:电商商品搜索功能(支持名称搜索、价格排序)
场景说明:某电商平台商品搜索功能,支持输入商品名称搜索,结果展示商品图片、名称、价格、销量,同时支持按价格“从低到高/从高到低”排序。
前置条件:用户已登录电商平台,商品数据库有充足测试数据,网络环境稳定。
| 用例编号 | 测试标题 | 测试步骤 | 输入/操作 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
| SEA-001 | 有效关键词精准搜索 | 1. 进入首页搜索框;2. 输入关键词;3. 点击“搜索”按钮 | 关键词:“纯棉宽松T恤” | 1. 搜索结果页无报错;2. 展示所有含“纯棉宽松T恤”的商品;3. 商品信息完整(图/名/价/销量) | P0(核心场景) |
| SEA-002 | 关键词模糊搜索 | 1. 进入搜索框;2. 输入部分关键词;3. 点击搜索 | 关键词:“纯棉T恤”(商品库有“纯棉白T恤”“纯棉黑T恤”) | 展示所有含“纯棉T恤”的相关商品,无遗漏 | P0 |
| SEA-003 | 空输入搜索 | 1. 进入搜索框;2. 不输入内容;3. 点击搜索 | 输入:空 | 提示“请输入商品关键词”,无搜索结果展示 | P1 |
| SEA-004 | 特殊字符/无意义关键词搜索 | 1. 进入搜索框;2. 输入特殊字符;3. 点击搜索 | 输入:“@#$%”或“abc123xyz”(商品库无匹配项) | 1. 无系统崩溃;2. 提示“无匹配商品”,并推荐热门商品 | P1 |
| SEA-005 | 价格升序排序 | 1. 输入有效关键词搜索出结果;2. 点击“价格从低到高” | 排序选项:价格升序 | 1. 结果按商品价格从小到大排列;2. 排序标识高亮显示 | P0 |
| SEA-006 | 排序切换有效性 | 1. 升序排序后;2. 点击“价格从高到低” | 排序选项:价格降序 | 结果立即切换为从高到低排列,无卡顿 | P0 |
例题2:APP注册功能(含账号、密码、手机号验证)
场景说明:某APP注册功能要求——账号为6-12位字母+数字组合,密码为8-16位且必须包含大小写字母+数字,需填写手机号并完成短信验证。
前置条件:APP正常启动,网络通畅,手机号未注册过该APP。
| 用例编号 | 测试标题 | 测试步骤 | 输入/操作 | 预期结果 | 优先级 |
|---|---|---|---|---|---|
| REG-001 | 完全合规注册 | 1. 进入注册页;2. 填写账号、密码、手机号;3. 点击“获取验证码”;4. 输入验证码后提交 | 账号:test123456;密码:Test123456;手机号:138xxxx1234;验证码:654321(有效) | 注册成功,跳转至登录页或首页,提示“注册成功” | P0 |
| REG-002 | 账号长度不足6位 | 1. 进入注册页;2. 填写5位账号;3. 点击提交 | 账号:test1(5位);其他信息合规 | 提示“账号需为6-12位字母+数字组合”,无法提交 | P0 |
| REG-003 | 密码缺少大写字母 | 1. 进入注册页;2. 填写纯小写+数字密码;3. 点击提交 | 密码:test123456;其他信息合规 | 提示“密码需包含大小写字母+数字”,无法提交 | P0 |
| REG-004 | 验证码错误/过期 | 1. 填写合规信息;2. 获取验证码后等待10分钟(过期);3. 输入过期验证码提交 | 验证码:123456(过期) | 提示“验证码无效或已过期”,支持重新获取验证码 | P0 |
| REG-005 | 手机号已注册 | 1. 进入注册页;2. 填写已注册手机号;3. 点击获取验证码 | 手机号:139xxxx5678(已注册) | 提示“该手机号已注册,请直接登录”,不发送验证码 | P0 |
三、实际场景分析题:考察问题解决能力
这类题目模拟真实工作场景,重点考察“风险评估-问题定位-解决方案-闭环预防”的思维逻辑,答题时需体现专业性与落地性,避免空泛的理论。
例题1:支付成功但订单状态未更新(偶发、难复现)
场景:测试电商下单支付功能时,发现使用某银行信用卡支付,偶尔出现“支付成功但订单状态仍为待支付”的情况,且问题很难复现。
参考答案:按“取证-定位-解决-预防”四步处理
全面取证,锁定上下文:这是解决偶发问题的核心第一步。立即记录当前测试环境(APP版本、服务器环境、网络类型)、用户账号、支付时间、订单号、支付金额等关键信息;通过抓包工具(Fiddler/Charles)抓取支付过程的接口请求与响应数据,导出前端日志、后端服务日志及支付渠道的回调日志;若条件允许,对操作过程进行录屏,便于后续回溯。
多维度尝试复现,缩小范围:针对同一账号,在相同/不同网络环境(WiFi/4G/5G)下重复支付操作;更换同银行其他信用卡、同类型其他银行信用卡测试,判断是特定卡种还是共性问题;协调开发开启临时日志打印,增加关键节点的日志输出,提高问题捕捉概率。
协同定位根因:拉齐开发工程师、后端工程师及支付渠道对接人员,重点排查三个方向:①支付渠道的回调是否成功送达后端(是否存在网络超时、回调地址错误);②后端是否对回调请求做了幂等处理(避免重复回调导致状态异常);③订单状态机逻辑是否存在漏洞(如回调成功后未正确触发状态更新)。通过日志分析,若发现回调超时,可能是网络波动导致;若回调成功但状态未变,需检查状态更新的代码逻辑。
临时止血+长期修复:临时方案:针对已出现问题的订单,协调运营人工核实支付状态后,通过后台工具手动更新订单状态,并联系用户说明情况,避免客诉;长期方案:开发完善支付回调的重试机制(如回调失败后间隔10s/30s/1min自动重试3次),增加回调超时的告警机制(一旦超时立即通知开发),优化订单状态机的校验逻辑,确保支付结果与订单状态强一致。
复盘沉淀,完善测试用例:问题解决后,将该场景补充到测试用例中,增加“支付回调异常”“网络波动下支付”等专项测试场景;在后续版本中,加入支付流程的压测与容灾演练,模拟高并发、网络不稳定场景下的表现。
例题2:上线前发现小缺陷,负责人要求直接上线
场景:你负责的模块测试已完成,上线前回归测试时,发现一个“商品详情页按钮文字与设计稿略有偏差(对齐误差1px)”的小缺陷,项目负责人以“上线时间紧急”为由,要求直接上线。
参考答案:核心是“先评估风险,再给出方案,最后留痕”
快速完成风险分级:首先明确缺陷类型——属于UI体验类缺陷,不影响核心功能(下单、支付、搜索),影响范围仅为所有查看该商品详情页的用户,且视觉误差极小,不会对用户使用造成实质性阻碍,判定为“低风险缺陷”。若缺陷是“支付按钮点击无响应”这类核心功能问题,则直接判定为高风险,需坚决拒绝上线。
给出差异化解决方案,供决策参考:基于低风险结论,向负责人提出两个方案:①方案一:快速修复(预估开发+回归时间30分钟内),若团队能挤出时间,优先修复后上线,保证产品体验;②方案二:先上线,将缺陷记录到下一迭代的缺陷库中,明确标注“UI优化”,下一版本优先修复。同时说明两个方案的利弊:方案一可提升体验,无后续隐患;方案二节省当前时间,但需记录清晰,避免缺陷遗漏。
书面留痕,明确责任:无论最终选择哪种方案,都需在缺陷管理工具中更新缺陷状态(如“延期修复”),备注决策人、决策时间及理由;同时在项目会议纪要中记录该问题的讨论过程与结果,避免后续出现争议。
上线后监控与跟进:若选择方案二上线,需在上线后关注用户反馈渠道(APP内客服、评论区),查看是否有用户提及该UI问题;下一迭代启动后,第一时间提醒开发修复该缺陷,并完成回归测试。
四、逻辑思维题:考察分析与推理能力
测试工作需要严谨的逻辑推理能力,这类题目不直接关联测试知识,但能反映你的思维清晰度。答题时需分步骤说明,体现推理过程。
例题1:8个小球找较轻的一个(天平称重)
问题:有8个外观完全相同的小球,其中1个重量比其他7个稍轻,现有一台天平,最少称几次能找到这个较轻的小球?
参考答案:最少2次
第一次称重:将8个小球分成3组,分别为3个、3个、2个。把两组3个的小球分别放在天平两端。
情况一:天平平衡:说明较轻的小球在剩下的2个组中。进行第二次称重,将这2个小球分别放在天平两端,较轻的一端即为目标小球。
情况二:天平不平衡:说明较轻的小球在天平抬起的那一端(3个小球中)。从这3个小球中任意取出2个,进行第二次称重:①若平衡,剩下的1个就是较轻的小球;②若不平衡,抬起的一端即为目标小球。
核心思路:利用“三分法”减少称重次数,避免二分法(4vs4)导致的次数增加,本质是通过分组缩小范围。
例题2:3升与5升水杯,获取4升水
问题:现有一个可装3升水的水杯(A杯)和一个可装5升水的水杯(B杯),水源充足,如何仅通过这两个水杯,得到4升水?
参考答案:核心是“利用两杯容量差,多次倒换”
将B杯(5升)装满水,然后向A杯(3升)中倒水,直至A杯被倒满。此时B杯中剩余5-3=2升水,A杯为3升水。
将A杯中的水全部倒掉,然后把B杯中剩余的2升水倒入A杯。此时A杯有2升水,B杯为空。
再次将B杯装满水,然后向A杯中倒水(A杯此时还能容纳3-2=1升水),直至A杯被倒满。此时B杯中剩余的水量为5-1=4升,即为目标水量。
五、新手学习建议
基础概念:结合实际场景理解,不要死记硬背(如“黑盒测试”可联想“用APP时,你不需要知道代码,只看功能是否正常”);
用例设计:从“正常-异常-边界”三个维度出发,优先覆盖核心业务流程(如注册功能的“合规注册”“账号密码校验”);
场景分析:多站在“用户视角”“开发视角”思考,给出的方案要具体可落地,而非纯理论;
逻辑题:多做经典题目,培养“拆分问题、分步解决”的思维。
如果觉得这些例题有帮助,欢迎点赞收藏~ 若需要某类题型的更多练习(如接口测试、自动化测试基础题),可以在评论区留言告诉我!