一、功能测试–登录
功能性测试用例包括:
1.什么都不输入,点击提交按钮,看提示信息。(非空检查)
2.输入已注册的用户名和正确的密码,验证是否登录成功;
3.输入已注册的用户名和不正确的密码,验证是否登录失败,并且提示信息正确;
4.输入未注册的用户名和任意密码,验证是否登录失败,并且提示信息正确;
5.用户名和密码两者都为空,验证是否登录失败,并且提示信息正确;
6.用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确;
7.如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入正确的验证码,验证是否登录成功;
8.如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入错误的验证码,验证是否登录失败,并且提示信息正确。
9.用户名和密码是否大小写敏感;
10.页面上的密码框是否加密显示;
11.后台系统创建的用户第一次登录成功时,是否提示修改密码;
12.忘记用户名和忘记密码的功能是否可用;
13.前端页面是否根据设计要求限制用户名和密码长度;
14.如果登录功能需要验证码,点击验证码图片是否可以更换验证码,更换后的验证码是否可用;
15.刷新页面是否会刷新验证码;
16.如果验证码具有时效性,需要分别验证时效内和时效外验证码的有效性;
17.用户登录成功但是会话超时后,继续操作是否会重定向到用户登录界面;
18.不同级别的用户,比如管理员用户和普通用户,登录系统后的权限是否正确; 19.页面默认焦点是否定位在用户名的输入框中;
20.快捷键 Tab 和 Enter 等,是否可以正常使用。
二、接口测试–登录
这里使用的登录接口是自己通过 python 写的
针对于接口测试可以使用工具或者自己编写脚本进行接口测试。
使用工具进行接口测试,这里我用的是国产的接口测试工具 apipost,它还支持接口文档的生成。
在工具里面选择请求方法,现在一般使用的方法为:get、post。输入 url:http://127.0.0.1:8888/login, 因为是登录还需要传递用户名和密码这两个参数,post 方法在 body 携带参数,点击发生查看响应结果
自己编写脚本进行进行登录的接口测试,这里使用的是 python+requests,如图:
三、性能测试–登录
针对于接口测试的性能测试我们可以使用 jmeter,jmeter 是 java 开发的一款轻量级的性能测试工具。
在做登录的性能测试的时候,需要考虑验证码的问题,要么去除验证码,要么设置一个万能验证码,这里还是用上面那个登录接口,进行性能测试。
打开 jmeter,设置线程组,集合点、请求、查看结果树、汇总报告、聚合报告等,可根据自己的需求进行添加
编写登录的 http 请求,如图:
这里对一个接口并发十次,但是真正意义的登录性能测试,是多个用户进行登录。这里条件限制就用一个接口进行登录的并发测试。
查看并发的结果: