用户管理测试用例如下表所示
发布时间:2025-06-24 17:48:24 作者:北方职教升学中心 阅读量:596
输入数据 | 预期结果 | 实际结果 | 结果分析 |
---|---|---|---|
用户名:guanliyuan 密码:123456 验证码:正确输入 | 登入系统 | 成功登入系统 | 和估算结果一样 |
用户名:guanliyuan 密码:111111 验证码:正确输入 | 密码错误 | 密码错误,请重新输入密码 | 和估算结果一样 |
用户名:guanliyuan 密码:123456 验证码:错误输入 | 验证码错误 | 验证码信息错误 | 和估算结果一样 |
用户名:空 密码:123456 验证码:正确输入 | 用户名必填 | 请输入用户名 | 和估算结果一样 |
用户名:guanliyuan 密码:空 验证码:正确输入 | 密码错误 | 密码错误,请重新输入密码 | 和估算结果一样 |
用户管理功能测试方案:用户管理主要有添加、以确保系统流程的正确性。在测试的过程中也可以了解到该系统的质量情况,系统功能是否健全,系统逻辑是否顺畅。
系统测试主要是为了避免用户在使用时发生问题,增强用户体验感,为了不影响用户的使用,我们需要从多角度、
代码参考
@IgnoreAuth@PostMapping(value ="/login")publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){UsersEntityuser =userService.selectOne(newEntityWrapper<UsersEntity>().eq("username",username));if(user==null||!user.getPassword().equals(password)){returnR.error("账号或密码不正确");}Stringtoken =tokenService.generateToken(user.getId(),username,"users",user.getRole());returnR.ok().put("token",token);}@OverridepublicStringgenerateToken(Longuserid,Stringusername,StringtableName,Stringrole){TokenEntitytokenEntity =this.selectOne(newEntityWrapper<TokenEntity>().eq("userid",userid).eq("role",role));Stringtoken =CommonUtil.getRandomString(32);Calendarcal =Calendar.getInstance();cal.setTime(newDate());cal.add(Calendar.HOUR_OF_DAY,1);if(tokenEntity!=null){tokenEntity.setToken(token);tokenEntity.setExpiratedtime(cal.getTime());this.updateById(tokenEntity);}else{this.insert(newTokenEntity(userid,username,tableName,role,token,cal.getTime()));}returntoken;}/** * 权限(Token)验证 */@ComponentpublicclassAuthorizationInterceptorimplementsHandlerInterceptor{publicstaticfinalStringLOGIN_TOKEN_KEY ="Token";@AutowiredprivateTokenServicetokenService;@OverridepublicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{//支持跨域请求response.setHeader("Access-Control-Allow-Methods","POST, GET, OPTIONS, DELETE");response.setHeader("Access-Control-Max-Age","3600");response.setHeader("Access-Control-Allow-Credentials","true");response.setHeader("Access-Control-Allow-Headers","x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization");response.setHeader("Access-Control-Allow-Origin",request.getHeader("Origin"));// 跨域时会首先发送一个OPTIONS请求,这里我们给OPTIONS请求直接返回正常状态if(request.getMethod().equals(RequestMethod.OPTIONS.name())){response.setStatus(HttpStatus.OK.value());returnfalse;}IgnoreAuthannotation;if(handler instanceofHandlerMethod){annotation =((HandlerMethod)handler).getMethodAnnotation(IgnoreAuth.class);}else{returntrue;}//从header中获取tokenStringtoken =request.getHeader(LOGIN_TOKEN_KEY);/** * 不需要验证权限的方法直接放过 */if(annotation!=null){returntrue;}TokenEntitytokenEntity =null;if(StringUtils.isNotBlank(token)){tokenEntity =tokenService.getTokenEntity(token);}if(tokenEntity !=null){request.getSession().setAttribute("userId",tokenEntity.getUserid());request.getSession().setAttribute("role",tokenEntity.getRole());request.getSession().setAttribute("tableName",tokenEntity.getTablename());request.getSession().setAttribute("username",tokenEntity.getUsername());returntrue;}PrintWriterwriter =null;response.setCharacterEncoding("UTF-8");response.setContentType("application/json; charset=utf-8");try{writer =response.getWriter();writer.print(JSONObject.toJSONString(R.error(401,"请先登录")));}finally{if(writer !=null){writer.close();}}// throw new EIException("请先登录", 401);returnfalse;}}
推荐项目
基于SpringBoot+Vue+Uniapp的驾校预约小程序(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+Uniapp的博客系统设计与实现(源码+论文+PPT+部署文档教程等)
基于SpringBoot+Vue+Uniapp的江西文物时讯小程序设计与实现(源码+论文+PPT+部署文档教程等)
基于SSM+Vue+Uniapp的线上视频学习系统设计与实现(源码+论文+PPT+部署文档教程等)
基于SpringBoot+Vue的名著阅读网站设计与实现(源码+论文+PPT+部署文档教程等)
基于SpringBoot+Vue+Uniapp的志愿者服务平台设计与实现(源码+论文+PPT+部署文档教程等)
基于SpringBoot+Vue的流浪天使乐园管理系统设计与实现(源码+论文+PPT+部署文档教程等)
基于PHP+Vue的多媒体教室管理系统设计与实现(源码+论文+PPT+部署文档教程等)
项目案例
优势
项目均为博主学习开发自研,适合新手入门和学习使用
精彩专栏推荐订阅:在下方专栏👇🏻
Java程序实战案例2000套
微信小程序实战案例1000套