《Web测试囧事》——3.4 账号关联过的手机号会一直收到短信验证码

3.4 账号关联过的手机号会一直收到短信验证码

就像现在很多注重用户安全的公司一样,小蔡的公司也决定对用户的账户增加一个强制的功能,就是需要用户绑定手机,这样能让用户第一时间得到异常登录的信息,还可以通过手机安全登录码进行二次验证,然后才能登录网站,如图3-8所示。

添加了绑定手机的功能,就意味着还需要添加修改绑定手机的功能,因为不能限制用户只使用同一个手机号。

在测试添加和修改绑定手机号的过程中,小蔡发现了一个有意思的问题:当用户第一次使用手机号绑定时,系统不会出错;如果这个手机号之前被绑定过,虽然已经取消了绑定,但是被重新绑定到别的账户时,系统会提示这个手机号已经存在,不能继续绑定。

小蔡明确记得在测试取消绑定时,系统返回解绑成功,在前台也看不到绑定的手机号了,所以问题就被缩小到后台解绑的处理过程中。

这一次小蔡并没有直接去找负责开发这一模块的人员寻求帮助,而是想锻炼自己定位和解决问题的能力,于是她使用SQL语句查询后台数据库里有关被解绑的手机号。经过一系列的查询,她发现解绑的手机号在保存用户信息的表里都被删除了,但是为用户发送登录码和异常登录信息的表里还存在有解绑手机号的记录。

当进行到这一步,小蔡大胆地推测,在解绑手机的时候,系统只是单纯地删除了用户信息表里的数据,就在前台提示用户处理成功,但是对于其他关联的数据,并没有处理。而在绑定手机的时候,系统逻辑会判断是否有重复的数据,这就造成了解绑的手机号不能重新被绑定。

当小蔡把这一发现汇报给老牛的时候,老牛敏锐地指出,其实这个问题还隐含了一个更大的风险:解绑的手机号依然可以收到系统发送的验证码,如果其他人别有用心,就可以利用这个漏洞,使用户蒙受损失。

好险,幸亏小蔡及时发现了这个问题。通过这个缺陷,小蔡意识到:对于增删改的操作,不仅需要验证前台返回的结果,同时需要在后台进行验证,确保前后台信息的一致性和完备性。而做到这一点,基本的SQL查询语句是测试人员需要熟悉的。



时间: 2024-08-17 07:17:05

《Web测试囧事》——3.4 账号关联过的手机号会一直收到短信验证码的相关文章

《Web测试囧事》——导读

前 言 为什么要写这本书 1)人不能像走兽那样活着,应该追求知识和美德.--但丁 2)助人为乐,人生一美德. 我们4个作者加起来年龄过百,而且有着年超半百的工作经验,算起来也是测试领域的老鸟了. 根据上面的1)和2),我们得出一个很重要的结论: 经过这么多年在工作中不断总结经验,时不时与Bug斗智斗勇,最后提炼出来的经验,我们希望能分享给更多的人,更重要的是能抛砖引玉,引发对更优秀的工作方式和实践的思考. 为什么需要看这本书 怎样判断你是否需要这本书?以下场景,如果8条以内你都似曾相识,那么请看

《Web测试囧事》——1.11 IE 9不支持占位符导致搜索行为异常

1.11 IE 9不支持占位符导致搜索行为异常 对于浏览器兼容性测试,一直都是Web测试中重要的一环,小蔡在测试产品中自然也不能漏掉. 由于小蔡测试的产品是面向普通用户的,所以小蔡选择进行测试的浏览器,也是开发团队选择优先支持的浏览器,是基于市场占有率最高的几款浏览器:Chrome.Firefox.Safari和IE.这些浏览器的版本也很多,如果全部支持也是不可能的,所以开发团队选择支持最新版本的Chrome.Firefox和Safari,以及IE 9-IE 11,还有IE EDGE. Chro

《Web测试囧事》——1.9 代理服务器过度缓存文件导致读取错误的账号信息

1.9 代理服务器过度缓存文件导致读取错误的账号信息 缓存不仅仅是Web产品为了缓解用户访问带给服务器的压力而设置的,而且用户(例如企业)为了减少多用户访问同一个网站占用过多带宽,也可以设置自己内部的缓存服务器. 发生几次之后,小蔡觉得很好奇,就询问了其他的测试人员,发现大家都有同样的问题,在和老牛一起分析后,他们觉得有可能是公司内部缓存服务器机制导致了这个问题,但是至于为什么早上这个问题不容易发生,还是不太了解. 带着这个问题还有他们的怀疑,小蔡和老牛找到了公司信息维护的相关人员.经确认,确实

