• 测试人即用宝典,全网最全的功能测试点,有这一篇完全足够......



    前言

    验证登录流程判断逻辑

    前端:
    账户名、密码、验证码是否为空
    密码是否符合规则(特殊字符、大小写、数字、长度…)

    服务端:
    验证码是否正确(对应时间戳是否过期)
    账户是否存在(未注册、已注销)
    密码是否正确(记录连续输入错误次数,超过5次,账号锁定4小时。或提升验证等级,采取账号+密码+验证码+短信验证)
    返回session、token

    基本功能测试点
    1、输入正确的用户名和密码登录成功
    2、输入错误的用户名密码登录失败
    3、用户名正确,密码错误,是否提示输入密码错误?
    4、用户名错误,密码正常,是否提示输入用户名错误?
    5、用户名和密码都错误,是否有相应提示?
    6、用户名密码为空时,是否有相应提示?
    7、如果用户未注册,提示请先注册,然后进行登录
    8、已经注销的用户登录失败,提示信息友好?
    9、密码框是否加密显示?
    10、用户名是否支持中文、特殊字符?
    11、用户名是否有长度限制?
    12、密码是否支持中文,特殊字符?
    13、密码是否有长度限制?
    14、密码是否区分大小写?
    15、密码为一些简单常用字符串时,是否提示修改?如:123456
    16、密码存储方式?是否加密?
    17、登录功能是否需要输入验证码?
            验证码有效时间?
            验证码输入错误,登录失败,提示信息是否友好?
            输入过期的验证能否登录成功?
            验证码是否容易识别?
            验证码换一张功能是否可用?点击验证码图片是否可以更换验证码?
    18、用户体系:比如系统分普通用户、高级用户,不同用户登录系统后可的权限不同。
    19、如果使用第三方账号(QQ,微博账号)登录,那么第三方账号与本系统的账号体系对应关系如何保存?首次登录需要极权等。

    页面测试
    1、登录页面显示是否正常?文字和图片能否正常显示,相应的提示信息是否正确,按钮的设置和排列是否正常,页面是否简洁壮观等。

    2、页面默认焦点是否定位在用户名的输入框中

    3、首次登录时相应的输入框是否为空?或者如果有默认文案,当点击输入框时默认方案是否消失?

    4、相应的按钮如登录、重置等,是否可用;页面的前进、后退、刷新按钮是否可用?

    5、快捷键Tab,Esc,Enter等,能否控制使用?

    6、兼容性测试:不同浏览器,不同操作系统,不同分辨率下界面是否正常。

    安全测试
    1、不登录:浏览器中直接输入登录后的地址,看是否可以直接进入

    2、登录成功后生成的Cookie,是否是httponly(否则容易被脚本盗取)

    3、用户名和密码是否通过加密的方式,发送给Web服务器

    4、用户名和密码的验证,应该是用服务器端验证,而不能单单是在客户端用javascript验证

    5、用户名和密码的输入框,应该屏蔽SQL注入攻击

    6、用户名和密码的的输入框,应该禁止输入脚本(防止XSS攻击)

    7、错误登陆的次数限制(防止暴力破解)

    8、考虑是否支持多用户在同一机器上登录

    9、考虑一用户在多台机器上登录

    性能测试
    1、单用户登录系统的响应时间是否符合"3-5-8"原则

    2、用户数在临界点时并发登录是否还能符合"3-5-8"原则

    3、压力:大量并发用户登录,系统的响应时间是多少?系统会出现宕机、内存泄露、cpu饱和、无法登录吗?

    4、稳定性:系统能否处理并发用户数在临界点以内连续登录N个时的场景?

    其它测试
    1、连续输入3次或以上错误密码,用记是否被锁一定时间(如:15分钟)?时间内不允许登录,超出时间点是否可以继续登录。

    2、用户session过期后,重新登录是否还能重新返回这前session过期的页面?

    3、用户名和密码输入框是否支持键盘快捷键?如:撤销、复制、粘贴等等

    4、是否允许同名用户同时登录进行操作?考虑web和app同时登录

    5、手机登录时,是否先判断网络可用?

    6、手机登录时,是否先判断app存在新版本?

    7、是否支持单点登录?

    8、是否有埋点接口

    下面是我整理的2022年最全的软件测试工程师学习知识架构体系图

    一、Python编程入门到精通

    请添加图片描述

    二、接口自动化项目实战

    请添加图片描述

    三、Web自动化项目实战

    请添加图片描述

    四、App自动化项目实战

    请添加图片描述

    五、一线大厂简历

    请添加图片描述

    六、测试开发DevOps体系

    请添加图片描述

    七、常用自动化测试工具

    请添加图片描述

    八、JMeter性能测试

    请添加图片描述

    九、总结(尾部小惊喜)

    时间真的是这个世界上最好的跨度,让惨痛变得苍白,让执着的人选择离开,然后历经沧桑人来人往,你会明白,万般皆是命,半点不由人。

    成功与不成功之间有时距离很短——只要后者再向前几步。自己打败自己是最可悲的失败,自己战胜自己是最可贵的胜利。

    成功来自与勤奋,智慧不是自然的恩惠,而是勤奋的结果。只有把握住勤奋的钥匙,才能打开知识宝库的大门。

  • 相关阅读:
    双连通与网络可靠性
    【自留地】后端 - PHP - MySQL - Nginx - Python - Java
    星辰大海:孙宇晨的DAO将重新定义新商业航天时代
    MyBatis注解实现增删改查
    eBay产品刊登的流程,eBay平台多品类规则——站斧浏览器
    Burp suite常用操作(Target、Option)
    Qt FTP文件上传下载简单例子
    【Python】从基础到进阶(一):了解Python语言基础以及变量的相关知识
    `算法知识` 倍增, 可重复贡献问题
    到底什么是JS原型
  • 原文地址:https://blog.csdn.net/m0_70102063/article/details/126705827