职业经验 # 每日一道面试题 # 如果 app 测试 7 天内免登陆,15 天内免登陆,1 个月内免登陆,测试要怎么去测?

恒温 for 求职面试圈 · March 22, 2018 · Last by yyy丶 replied at April 13, 2018 · 4331 hits

如果 app 测试7天内免登陆,15天内免登陆,1个月内免登陆,测试要怎么去测?涉及的方法论是啥?

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 22 条回复 时间 点赞

可以通过修改系统时间的方法来验证,比如:今天3月22日,首次登录后,杀掉应用,修改系统时间到3月23日,再打开应用,观察是否需要登录;测试时,可以采用边界值的方法,测试登录后的第二天,免登录时间到后的前一天,再加上免登录时间段中间的一天就可以了

个人认为应该通过了解该功能实现的原理,比如通过cookie失效时间或者接口返回的失效时间之类的,然后通过修改对应的数据来进行测试

看是根据本地时间还是服务器时间,本地时间好改,服务器时间就要在测试服上修改

觉得2楼说的不错,首先还是需要了解该功能的实现原理。不知道原理的情况下我会这样去测试。
1.让开发修改失效时间,既然测试免登陆,7天,15天,1个月在性质上一样的,那就让开发把失效参数设置为5分钟,既然5分钟都可以,基本上主要功能还是没有问题的。
2.如果登陆的实现方式是通过接口去后台请求,那么后台肯定有上一次登陆的数据,可以考虑修改数据库里的上次登陆时间。达到测试效果。

隔天隔周隔月不考虑下么?

登录时间记录的话我认为是记录在数据库内的,
长时间未登录可以修改测试账户上次登录时间,
根据测试时间点(一周、半月、一月)来进行提前修改。

7Floor has been deleted

我会大概考虑几个方面:

  1. 先用五分钟来确定功能是否可用,五分钟之后是否不能自动登录了。
  2. 时间的定义是 7*86400 ,还是7天后的23:59:59
  3. 使用360全家桶一类的清理工具是否会清理cookies,导致功能失效。
  4. 修改密码,仍可以?
  5. 单点登录的话,异地登录是否还能保持自动登录。
  6. 时间允许的话,过夜设置一天 试试。。

上班忙里偷闲,答一个 哈哈哈

恒温 #9 · March 23, 2018 作者
艾尔 回复

这个答复我比较喜欢

短期的登录时间可能是服务器缓存,长期的一定是服务器数据库,基本不太会有APP本地策略。
8楼回答的3-5条,基本覆盖了登录的流程了。
测试源于方案,差的方案你觉得有问题,也不会改。~

😨😨为啥我看到这种题,我不会考虑怎么测,我会直接查看开发代码的实现逻辑,然后本地debug,修改对应数据库的失效时间,一般而言都是时间戳,主要考虑代码这边有没考虑时区问题

—— 来自TesterHome官方 安卓客户端

恒温 #12 · March 24, 2018 作者
飞狐 回复

我也会这样做 😀 但是用例还是要设计的啊。。。

萌新的第一次回答

首先确定前提:
1、日期计算时,时间是按照服务器时间、数据库时间还是用户本机时间或者其他的计算的?
2、免登录是怎么实现的?是Cookie还是Session?
3、计算是按照时分秒计算还是按照整天计算的?
测试点:
以7天为例
1、选择7天内免登录,登录后退出再次登录,是否免登录
2、选择7天内免登录,登录后,第七天登录,是否免登录
2、选择7天内免登录,登录后,第八天登录,是否免登录
4、考虑跨周的测试
5、考虑到跨月份的测试(28天、29天、30天、31天)
6、考虑跨年的测试
7、免登录期间重新手动登录,确认免登录的有效期是否更新
8、关于缓存的测试(清除缓存、覆盖安装、卸载安装等等)
涉及的方法论:
1、等价类划分法
2、边界值法
3、错误推测法

疯的蜗牛 回复

修改密码和单点登录没有考虑到。。。

kawa 回复

测试中经常会出现这种情况:第一次测试,考虑不周全,第二次、第三次测试可能会加点,或者遗漏掉。这是缺什么呢?缺经验、缺方法、还是缺规范之类的?

kawa 回复

补充下,除了密码,用户名也可能会更改。还有版本更新的情况。

个人认为,有几点是肯定可以确定的,否则就是实现不太合理:

  1. 是否过期的逻辑判断应该在服务端,而不是客户端,不然就可以通过修改客户端系统时间达到永远免登的目的了。
  2. 具体服务端是怎么来算是否过期,要看实现,了解了实现,再做相应修改,可以达到修改免登时间的目的

然而现实是边界值,Token校验,Cookie校验测完就完事了。

建议先问开发后台的那边的逻辑,根据实际情况在进行测试.

也顺便问下前端的逻辑。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up