首页 文章

有哪些方法可以测试登录页面?

提问于
浏览
8

在我的采访中,我经常被问到这个问题 . 他们绘制用户名和密码文本字段,并问我可以提出哪些测试用例,以确保此页面正常工作 . 我出于某种原因对此的答案似乎永远不能满足他们 . 那么除了下面提到的那些之外,我们可以进行哪些测试以确保此页面正常工作?

我的答案通常包括:

  • 检查登录是否使用正确的凭据

  • 检查它是否与错误的凭据一起使用

  • 检查文本字段限制 - 浏览器是否接受超过允许的数据库限制

  • 检查密码文本是否隐藏

5 回答

  • 2

    我不打算在这里给你具体的建议:你已经有了一些 . 相反,我将建议您可以用于此类问题的一般策略 . (下一次面试可能不是登录对话 . 可能是注册表 . )

    我一般都在寻找,当我问这类问题时,人们将能够提出各种各样的测试想法,并且他们并没有过多地关注特定类型的测试 . 如果您稍后切换到另一个主题并执行相同操作,那么进行一些滚动并在主题上抛出很多变化是很好的,但如果您似乎只能提出一种测试想法测试,你跑得很快,我可能会担心你对测试人员的关注度有点偏差 .

    当你做这件事时,能够产生大量的测试想法和广泛的范围,这对我来说是一个好的测试者的关键指标:我想与有创造力和分析能力的人一起工作 - 即你们都可以来提出了许多想法,并向我解释了它们的基本模型:安全性,可用性等 .

    当你的想法耗尽时,退后一步,并向他们询问有关上下文的几个问题 - 登录对话框是什么类型的系统?它运行的平台是什么?是公共可用的Web应用程序,还是只能在公司内访问此页面?这可能会为您触发更多测试创意 - 例如,您可能会开始考虑重试登录的次数 - 如果用户帐户重试次数太多,他们是否会被锁定?如果是,那么错误消息是否应该告诉他们如何重置密码?

    我建议您尝试查找一些测试启发式算法,并练习在不同场景中使用它们:例如测试登录对话框,测试注册表单,购物车等 .

    这是一个很好的开始 - 尝试坐下来,只记下上面所有例子的想法 . 然后与朋友重做,并比较列表:http://www.satisfice.com/articles/sfdpo.shtml

    如需进一步阅读,我建议使用此资源页面:http://www.developsense.com/resources.html

    当你处于压力之下时,这种练习将有助于提示你:你可以退一步问自己“我将如何对我迄今为止所建议的测试进行分类?是否有任何我完全错过的方面?会是什么?对此有何种考验?“

  • 3

    功能测试

    1)检查页面是否已加载2)检查输入的密码是否被屏蔽3)如果记住登录,请检查是否关闭浏览器并重新登录是否需要登录页面4)如果没有记住登录,请检查cookie是否有助于记住会话5)检查用户ID和密码是否经过验证6)如果有两步验证检查是否有效7)如果禁用了javascript,请检查“登录”提交是否触发流程8)检查登录页面是否为'退出'后重新加载9)检查输入错误信息时输入的输入是否错误,即无效的用户ID或密码10)检查是否在未输入密码或用户ID时显示错误信息11)检查登录后是否,在新标签中打开网站时,它不会返回到登录页面.12)输入密码时是否应用密码限制,即整数0-9,字符和特殊字符等 . 13)登录尝试限制

    可用性测试

    1)用户ID和密码选项卡的可用性2)检查用户ID和密码表单字段是否足够长3)如果有验证码,检查字符是否可见和可读4)如果有“记住我”选项,检查它是否勾选框5)检查“登录”按钮是否可用且可点击6)检查“退出”按钮是否可用且可点击7)检查显示的消息是否为“无效的用户ID和密码”可见,清晰,不被截断

    兼容性:

    1)检查一切是否在不同的浏览器中工作

    积分:

    1)如果清理了cookie或历史记录,则应重新加载登录页面2)如果浏览器在登录后关闭,则检查登录是否在再次打开时未重新加载3)检查登录是否已登录页面在浏览器隐身模式下工作 . 4)检查浏览器是否在会话期间将密码存储在cookie中5)检查浏览器是否在检查“记住我”选项时将密码存储在本地桌面

    性能:

    1)同时使用多个用户帐户登录应用程序并捕获身份验证的延迟

    出现:

    1)检查是否在请求页面时加载了images和favicon 2)检查浏览器大小更改时是否重新调整窗口大小

  • 0

    检查基础查询是否安全sql注入 . 您不希望黑客使用注入丢弃您的表 .

    http://sqlzoo.net/hack/ . 该页面描述了一种可以在登录表单中使用sql注入的方法 .

  • 12
    • 检查无效字符并纠正转义 . 如果您尝试以 Mugen'; drop database; -- 登录(不要在 生产环境 服务器上进行测试)会发生什么 .

    如果是网站:

    • 检查密码是否经过散列或加密

    • 而不是(也)纯文本 .

    • 检查它是否在没有Javascript的情况下工作

  • 1

相关问题