51mee - AI智能招聘平台Logo
模拟面试题目大全招聘中心会员专区

根据《个人信息保护法》,学员的成绩数据仅允许教师查看。请设计测试用例,验证数据访问控制,包括教师登录后能否查看其他学生(非本班)的成绩。

好未来功能测试难度:中等

答案

1) 【一句话结论】设计测试用例验证教师登录后仅能访问其关联的班级成绩,禁止跨班级查看,并覆盖班级ID无效、多班级关联等边界情况,确保数据访问控制符合《个人信息保护法》要求。

2) 【原理/概念讲解】数据访问控制的核心是“基于角色的访问控制(RBAC)”,系统通过为教师角色绑定“仅本班”的权限规则,用户登录后,系统根据角色和绑定的班级ID,动态校验成绩查询请求的合法性。比如,教师账号与班级1关联,登录后只能访问班级1的成绩,系统通过角色-班级的绑定关系,实现数据隔离,防止越权访问。类比:就像老师只能批改自己班级的作业,系统通过角色绑定班级,确保数据不泄露。

3) 【对比与适用场景】

模型定义特性使用场景注意点
RBAC(基于角色的访问控制)按角色分配权限,用户属于角色,角色关联权限角色是权限的集合,用户通过角色获得权限,权限与角色绑定,权限规则静态配置组织内角色固定(如教师、管理员),权限规则明确(如教师仅查本班成绩)角色与权限绑定较僵化,动态调整角色或权限需手动配置
ABAC(基于属性的访问控制)权限基于用户属性、资源属性、环境属性等动态判断权限校验动态,根据实时属性计算需要复杂属性管理,适合权限变化频繁的场景实现复杂,需维护属性库

4) 【示例】

  • 测试用例1(正常流程-本班):教师A登录(关联班级1),调用成绩查询接口(班级ID=1),预期:返回本班成绩数据,状态码200。
  • 测试用例2(异常流程-跨班级):教师A登录(关联班级1),调用成绩查询接口(班级ID=2),预期:返回403 Forbidden,错误信息“无权限访问其他班级成绩”。
  • 测试用例3(边界-班级ID无效):教师A登录(关联班级1),调用成绩查询接口(班级ID=999),预期:返回400 Bad Request,错误信息“班级ID无效”。
  • 测试用例4(边界-多班级关联):教师B登录(关联班级2和班级3),调用成绩查询接口(班级ID=1),预期:返回403 Forbidden,错误信息“无权限访问非关联班级成绩”。
    伪代码示例(请求示例):
  • 登录接口:POST /api/login,参数:username=teacherA, password=123,预期:返回token(如"token=abc123")。
  • 查看本班成绩接口:GET /api/grades?classId=1&token=abc123,预期:状态码200,返回本班成绩列表。
  • 查看其他班级成绩接口:GET /api/grades?classId=2&token=abc123,预期:状态码403,错误信息“无权限访问其他班级成绩”。
  • 查看无效班级ID接口:GET /api/grades?classId=999&token=abc123,预期:状态码400,错误信息“班级ID无效”。

5) 【面试口播版答案】(约80秒)
“面试官您好,针对《个人信息保护法》要求教师仅能查看本班学员成绩,我设计测试用例验证数据访问控制。核心是验证教师登录后,本班成绩可正常访问,跨班级访问被拒绝,并覆盖班级ID无效、多班级关联等边界情况。具体来说,首先用教师账号登录系统,检查本班成绩是否完整显示(正常流程);然后尝试查看其他班级成绩,预期系统会提示无权限或返回错误信息(异常流程);再测试班级ID为空或无效的情况,预期返回400错误;最后验证教师关联多个班级时,是否仍能查其他班级成绩,预期同样被拒绝。这样能确保权限规则正确,数据隔离有效,符合隐私保护要求。”

6) 【追问清单】

  • 问:如何准备测试数据,确保不同班级的学员成绩数据?
    • 回答要点:创建多个班级(如班级1、班级2、班级3),每个班级有学员成绩数据,教师账号(如teacherA)仅关联班级1,教师账号(teacherB)关联班级2和3,确保数据隔离,测试时用不同账号验证。
  • 问:如果教师角色被误判为管理员,测试用例如何覆盖?
    • 回答要点:测试管理员账号登录后,尝试查看其他班级成绩,预期仍被拒绝(因为管理员权限更高,但需验证角色权限是否正确),或者测试教师账号被误设为管理员权限,再测试成绩访问,验证权限校验逻辑。
  • 问:如何验证权限配置是否正确,比如数据库中的权限表?
    • 回答要点:检查权限表(如user_role、role_permission、class_permission),确认教师角色仅关联本班权限,其他班级无关联;或通过接口日志验证请求的权限校验逻辑,确保在处理成绩请求时,根据用户角色和班级ID进行校验。
  • 问:测试用例是否考虑了并发场景,比如多个教师同时查看本班成绩?
    • 回答要点:当前测试用例主要验证权限校验逻辑,未覆盖并发场景。若需验证,可补充压力测试或并发场景,模拟多个教师同时访问本班成绩,确保权限校验在并发下仍有效。

7) 【常见坑/雷区】

  • 坑1:仅测试教师登录后能看本班成绩,忽略跨班级访问的异常情况,导致遗漏权限漏洞。
  • 坑2:未考虑班级ID为空或无效的边界情况,导致测试用例无法覆盖无效输入的校验。
  • 坑3:未验证教师账号关联多个班级的边界,导致测试用例无法覆盖角色与班级绑定的唯一性要求。
  • 坑4:使用绝对化表述(如“确保符合”),未说明测试局限性(如无法覆盖并发场景)。
  • 坑5:口播版表达机械,用“首先”“然后”等模板化词汇,缺乏自然对话特征,显得不专业。
51mee.com致力于为招聘者提供最新、最全的招聘信息。AI智能解析岗位要求,聚合全网优质机会。
产品招聘中心面经会员专区简历解析Resume API
联系我们南京浅度求索科技有限公司admin@51mee.com
联系客服
51mee客服微信二维码 - 扫码添加客服获取帮助
© 2025 南京浅度求索科技有限公司. All rights reserved.
公安备案图标苏公网安备32010602012192号苏ICP备2025178433号-1