《Web测试囧事》——1.3 测试Web Service能否正常提供JSON数据

1.3 测试Web Service能否正常提供JSON数据 某一天,小蔡所在的项目组刚开发完成一个Web Service,服务的功能是,通过在客户端调用时指定的一个ID,可以从后台数据库中读取对应的房产信息,还有与这个房产关联的一到多个房东信息.一到多个图片信息,以及地址信息等.Web Service最终把这些信息组合成JSON格式的数据返回给调用方,调用方可以通过界面来展示相关信息,也可以通过其他方式去使用这些信息.但是,调用方具体如何使用这些信息与Web Service服务本身的测试关系不大

《Web测试囧事》——第1章 功能测试:技术篇 1.1 输入框中输入超过最大允许值造成页面跳转溢出

第1章 功能测试:技术篇 提到测试,大家首先会想到的就是功能性的测试,因为只有保证了产品的基本功能和流程,产品才具备给用户提供使用价值的能力,从而才有可能确定产品的核心竞争力.基于这一点,不仅测试人员和开发人员,还有产品经理.项目经理.业务方对功能完备性和正确性的重视程度也往往都是最高的.这也使得功能测试成为任何测试类型的基础. 在进行功能测试时,我们会使用诸如边界值分析.等价类划分.因果分析.组合测试(Pairwise Testing)等测试方法来设计和规划测试用例,但是这些方法大多都是从书本

《Web测试囧事》——1.8 使用没有添加时间戳的缓存使用户看到过期数据

1.8 使用没有添加时间戳的缓存使用户看到过期数据 当代主流的网站都使用了缓存技术,目的在于减少用户请求对服务器的压力.当用户首次通过浏览器请求服务器的资源时,服务器会返回所有的资源:当用户再次请求服务器资源时,浏览器会判断资源是否已更新,如果更新了,再向服务器发起请求,如果没有更新,就使用浏览器中缓存的资源. 这里有一个问题,浏览器是如何判断资源是否更新了?一般来说,资源文件在文件名中要么添加时间戳(见图1-16),要么添加标识符(标识符可以是任何一组区别资源不同版本的数值,如v1.v2,或者

《Web测试囧事》——2.5 异常场景处理不全面导致功能缺陷

2.5 异常场景处理不全面导致功能缺陷 很多测试人员在面试时会被问到如何针对特定产品测试,需要考虑哪些方面时,思路都会从两方面发散:正常场景.非正常/异常场景开始回答.从思维模式来说,测试人员就不同于开发人员比较习惯的正向思维,而是更多地从异常场景.用户场景等出发,全面地考虑使用产品时会出现的各种可能性,并通过给这些场景分配优先级来指导测试的执行. 但是测试人员并不是无所不能的,有很多异常场景光了解功能性需求是不够的,还需要了解一些架构与部署等非功能性需求.所以在设计测试场景,尤其是异常的测试场

《Web测试囧事》——第3章 功能测试:测试实践篇 3.1 修改充值金额范围遗漏的产品Bug

第3章 功能测试:测试实践篇 前两章我们介绍了在功能测试中使用特定的开发和测试技术手段如何避免问题,那除此之外还有没有什么别的方式可以同样起到预防作用呢? 答案是肯定的,例如本章我们介绍的通过引入某些测试实践来避免和预防Bug.现在让我们一起来看看这些故事吧. 3.1 修改充值金额范围遗漏的产品Bug 产品中有一个允许用户自助为自己账户充值的功能(见图3-1).充值金额的范围被设定在5-50元之间,低于或者高于这个金额都会被系统自动变成最接近的允许值:如输入3,因为小于最小值5,则系统自动更新为

《Web测试囧事》——3.5 提高测试效率的一个捷径

3.5 提高测试效率的一个捷径 又快又好地完成测试,是每一个测试人员的愿望.我们都希望建立这样一种工作流程:高效.高速.高质量.在时间压力下,测试工作有没有捷径可循呢?小蔡最近就发现了一个测试捷径,同类软件对比.我们来看看她是如何做到的. 1. 测试案例 小蔡最近在测试电子相册功能点.在测试过程中,小蔡居然发现,有捷径!我们现在很多人,包括正在阅读本文的你,都已经使用过不少相册功能.小蔡拿到故事卡后,心情那叫一个轻松,通过以往使用电子相册的经验,她明白用户的基本需求,大致想法就在她脑中快速生成了