如果 app 测试 7 天内免登陆,15 天内免登陆,1 个月内免登陆,测试要怎么去测?涉及的方法论是啥?
可以通过修改系统时间的方法来验证,比如:今天 3 月 22 日,首次登录后,杀掉应用,修改系统时间到 3 月 23 日,再打开应用,观察是否需要登录;测试时,可以采用边界值的方法,测试登录后的第二天,免登录时间到后的前一天,再加上免登录时间段中间的一天就可以了
个人认为应该通过了解该功能实现的原理,比如通过 cookie 失效时间或者接口返回的失效时间之类的,然后通过修改对应的数据来进行测试
看是根据本地时间还是服务器时间,本地时间好改,服务器时间就要在测试服上修改
觉得 2 楼说的不错,首先还是需要了解该功能的实现原理。不知道原理的情况下我会这样去测试。
1.让开发修改失效时间,既然测试免登陆,7 天,15 天,1 个月在性质上一样的,那就让开发把失效参数设置为 5 分钟,既然 5 分钟都可以,基本上主要功能还是没有问题的。
2.如果登陆的实现方式是通过接口去后台请求,那么后台肯定有上一次登陆的数据,可以考虑修改数据库里的上次登陆时间。达到测试效果。
隔天隔周隔月不考虑下么?
登录时间记录的话我认为是记录在数据库内的,
长时间未登录可以修改测试账户上次登录时间,
根据测试时间点(一周、半月、一月)来进行提前修改。
我会大概考虑几个方面:
上班忙里偷闲,答一个 哈哈哈
短期的登录时间可能是服务器缓存,长期的一定是服务器数据库,基本不太会有 APP 本地策略。
8 楼回答的 3-5 条,基本覆盖了登录的流程了。
测试源于方案,差的方案你觉得有问题,也不会改。~
😨😨为啥我看到这种题,我不会考虑怎么测,我会直接查看开发代码的实现逻辑,然后本地 debug,修改对应数据库的失效时间,一般而言都是时间戳,主要考虑代码这边有没考虑时区问题
—— 来自 TesterHome 官方 安卓客户端
萌新的第一次回答
mock
首先确定前提:
1、日期计算时,时间是按照服务器时间、数据库时间还是用户本机时间或者其他的计算的?
2、免登录是怎么实现的?是 Cookie 还是 Session?
3、计算是按照时分秒计算还是按照整天计算的?
测试点:
以 7 天为例
1、选择 7 天内免登录,登录后退出再次登录,是否免登录
2、选择 7 天内免登录,登录后,第七天登录,是否免登录
2、选择 7 天内免登录,登录后,第八天登录,是否免登录
4、考虑跨周的测试
5、考虑到跨月份的测试(28 天、29 天、30 天、31 天)
6、考虑跨年的测试
7、免登录期间重新手动登录,确认免登录的有效期是否更新
8、关于缓存的测试(清除缓存、覆盖安装、卸载安装等等)
涉及的方法论:
1、等价类划分法
2、边界值法
3、错误推测法
测试中经常会出现这种情况:第一次测试,考虑不周全,第二次、第三次测试可能会加点,或者遗漏掉。这是缺什么呢?缺经验、缺方法、还是缺规范之类的?
个人认为,有几点是肯定可以确定的,否则就是实现不太合理:
然而现实是边界值,Token 校验,Cookie 校验测完就完事了。
建议先问开发后台的那边的逻辑,根据实际情况在进行测试.
也顺便问下前端的逻辑。
想问下,如果在免登录过程中,没网了点击 APP,要怎么处理那?是直接提出网络异常吗?那有网了后,还需要重新登录吗?
好的谢谢,我也看了主流 APP,都是断网后再开网络的条件下,不需要重新登录。