目录
显式功能性需求
常见情况
- 已注册用户名和正确密码:验证基本功能,确保能成功登录。
- 已注册用户名和错误密码:验证登录失败,确保提示信息正确,防止未授权访问。
- 未注册用户名和任意密码:验证登录失败,确保提示信息正确,防止未授权用户尝试登录。
- 用户名和密码都为空:验证登录失败,确保用户必须提供有效凭证。
- 用户名或密码为空:确保登录凭证完整,验证提示信息正确。
- 启用验证码,正确验证码:验证登录功能的完整性,确保增加的验证步骤正常工作。
- 启用验证码,错误验证码:验证验证码功能的有效性,确保错误的验证码会阻止登录。
进阶情况
- 大小写敏感:验证用户名和密码的严格性。
- 密码框加密显示:确保密码输入的安全性。
- 首次登录提示修改密码:确保初始密码的安全性和用户强制修改密码的功能。
- 忘记用户名和密码功能:确保用户可以找回凭证,提升用户体验。
- 用户名和密码长度限制:确保输入符合系统要求,防止输入错误和潜在的安全问题。
- 更换验证码:确保验证码的灵活性和有效性。
- 刷新页面刷新验证码:验证验证码的一致性和安全性。
- 验证码时效性:验证验证码的有效期管理。
- 会话超时处理:验证会话管理,确保用户会话安全性。
- 不同用户级别权限:确保权限管理正确,防止权限滥用。
- 默认焦点:优化用户体验,确保输入方便。
- 快捷键使用:提高用户操作效率和体验。
- 记住密码功能:提高用户便捷性,同时确保安全性。
- 第三方登录支持:增加登录方式的灵活性。
- 网络状况对登录的影响:验证在不同网络条件下的登录稳定性。
- 自动锁定用户账户:在多次失败登录尝试后,账户是否被自动锁定。
- 记住登录状态:选择“记住我”后,用户再次访问网站时是否能自动登录。
- 双因素认证:如果启用了双因素认证,验证正确的二次认证码后是否能登录成功。
- 多语言支持:验证登录界面和提示信息在多语言设置下是否正确显示。
- API 登录:如果系统提供API登录接口,验证API登录的功能和安全性。
非功能性需求
安全测试用例
- 密码存储加密:确保密码存储的安全性,防止数据泄露。
- 密码传输加密:确保密码传输过程中的安全性,防止中间人攻击。
- 密码有效期:确保密码的定期更新,提高安全性。
- 直接输入登录后 URL:确保未登录用户不能访问受保护页面。
- 密码框不支持复制粘贴:防止密码泄露。
- 页面源码查看密码:确保页面源代码中没有泄露密码。
- SQL 注入攻击防护:验证系统防护措施,防止数据库攻击。
- XSS 攻击防护:验证系统防护措施,防止跨站脚本攻击。
- 暴力破解防护:确保系统能够防范暴力破解攻击,保护用户账户安全(错误次数限制:验证错误次数限制和相应处理。)
- 多浏览器登录互斥:确保同一用户在同一终端的登录一致性。
- 多终端登录互斥:确保同一用户在不同终端的登录管理。
- 登录日志记录:确保所有登录尝试,包括成功和失败的,都被详细记录,以便审计。
- 隐私合规性:确保登录页面和流程符合相关的隐私法规(如GDPR)。
- 错误信息安全性:验证错误提示信息是否不会暴露系统的敏感信息,如“用户名不存在”或“密码错误”不应区分。
性能压力测试用例
- 单用户登录响应时间:确保单用户登录性能。
- 后台请求数量:优化系统资源使用。
- 高并发登录响应时间:确保高并发场景下的性能。
- 高并发监控指标:验证系统在高负载下的稳定性。
- 资源死锁和等待:确保系统在高负载下的资源管理。
- 内存泄漏:验证长时间运行下系统的稳定性。
兼容性测试用例
- 不同浏览器:确保登录页面在不同浏览器下的显示和功能一致性。
- 不同浏览器版本:验证不同版本浏览器下的兼容性。
- 不同移动设备浏览器:确保移动端的显示和功能正常。
- 不同分辨率:验证不同屏幕分辨率下的页面显示。