测试用例
用户管理
前提 | 动作 | 预期 |
用户表无张三用户 | 注册张三用户 | 注册成功 |
用户表有张三用户 | 注册张三用户 | 注册失败 |
用户表无张三用户 | 用张三用户进行登录 | 登录失败 |
用户表有张三用户,但用户名写错 | 用张三用户进行登录 | 登录失败 |
用户表有张三用户,但密码写错 | 用张三用户进行登录 | 登录失败 |
无 | 退出账户 | 退出成功(这里仅对session的用户属性进行清空) |
此场景全部测试成功
题目管理
前提 | 动作 | 预期 |
用户未登录 | 填写questions表单 | 必须登录后才能使用 |
用户已登录,但只填写了questions表单的question项 | 填写questions表单 | 预期插入失败 |
用户已登录,但只填写了questions表单的options项 | 填写questions表单 | 预期插入失败 |
用户已登录,未传入页码信息 | 查看我的题目(带分页) | 分页成功且展示的是第一页题目信息 |
用户已登录,传入页码信息 | 查看我的题目(带分页) | 分页成功且展示的是传入页题目信息 |
用户已登录,传入第一页页码信息,并且已经跳转到所传页面 | 查看其他页信息,点击上一页 | 分页成功且展示的是第一页题目信息 |
用户已登录,传入第一页页码信息,并且已经跳转到所传页面 | 查看其他页信息,点击下一页 | 分页成功且展示的是第二页题目信息 |
用户已登录,传入非第一页页码信息,并且已经跳转到所传页面 | 查看其他页信息,点击上一页 | 分页成功且展示的是上一页题目信息 |
用户已登录,传入非第一页页码信息,并且已经跳转到所传页面 | 查看其他页信息,点击下一页 | 分页成功且展示的是下一页题目信息 |
用户已登录,传入随机页页码信息,并且已经跳转到所传页面 | 查看第一页信息,点击第一页 | 分页成功且展示的是第一页题目信息 |
用户已登录,传入随机页页码信息,并且已经跳转到所传页面 | 查看最后一页信息,点击最后一页 | 分页成功且展示的是最后页题目信息 |
这里有两条测试用例失败或者说是不符合预期
用例2:实际希望一个问题的创建一定是问题加上选项都有的,但这里对用户传过来的参数没有进行错误判断,没有进行空值的判断
问卷管理场景
前提 | 动作 | 预期 |
用户未登录 | 传入问卷title和brief | 需登录后才可使用 |
用户已登录,只传入问卷title | 创建问卷survey | 插入失败 |
用户已登录,只传入问卷brief | 创建问卷survey | 插入失败 |
用户已登录,传入问卷brief和title | 创建问卷survey | 插入成功 |
用户未登录查看我的题目 | 查看list.html | 页面信息为空,日志信息显示用户未登录 |
用户已登录,查看我的题目 | 查看list.html | 查看成功 |
用户未登录,进行题目与survey绑定 | 查看bind.html,并且以get方式传入sid和page | 页面为空 |
用户已登录,进行题目与survey绑定,只传入sid信息 | 查看bind.html | 页面为空 |
用户已登录,进行题目与survey绑定,只传入page信息 | 查看bind.html | 页面为空 |
用户已登录,进行题目与survey绑定,传入page和sid信息 | 查看bind.html | 页面正常显示 |
用户已登录,进行题目与survey绑定,传入小于零page信息和sid信息 | 查看bind.html | 页面正常显示第一页信息 |
用户已登录,进行题目与survey绑定,传入很大page信息和sid信息 | 查看bind.html | 页面为空 |
用户已登录,进行题目与survey绑定,传入page和sid信息 | 进行问题绑定,选择问题点击绑定按钮 | 响应未出现错误,创新之前页面,发现绑定成功(所选问题打上了对钩) |
用户已登录,进行题目与survey绑定,传入page和sid信息 | 取消问题绑定,去掉问题对钩点击绑定按钮 | 响应未出现错误,创新之前页面,发现绑定成功(所选问题取消了对钩) |
此场景同样有两条没有成功,与上一个场景类似。
总结:项目只是初步实现了这些功能,出现了bug,虽不是直接导致崩溃的bug,但仍然给人提醒,在实际的业务中,对于用户请求参数方面的合法性校验是必要的,不然就会导致插入到数据库中的一些是无意义的数据。