作为一个测试工程师,我们首先要学会从一个高纬度、全方面地去思考一个问题。登录这个功能几乎所有的应用都能用到,这篇文章我想从各个角度总结一下登录会有哪些需要注意的测试点。
首先,分析一个功能的通用测试点,我会从 功能、性能、界面、安全、易用、兼容 6个较大的维度去思考;等这些通用的想完了,再从一些特殊的情况去思考。测试点不是越多越好,相反,我们应该对所有的测试点给出相应的优先级,当需要更短时间交付的时候,着重保证核心测试点的功能正常。但是,思考的时候,我们应该更全面地去考虑,培养自己的思维能力和大局观。从大三接触测试这门课程以后,我就有思考自己的程序“登录”应该怎么去测,后续学习和工作以后也有相应的补充。
好了,话不多说,下面是我对登录的一些测试点的思考:
(整理到这儿已经是深夜23.49了,由于时间关系,没有对所有测试点做进一步的补充,只写了通用的测试点。在实际的测试过程中,我们需要对测试点做进一步的详细分析,如测试点“输入用户名”:用户名可以输入关联邮箱、绑定手机号、用户账号;用户账号又需要考虑长度、空校验、支持字符、是否不支持什么字符开头、是否注册、空格等。
对于这些详细测试点,我们还需要用到边界值、等价类、错误类推等方法进一步划分和思考,最终设计出详细测试用例。但因为在互联网公司,测试人员较少、版本迭代较快、功能变更较大等原因,部分公司会支持测试只用xmind写测试点即可,即写到图中这一级。但对测试人员相应业务能力和理解能力的要求会更强。
图中标红的都是之前没有考虑到,后面新增的。)
登录界面测试点
登录界面
功能测试
输入用户名
邮箱
手机号
用户账号
- 长度
- 空校验
- 整体支持什么字符
- 支持什么字符开头
- 未注册的账号
- 账号前后有空格
输入密码
- 长度
- 输入正确密码
- 输入错误密码
- 密码前后有空格
- 空校验
- 整体支持什么字符
- 支持什么字符开头
- 是否自动加密显示
- 能否取消加密显示
输入验证码
常登陆设备不需要验证码
长时间未登录必须输入验证码
异地登录必须输入验证码
陌生设备必须输入验证码
输入错误验证码
输入正确验证码
不输入验证码
长度
是否防止机器识别
验证码复杂度
验证码类型
- 手机验证码
- 图片内容识别验证码
- 图片方块移动对位二维码
- 图片选择二维码
更换验证码
点击图片更换验证码
点击文字更换验证码
刷新页面更换验证码
密码错误自动更换验证码
验证码输入错误更换验证码
验证码失效自动更换验证码
更换验证码时间限制
二维码生效时间限制
手机重复获取验证码限制
- 时间限制
- 次数限制
- 换页面后是否限制
- 刷新当前页面后是否限制
- 更换手机号内容后是否限制
软键盘
登录按钮
自动登录
记住密码
手机验证码登录
第三方快捷登录
忘记用户名
忘记密码
注册账号
二维码扫码登录
记住已登录账号
登录状态
界面测试
是否有错别字
文字字体是否统一
文字大小是否统一
界面设计风格是否与UI设计风格统一
图标检查
按钮交互效果
头像显示
布局是否合理
性能测试
多用户登录
单用户登录相应时间
单用户登录时,后台请求数量是否过多
高并发场景下服务端的监控指标是否符合预期
高集合点并发场景下,是否存在资源死锁
高集合点并发场景下,是否存在不合理的资源等待
长时间大量用户连续登录和登出,服务器端是否存在内存泄漏
兼容测试
各个浏览器显示
相同浏览器的不同版本
相同浏览器的不同模式
手机H5显示
不同手机显示
不同操作系统
不同分辨率
安全性测试
是否加密
get或post
是否防暴力
SQL注入
输入“xss跨站脚本攻击”,验证系统行为是否被“篡改”
长时间未操作是否重登
长期未登陆记住密码、自动登录是否失效
不同权限级别登录,权限是否正确
单个账号多级权限如何显示
是否支持多端登录
- Android IOS Ipad mac windows应用 web
密码框密码是否不支持往外复制粘贴
后台创建的用户第一次登录是否提示修改密码
异地登录
陌生设备登录
易用性测试
常用快捷键
- tab、回车