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

时间:2011-01-23 09:45:25

标签: testing integration-testing software-quality

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

我的答案通常包括:

  • 检查登录是否使用正确的凭据
  • 检查它是否无法使用错误的凭据
  • 检查文本字段限制 - 浏览器是否接受超过允许的数据库限制
  • 检查密码文本是否隐藏

4 个答案:

答案 0 :(得分:14)

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

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

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

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

我建议你尝试查找一些测试启发式方法,并练习在不同情况下使用它们:例如:测试登录对话框,测试注册表单,购物车等。

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

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

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

答案 1 :(得分:4)

功能测试

1)检查页面是否已加载 2)检查输入的密码是否被屏蔽 3)如果记住登录,请检查是否关闭浏览器并重新启动 登录页面 4)如果没有记住登录,请检查cookie是否有助于记住会话 在此期间内 5)检查用户ID和密码是否已通过身份验证 6)如果有两步验证检查是否有效 7)如果禁用了javascript,请检查“登录”提交是否触发了该过程 8)检查“退出”后是否重新加载登录页面 9)检查输入错误消息时是否显示错误消息,即用户ID或pwd无效 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)检查是否在请求页面时加载了图像和图标 2)检查浏览器大小更改时是否重新调整窗口大小

答案 2 :(得分:2)

检查基础查询是否安全sql注入。你不希望黑客使用注射丢弃你的桌子。

http://sqlzoo.net/hack/。本页介绍了一种可以在登录表单中使用sql注入的方法。

答案 3 :(得分:1)

  • 检查无效字符并纠正转义。如果您尝试以Mugen'; drop database; --身份登录,请执行以下操作(不要在生产服务器上进行测试)。

如果是网站:

  • 检查密码是否已发送散列或加密
  • 而不是(也)用明文。
  • 检查它是否可以在没有Javascript的情况下使用