11

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

我的回答通常包括:

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

4 回答 4

16

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

我不会在面试中使用那个特定的问题,但是当我问这种类型的问题时,我通常在寻找的是人们能够提出各种测试想法,并且他们不会专注于某种特定类型的测试过多。如果你稍后切换到另一个主题并做同样的事情 - 但如果你似乎只能想出一种测试想法测试,而且你跑得很快,我可能担心你对测试人员的关注有点狭隘。

当你这样做时,能够产生大量的测试想法和范围广泛的测试,这对我来说是一个优秀测试人员的关键指标:我想和既有创造力又有分析能力的人一起工作——也就是说,你们都可以来提出了很多想法,还向我解释了它们的底层模型:安全性、可用性等。

当你的想法用完时退后一步,喘口气,再问他们几个关于上下文的问题——登录对话框适用于什么样的系统?它在什么平台上运行?它是针对公开可用的网络应用程序,还是该页面只能在公司内部访问?这可能会为您触发更多测试想法 - 例如,您可能会开始考虑可以重试登录多少次 - 如果用户帐户重试次数过多,是否应该锁定?如果是,错误消息是否应该指导他们如何重置密码?

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

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

为了进一步阅读,我建议这个资源页面: http: //www.developsense.com/resources.html

当你处于压力之下时,这种练习将有助于提示你:你可以退后一步,问自己“我将如何对我迄今为止建议的测试进行分类?有没有我完全错过的领域?会是什么?一种测试?”。

于 2011-01-23T21:41:59.293 回答
5

功能测试

t 在新标签页中打开网站时返回登录页面 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) 检查更改浏览器大小时是否重新调整窗口大小

于 2014-12-03T05:15:58.517 回答
2

检查底层查询是否是 sql 注入安全的。您不希望黑客使用注入删除您的表。

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

于 2011-01-23T09:54:24.450 回答
1
  • 检查无效字符并正确转义。如果您尝试以身份登录会发生什么Mugen'; drop database; --(不要在生产服务器上测试)。

如果是网站:

  • 检查密码是散列还是加密发送
  • 而不是(也)纯文本。
  • 检查它是否在没有 Javascript 的情况下工作
于 2011-01-23T09:56:21.340 回答