小牛丨软件测试学习小牛丨软件测试学习
首页
  • 业务测试面试题
  • 数据库测试面试题
  • Linux测试环境面试题
  • 网络协议测试面试题
  • 中间件测试面试题
  • Java测试开发面试题
  • Python测试开发面试题
  • Python自动化面试题
  • Java自动化面试题
  • 性能测试面试题
  • 手撕代码
  • HR面试题
  • 系列总入口
  • 业务测试理论
  • 数据库测试
  • Linux测试环境
  • 网络协议
  • 中间件测试
  • Python编程
  • Java编程
  • 自动化测试
  • 性能测试
  • AI测试
  • HR面试
  • AI测试学习路线
  • AI测试基础面试题
  • 大模型测试面试题
  • AI自动化测开面试题
  • AI Agent测试面试题
  • AI性能与稳定性测试面试题
  • AI应用安全测试面试题
  • 互联网大厂面试真题
  • 互联网中厂面试真题
  • 手机厂商面试真题
  • 通信厂商面试真题
  • 新能源汽车面试真题
  • 银行金融面试真题
  • 项目说明
  • 电商接口文档
  • 实战项目总入口
  • 测试简历编写指南
  • 20K level 简历打磨指南
  • 测试简历模板参考
  • 简历常见问题与避坑
  • 零基础入行专题路径
  • 初中级进阶高级专题路径
  • 零基础小白入行软件测试保姆级学习路线
  • 初中级测试进阶高级测试全路线
首页
  • 业务测试面试题
  • 数据库测试面试题
  • Linux测试环境面试题
  • 网络协议测试面试题
  • 中间件测试面试题
  • Java测试开发面试题
  • Python测试开发面试题
  • Python自动化面试题
  • Java自动化面试题
  • 性能测试面试题
  • 手撕代码
  • HR面试题
  • 系列总入口
  • 业务测试理论
  • 数据库测试
  • Linux测试环境
  • 网络协议
  • 中间件测试
  • Python编程
  • Java编程
  • 自动化测试
  • 性能测试
  • AI测试
  • HR面试
  • AI测试学习路线
  • AI测试基础面试题
  • 大模型测试面试题
  • AI自动化测开面试题
  • AI Agent测试面试题
  • AI性能与稳定性测试面试题
  • AI应用安全测试面试题
  • 互联网大厂面试真题
  • 互联网中厂面试真题
  • 手机厂商面试真题
  • 通信厂商面试真题
  • 新能源汽车面试真题
  • 银行金融面试真题
  • 项目说明
  • 电商接口文档
  • 实战项目总入口
  • 测试简历编写指南
  • 20K level 简历打磨指南
  • 测试简历模板参考
  • 简历常见问题与避坑
  • 零基础入行专题路径
  • 初中级进阶高级专题路径
  • 零基础小白入行软件测试保姆级学习路线
  • 初中级测试进阶高级测试全路线
  • 业务测试理论精华文章

    • 业务测试理论精华文章
    • 1. 测试流程面试怎么讲才不像背书
    • 2. 测试用例设计方法如何结合真实业务
    • 3. 登录功能怎么测才能讲出深度
    • 4. 下单支付功能怎么测才能体现项目经验
    • 5. 审批流功能测试应该怎么设计
    • 6. Bug 生命周期和缺陷管理怎么回答
    • 7. 功能测试项目经历怎么讲出亮点
    • 8. 需求评审阶段测试人员到底要做什么
    • 9. 回归测试怎么做才不会漏测
    • 10. 功能测试如何体现接口和数据库意识
    • 11. Web 功能测试到底应该怎么测
    • 12. App 测试应该怎么测才完整
    • 13. 小程序测试应该重点测什么
    • 14. 接口测试应该怎么测才算完整
    • 15. 表单类功能怎么测试最全面
    • 16. 搜索筛选和分页功能怎么测试
    • 17. 文件上传下载功能怎么测试
    • 18. 权限功能测试应该怎么测
    • 19. 消息通知功能怎么测试
    • 20. 兼容性测试应该怎么做
⌕
🛒项目实战📦资料包🛠测试神器AIAI路线CV简历测评🧭入行测评🧪测开测评🎯训练营🏆案例❤赞赏我

18. 权限功能测试应该怎么测?

权限测试是业务系统里非常重要的一类测试。

很多系统页面看起来正常,但权限如果没控制好,就可能出现越权查看、越权修改、数据泄露等严重问题。

一、先区分功能权限和数据权限

权限一般分两类:

  • 功能权限:能不能看菜单、点按钮、调用功能;
  • 数据权限:能不能看到某些数据、操作某些数据。

比如普通员工能看到“我的订单”,但不能看到全公司的订单,这就是数据权限。

二、角色权限要按矩阵测试

测试前最好整理权限矩阵:

  • 管理员;
  • 普通用户;
  • 部门主管;
  • 审批人;
  • 只读用户;
  • 禁用用户。

每个角色对应哪些菜单、按钮、数据范围,都要明确。

没有权限矩阵,权限测试容易漏。

三、菜单和按钮只是第一层

页面权限要验证:

  • 无权限菜单是否隐藏;
  • 无权限按钮是否隐藏或禁用;
  • 有权限按钮是否可操作;
  • 切换角色后页面是否刷新权限;
  • 权限变更后重新登录是否生效。

但只测页面不够,因为前端隐藏不等于后端安全。

四、接口权限才是重点

要测试:

  • 无权限用户直接调用接口;
  • 修改 URL 访问无权限页面;
  • 普通用户调用管理员接口;
  • 用户 A 修改用户 B 的数据;
  • 删除接口是否校验权限;
  • 导出接口是否校验权限。

权限必须在后端拦截,否则很容易被绕过。

五、数据权限要看范围

数据权限常见规则包括:

  • 只能看自己的数据;
  • 可以看本部门数据;
  • 可以看本部门及下级部门数据;
  • 可以看全部数据;
  • 可以看被分配的数据。

测试时要准备不同部门、不同用户、不同归属的数据。

六、权限变更和缓存要测试

权限不是一成不变的。

要验证:

  • 给用户新增权限后是否生效;
  • 删除权限后是否立即失效;
  • 用户角色变化后权限是否变化;
  • 禁用用户后是否不能登录;
  • 已登录用户权限被收回后旧 Token 是否还能操作;
  • 权限缓存是否刷新。

很多系统权限问题都和缓存有关。

七、特殊场景也不能漏

还要关注:

  • 超级管理员权限;
  • 默认角色权限;
  • 新建用户初始权限;
  • 离职或禁用用户;
  • 批量导入用户权限;
  • 多角色用户权限合并规则;
  • 审批人离职后的权限转移。

权限越复杂,越需要系统化测试。

八、面试回答模板

可以这样回答:

权限测试我会先区分功能权限和数据权限,并根据角色整理权限矩阵。页面层面验证菜单、按钮是否按权限展示;接口层面验证无权限用户是否能通过 URL 或接口绕过;数据层面验证用户只能查看和操作自己权限范围内的数据。同时还会测试权限新增、删除、角色变更、用户禁用和已登录状态下权限收回是否生效,避免权限缓存导致越权。

这个答案能体现你知道权限测试的核心风险。

九、下一步建议

权限测试建议准备三个角色:

  • 管理员;
  • 普通用户;
  • 部门主管。

然后围绕菜单、按钮、接口和数据范围设计用例。

配套刷题:

  • 业务测试面试题
相关推荐

下一步可以看这些

面试通关软件测试面试通关系列精华文章

把面试题、项目、简历和训练营串成一套求职准备路径。

入行路线零基础入行软件测试专题路径

从测评、学习路线、项目、简历到面试,按顺序入行。

进阶路线初中级测试进阶高级专题路径

接口自动化、性能测试、CI/CD、复杂业务质量保障进阶路线。

AI 方向AI 测试学习路线专题页

大模型评测、RAG 测试、Agent 测试和 AI 自动化路线。

求职结果Offer 案例 / 学员案例展示

看看真实学员 Offer 案例,判断目标和学习投入是否匹配。

资料 / 交流群添加小牛微信

备注:资料、简历、AI 或找工作,领取对应资料或进交流群。

添加小牛微信
Prev
17. 文件上传下载功能怎么测试
Next
19. 消息通知功能怎么测试