dsh-qa-skills
Version:
DeepSeek Harness (dsh) plugin: 10 testing skills (requirement analysis, test strategy, case writing/review, E2E/API automation, exploratory, regression, bug analysis) + shared core knowledge base — a full QA pipeline as agent skills.
40 lines (24 loc) • 1.81 kB
Markdown
# 权限测试方法(permission)
> 权限系统 / 多角色功能的用例设计方法(何时选它见 `../testing-principles.md` 第 2 节)。
## 1. Role × Action × Resource 矩阵
列出全部角色 × 全部操作 × 关键资源,逐格核对:
```text
角色:管理员 / 运营 / 普通用户 / 游客(未登录)
操作:查看 / 创建 / 编辑 / 删除 / 导出 / 审批
资源:自己的数据 / 他人数据 / 全局配置
逐格三态:允许(配正向用例)/ 拒绝(配拦截用例)/ 未定义(列入澄清问题)
```
- 权限依据来自文档的角色定义或代码的鉴权逻辑(`文件:行` 落附录),矩阵中每格的判定要有出处
- 矩阵先在澄清阶段与用户核对,未定义格不得自行假设
## 2. 两类越权必测
- **垂直越权**:低权限角色调用高权限接口/入口(普通用户直接调管理员接口)→ 拒绝
- **水平越权**:同权限角色访问他人资源(用户 A 查看/编辑用户 B 的数据,改 URL 中的 id)→ 拒绝且无数据泄漏
前端隐藏不等于后端拦截:**绕过 UI 直接调 API** 的越权用例必须配(协作用例或 API 用例)。
## 3. 权限变更即时性
- 角色提升/降级后,旧权限是否立即失效(已登录会话、已打开页面、缓存的菜单)
- 权限回收后,进行中的操作(草稿、锁定的资源)如何处置
## 4. 无权限的表现
- 未授权操作的提示文案与引导(登录引导 / 申请权限引导)
- 部分授权(有查看无编辑)时界面元素的隐藏/置灰/点击提示,三态逐一验证
## 5. 用例组织
权限作为**独立模块**(横切关注点),不分散在各功能模块里;矩阵的每一行(角色)至少一条正向 + 一条拦截用例。