给你一个登录功能,如何设计测试用例
哪怕是最常用最小的一个登录功能,其实涉及到的测试用例也是非常多的,这个题目通常会通过面试来考察求职者的综合能力,尤其是测试用例的设计思维,因为你即使你背了各种测试用例设计方法,比如等价类、边界值、判定表等,真正实际工作中,不可能严格按照这种标准去设计,绝大多数情况下,由于受限于时间成本和经济成本,是不可能去穷尽所有可能的组合的,而是把这些设计方法融会贯通,用尽可能少的用例覆盖更多的场景和功能,针对性地选择测试范围和设计测试用例,以在缺陷风险和研发成本之间取得平衡。
假设有一个登录框,有账号、密码输入框,记住密码功能、登录按钮,请尽可能多的设计一些测试用例。
一、功能测试
- 输入已注册用户名和正确密码,验证登录成功。
- 输入已注册用户名和不正确密码,验证登录失败且提示信息正确。
- 输入未注册用户名和任意密码,验证登录失败且提示信息正确。
- 验证用户名和密码均为空时,登录失败且提示信息正确。
- 验证用户名或密码为空时,登录失败且提示信息正确。
- 如果启用了验证码功能,在正确的用户名、密码前提下输入正确的验证码,验证登录成功。
- 如果启用了验证码功能,在正确的用户名、密码前提下输入错误的验证码,验证登录失败且提示信息正确。
- 用户名和密码是否区分大小写。
- 页面上的密码框是否加密显示。
- 后台系统创建的用户首次登录成功时是否提示修改密码。
- 忘记用户名和忘记密码的功能是否可用。
- 前端页面是否按设计要求限制用户名和密码长度。
- 如果登录功能需要验证码,点击验证码图片是否可以更换验证码,且新验证码是否可用。
- 刷新页面是否会刷新验证码。
- 验证时效性验证码的有效性,包括时效内和时效外的验证码。
- 用户登录成功但会话超时后,继续操作是否会重定向到用户登录界面。
- 不同级别用户(例如管理员和普通用户)登录系统后的权限是否正确。
- 页面默认焦点是否定位在用户名的输入框中。
- 快捷键Tab和Enter等是否可以正常使用。
二、UI测试
- 验证布局是否合理,输入框和按钮是否对齐。
- 验证界面的设计风格是否与UI的设计风格一致。
- 验证界面的文字是否简洁易懂,是否存在错别字。
三、性能测试
- 验证单用户登录的响应时间是否小于3秒。
- 验证单用户登录时后台请求数量是否过多。
- 验证高并发场景下用户登录的响应时间是否小于5秒。
- 验证高并发场景下服务端的监控指标是否符合预期。
- 验证高并发场景下是否存在资源死锁和不合理的资源等待。
- 验证长时间大量用户连续登录和登出时服务器端是否存在内存泄漏。
四、安全测试
- 验证用户密码是否在后台存储时进行了加密。
- 验证用户密码在网络传输过程中是否加密。
- 验证密码是否具有有效期,并在到期后提示需要修改密码。
- 验证在未登录情况下,在浏览器中直接输入登录后的URL地址是否会重新定向到用户登录界面。
- 验证密码输入框是否不支持复制和粘贴操作。
- 验证密码输入框内输入的密码是否可以在页面源码模式下被查看。
- 验证在用户名和密码输入框中分别输入典型的"SQL注入攻击"字符串后,系统的返回页面。
- 验证在用户名和密码输入框中分别输入典型的"XSS跨站脚本攻击"字符串后,系统行为是否被篡改。
- 验证在连续多次登录失败情况下,系统是否会阻止后续的尝试以应对暴力破解。
- 验证同一用户在同一终端的多种浏览器上登录时,登录功能的互斥性是否符合设计预期。
- 验证同一用户先后在多台终端的浏览器上登录时,登录是否具有互斥性。
五、兼容性测试
- 不同浏览器下,验证登录页面的显示以及功能正确性;
- 相同浏览器的不同版本下,验证登录页面的显示以及功能正确性;
- 不同移动设备终端的不同浏览器下,验证登录页面的显示以及功能正确性;
- 不同分辨率的界面下,验证登录页面的显示以及功能正确性。
六、网络相关
- 验证在网络延迟、弱网、切换网络或断网的情况下是否能正常登录。
- 验证在无网络模式下登录时,是否正确给出"网络未连接"或"网络异常"的提示。
- 验证在第一次登录请求超时后(服务器出问题,随后恢复正常),再次请求登录是否能成功。
- 验证在第一次无网络情况下登录失败后,再次连接网络并登录。
- 验证在正在登录过程中遇到网络切换(例如从4G切换到WiFi环境)时是否能正常登录。
我们看到,设计用例时,不仅要考虑功能,还要更多考虑性能、安全、兼容性问题,而这些非功能性需求是产品稳定、安全的关键。
看到上述这些测试用例的设计思路,哪些你想到了,哪些角度是你忽略了?我想很多人应该,总有些点,没有覆盖到,但我们应该应该尽可能去训练自己这种全局和多维度的思维。
如果想成为优秀的测试工程师,必须具有宽广的知识面,才能设计出非常完备的测试用例,提高测试覆盖率。
最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】
全套资料获取方式:点击下方小卡片自行领取即可