前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >每天一道面试题——登录

每天一道面试题——登录

作者头像
张树臣
发布2019-04-28 11:52:26
7040
发布2019-04-28 11:52:26
举报
文章被收录于专栏:软件测试经验与教训

每天一道面试题

让我的分享带给你新思考

我常说一句话;测试人员最重要的财富就是他受过训练的大脑。而其中最重要的,就是他是否具备成熟的测试思维。

今天我们就再用一个大家可能更有切身体会的一个例子。在以前的文章里多次谈到测试思维的重要性,也举了不少例子。不过,既然它如此的重要,那么我们再怎么重复提起它也不为过。

我相信有很多测试人员遇到这个面试题:假设有一个登录功能,页面包括用户名、密码、验证码、登录按钮、注册链接五个元素,请说出有哪些测试点?

我曾经也就这个问题问过一些职者,给大家举几个遇到的回答案例。

案例1:

  1. 有效用户名和有效密码
  2. 有效用户名和无效密码
  3. 无效用户名和无效密码
  4. 无效用户名和用小密码
  5. 用户名输入特殊字符或超过长度限制的字符串
  6. 密码输入特殊字符或超过长度限制的字符串

......

案例2:

先用等价类和边界值划分好之后,再按照用户名和密码有效、用户名无效密码有效、用户名有效密码无效、用户名和密码都无效的方式来测试......

案例3:

  1. 从功能上要考虑登录成功、登录失败、验证码有效、验证码无效的情况
  2. 从性能上要考虑登录响应时间、高并发等情况
  3. 从安全上要考虑登录sql注入之类的情况
  4. 从兼容性上要考虑不同的浏览器下的表现

......

这几种回答,从我的面试经历来看,都是很常见的回答。也许大家从我的语气中能看出来,每种回答都是存在一些问题的,那么都有什么问题呢?

我听到第一个例子中的回答后,我常会反问求职者三个问题:

  1. 为什么要测试无效用户名的情况?
  2. “用户名输入特殊字符或超过长度限制的字符串”这个测试点,为什么要在登录功能上测试?
  3. 为什么不给出测试通过的标准?

第一个问题,有的人会说这是根据无效等价类的思想在测试啊,或者干脆就支支吾吾什么也说不上来。可问题是,这真的是无效等价类吗?只要稍微懂一点编程知识,我想都不会再认为这是在测试无效等价类。

那么一定不需要测试用户名无效的情况吗?也不尽然。举两个例子:

  1. 一个OA系统中,某个员工离职了,这里就需要测试离职员工账号是否还能登录系统
  2. 一个老古董系统,用户名可能存在sql注入的风险。

再来说第二个问题,验证“用户名输入特殊字符或超过长度限制的字符串”, 是否是注册时的测试点? 如果把它作为登录的测试点,是否会让面试官觉得求职者连最基本的测试技能都不扎实?甚至理解需求都存在障碍? 如果录用这样的求职者,以后安排的测试任务,是否会存在很大的风险?

当然,这个例子中也反映出,这类求职者在整体性思维方面存在欠缺。

第二个例子中,存在跟第一个例子相似的问题。如果让我来回答这个问题,我可能会取个巧。比如我会说用户名密码的验证上需要参考需求和代码实现,比如代码实现上是先验证用户名是否存在,若存在则继续验证密码....通过这样的小技巧,可以让我们的回答更接地气,突出我们更有实际的测试经验,更关注需求而非想当然的去做测试。

第三个例子中,可能代表这名求职者初步具备了整体性测试思维。为什么说可能呢?因为仅仅从这个回答,无法判断求职者是真的有整体性测试思维,或者仅仅是在某些地方看到锅这道面试题的回答思路。这就需要通过更多的细节来提问。我遇到的那些使用这个方式回答问题的求职者,普遍给我一种“背书”的感觉。这一点,也希望大家引以为戒。

这个问题最好的回答方式是什么呢?

其实对我来说,没有最好的回答方式,我始终对这道题持开放的态度。我希望从求职者的回答中看到不同的东西,当然也不希望因为我的文章,让大家在回答这个问题时产生“思维定势”,这就违背了我的初衷了,也不利于测试人员培养自己的测试思维。

如果确实对这个面试题好奇,可以参考我以前的一篇文章给出的测试思路。

面试题-“登录”功能有哪些测试点?

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试经验与教训 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档