一、功能测试–登录

功能性测试用例包括:

1.什么都不输入,点击提交按钮,看提示信息。(非空检查)

2.输入已注册的用户名和正确的密码,验证是否登录成功;

3.输入已注册的用户名和不正确的密码,验证是否登录失败,并且提示信息正确;

4.输入未注册的用户名和任意密码,验证是否登录失败,并且提示信息正确;

5.用户名和密码两者都为空,验证是否登录失败,并且提示信息正确;

6.用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确;

7.如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入正确的验证码,验证是否登录成功;

8.如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入错误的验证码,验证是否登录失败,并且提示信息正确。

9.用户名和密码是否大小写敏感;

10.页面上的密码框是否加密显示;

11.后台系统创建的用户第一次登录成功时,是否提示修改密码;

12.忘记用户名和忘记密码的功能是否可用;

13.前端页面是否根据设计要求限制用户名和密码长度;

14.如果登录功能需要验证码,点击验证码图片是否可以更换验证码,更换后的验证码是否可用;

15.刷新页面是否会刷新验证码;

16.如果验证码具有时效性,需要分别验证时效内和时效外验证码的有效性;

17.用户登录成功但是会话超时后,继续操作是否会重定向到用户登录界面;

18.不同级别的用户,比如管理员用户和普通用户,登录系统后的权限是否正确; 19.页面默认焦点是否定位在用户名的输入框中;

20.快捷键 Tab 和 Enter 等,是否可以正常使用。

二、接口测试–登录

这里使用的登录接口是自己通过python写的软件测试详解4—登录测试_登录测试

针对于接口测试可以使用工具或者自己编写脚本进行接口测试。

使用工具进行接口测试,这里我用的是国产的接口测试工具apipost,它还支持接口文档的生成。

在工具里面选择请求方法,现在一般使用的方法为:get、post。输入url:http://127.0.0.1:8888/login, 因为是登录还需要传递用户名和密码这两个参数,post方法在body携带参数,点击发生查看响应结果

软件测试详解4—登录测试_软件测试_02

自己编写脚本进行进行登录的接口测试,这里使用的是python+requests,如图:

软件测试详解4—登录测试_软件测试_03

三、性能测试–登录

针对于接口测试的性能测试我们可以使用jmeter,jmeter是java开发的一款轻量级的性能测试工具。

在做登录的性能测试的时候,需要考虑验证码的问题,要么去除验证码,要么设置一个万能验证码,这里还是用上面那个登录接口,进行性能测试。

打开jmeter,设置线程组,集合点、请求、查看结果树、汇总报告、聚合报告等,可根据自己的需求进行添加

编写登录的http请求,如图:

软件测试详解4—登录测试_软件测试_04

这里对一个接口并发十次,但是真正意义的登录性能测试,是多个用户进行登录。这里条件限制就用一个接口进行登录的并发测试。软件测试详解4—登录测试_软件测试_05

软件测试详解4—登录测试_软件测试_06

查看并发的结果:

软件测试详解4—登录测试_登录测试_07

软件测试详解4—登录测试_软件测试_08