当前位置: 首页 > 测试知识 > 第三方软件项目验收:用户角色权限与功能访问控制验收​
第三方软件项目验收:用户角色权限与功能访问控制验收​
2025-08-28 作者cwb 浏览次数18

权限验收

覆盖权限体系,测试对象含四模块:

角色定义验证:需匹配业务职责,如医疗系统中 “医师” 角色必含处方开具权限,“护士” 角色仅开放护理记录查看权限,无权限交叉冗余。

权限分配验证:检查用户与角色关联准确性,含多角色兼任场景。例如 “门店店长” 同时兼任 “财务审核员” 时,需确认其权限为两角色权限的正确聚合,无权限缺失或超范围。

功能级访问控制:验证界面元素可见性与可用性。如 “普通员工” 角色登录后,系统需隐藏 “部门架构修改” 按钮,且不可通过快捷键或 URL 跳转触发该功能。

数据级访问控制:确保数据查询受权限约束。如区域销售经理账号查询订单时,仅返回所属辖区(如 “华东区”)数据,无法获取 “华北区” 订单信息。

测试方法(越权测试)

垂直越权测试:低权限用户尝试高权限操作。

测试:以 “普通用户” 账号登录,手动输入管理员专属 URL(如 /system/admin/userManage),或通过 API 调用用户管理接口。

结果:系统立即返回 “权限不足(HTTP 403)” 提示,或重定向至登录页,无任何高权限功能加载。

水平越权测试:同角色用户间数据隔离验证。

测试:用户 A、B 同属 “客户经理” 角色,用户 A 在订单查询页抓取请求参数(如 orderId=10086),修改为用户 B 的订单 ID(orderId=10099)后重新发送请求。

结果:系统返回空数据集或 “无数据访问权限” 提示,不可返回用户 B 的订单详情。

工具与数据验证

测试工具:

Postman:构造 API 请求,模拟越权调用(如普通用户调用 /admin/deleteUser 接口);

Burp Suite:拦截前端请求,修改参数(如 userId、regionId),测试后端权限校验逻辑;

浏览器开发者工具:查看界面元素 DOM 结构,确认高权限按钮(如 “数据导出”)不仅隐藏,且未在 DOM 中保留可触发代码。

数据验证核心:需覆盖正常与异常场景,且必须同时校验前后端。

常见缺陷:前端隐藏 “员工删除” 按钮,但后端接口未做权限校验,通过 Postman 直接发送 delete 请求即可执行删除操作,此类缺陷需 100% 修复。

验收指标要求

权限覆盖率:100%,所有功能路径(含界面操作与 API 调用)均需完成权限验证;

越权漏洞数:0,不允许存在中高风险越权缺陷;

缺陷修复率:中高风险缺陷修复率 100%,且复验通过。

文章标签: 第三方软件验收 软件项目 第三方测试
咨询软件测试