千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

当前位置:首页  >  应聘面试  >  软件测试面试题  > 软件测试面试题3:7知识点必问_千锋教育

软件测试面试题3:7知识点必问_千锋教育

来源:千锋教育
发布人:cli
时间: 2026-07-01 17:22:20 1782897740

核心知识点速览

软件测试面试中,面试官围绕7个核心知识点展开提问,覆盖从基础理论到实战场景的完整链条。本文将这7个知识点拆解为具体问题,用“是什么→为什么→怎么做”的结构逐一解析,并附自测清单。

---

知识点1:测试用例设计方法

问题:如何为登录功能设计测试用例?

是什么

测试用例设计方法包括等价类划分、边界值分析、因果图、场景法等。登录功能是最常见的被测对象。

为什么

面试官想验证你是否能系统性地覆盖功能、异常、安全性等维度,而非凭感觉写用例。

怎么做

以“用户名密码登录”为例,按以下维度设计:

  • ►功能正常:正确用户名+正确密码 → 登录成功
  • ►等价类:空用户名、空密码、用户名不存在、密码错误
  • ►边界值:密码长度6-16位,测试5位、6位、16位、17位
  • ►安全性:密码明文显示、连续5次失败是否锁定、SQL注入尝试(输入 ' OR '1'='1)
  • ►UI/UX:Tab键切换焦点、回车触发登录、错误提示位置

核心思路:先分功能、异常、安全、UI四大类,每类用等价类和边界值补充。

---

知识点2:缺陷生命周期与管理

问题:提交一个Bug后,开发人员拒绝修复,你怎么办?

是什么

缺陷生命周期:提交→确认→分配→修复→验证→关闭。拒绝修复是常见冲突场景。

为什么

面试官考察你的沟通能力、优先级判断和问题解决思路。

怎么做

1. 核对缺陷信息:确保步骤、预期、实际结果完整,复现率100%

2. 分析拒绝原因:

  • ►开发认为不是Bug → 提供需求文档或产品确认
  • ►开发认为优先级低 → 评估影响范围,用用户场景说明严重性
  • ►开发认为无法复现 → 现场演示或提供日志/截图

3. 升级路径:若沟通无果,提交给测试主管或产品经理决策

4. 记录:在缺陷管理工具中标记“争议”,附上沟通记录

关键:不要对抗,用事实和数据说话。

---

知识点3:接口测试与工具

问题:如何用Postman测试一个需要token认证的接口?

是什么

接口测试验证前后端数据交互的正确性。token认证是主流鉴权方式。

为什么

面试官考察你能否处理实际工作中的认证流程,而非只懂简单GET请求。

怎么做

1. 获取token:调用登录接口,从响应体中提取token值

  • ►示例响应:{"token": "abc123", "expire": 3600}

2. 设置环境变量:

  • ►在Tests脚本中写:pm.environment.set("token", pm.response.json().token)

3. 引用token:在需要认证的接口Headers中添加:

  • ►Key: Authorization
  • ►Value: Bearer {{token}}

4. 验证:发送请求,检查状态码200,响应体包含业务数据

进阶:编写集合测试,用Runner批量执行并自动更新token。

---

知识点4:性能测试基础

问题:用JMeter做一个登录接口的并发测试,需要配置哪些关键参数?

是什么

性能测试验证系统在特定负载下的响应时间和稳定性。

为什么

面试官关注你是否理解线程数、Ramp-Up、循环次数等核心概念。

怎么做

1. 线程组配置:

  • ►线程数:模拟用户数,如50
  • ►Ramp-Up时间:所有线程在10秒内启动
  • ►循环次数:1或2,避免无限循环

2. HTTP请求默认值:设置协议、服务器IP、端口,避免每个请求重复配置

3. HTTP Cookie管理器:处理登录后的session

4. 监听器:添加“聚合报告”和“图形结果”

5. 断言:响应断言检查状态码200或响应体含“success”

关键:先跑1个线程验证脚本正确,再逐步增加并发数。

---

知识点5:自动化测试框架

问题:Selenium中如何实现页面元素等待?

是什么

元素等待解决页面加载延迟导致的元素定位失败问题。

为什么

面试官考察你是否能写出稳定的自动化脚本,避免因网络或渲染延迟导致的假性失败。

怎么做

1. 隐式等待(全局设置):

python
   from selenium import webdriver
   driver = webdriver.Chrome()
   driver.implicitly_wait(10)  # 等待10秒,适用于所有元素

2. 显式等待(针对特定元素):

python
   from selenium.webdriver.common.by import By
   from selenium.webdriver.support.ui import WebDriverWait
   from selenium.webdriver.support import expected_conditions as EC
   
   wait = WebDriverWait(driver, 10)
   element = wait.until(EC.presence_of_element_located((By.ID, "login-btn")))

3. 强制等待(慎用):

python
   import time
   time.sleep(3)  # 固定等待,不推荐

推荐:显式等待优先,隐式等待作为兜底。

---

知识点6:数据库与SQL

问题:查询所有订单金额大于1000元的用户姓名和订单号。

是什么

数据库验证是测试的关键环节,SQL能力直接影响数据验证效率。

为什么

面试官考察你是否能用SQL验证业务逻辑,而非只会点页面。

怎么做

假设表结构:users(id, name) 和 orders(id, user_id, amount)

sql
SELECT u.name, o.id AS order_id
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.amount > 1000;

扩展:如果要求按金额降序排序,加 ORDER BY o.amount DESC;如果只取前10条,加 LIMIT 10。

---

知识点7:Linux基础操作

问题:如何查看某个应用进程是否在运行,并强制停止它?

是什么

Linux是服务器环境的基础,测试人员需掌握进程管理、日志查看等命令。

为什么

面试官考察你能否在无图形界面下排查问题,如服务异常或端口占用。

怎么做

1. 查找进程:

bash
   ps aux | grep python   # 查找Python相关进程
   netstat -tulpn | grep 8080  # 查找占用8080端口的进程

2. 强制终止:

bash
   kill -9 PID   # PID从ps命令结果中获取

3. 验证:再次执行 ps aux | grep python,确认进程已消失

进阶:用 nohup 启动后台进程,用 tail -f 实时查看日志。

---

自测清单

知识点自测问题掌握情况
测试用例设计能否为搜索功能写出10个有效用例?✅/❌
缺陷管理开发拒绝修复时,你的沟通流程是什么?✅/❌
接口测试能否独立用Postman完成带token的接口测试?✅/❌
性能测试能否解释JMeter中Ramp-Up的作用?✅/❌
自动化等待显式等待和隐式等待的区别是什么?✅/❌
SQL查询能否写出两表关联的查询语句?✅/❌
Linux操作能否用命令查看进程并强制终止?✅/❌

建议:每个知识点对应一个具体场景,面试前动手实践一遍,比死记硬背有效得多。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT