为什么要做弱网测试?
弱网测试,属于健壮性测试的内容,为什么要做呢?尤其是现在的人们更习惯在地铁里,公交上,甚至是电梯,车库等等的场景里去关注一些新闻,看看小说,直播,玩游戏等等。在这个时候,我们就需要针对这些场景,去关注一下应用的运行状态,以及弱网环境下,出现丢包、延时软件的处理机制,避免造成用户的流失。
最近做了一次移动APP的弱网和中断测试,接下来分享一下遇到的一些问题:
1、 现象:用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致。
原因:数据下载过程中、下载失败后,未进行数据回滚,中止后重新下载,出现数据重复
解决方案:通过事务处理数据下载逻辑,下载失败后,应用本地数据库进行数据回滚。
2、 现象:用户点击数据上传,数据上传过程中网络弱且不稳定,基于联网状态自动触发数据上传,导致出现数据重复写入,形成脏数据
原因:数据上传过程中,由于失败重传机制,会出现连续两次写操作,并且未做唯一识别处理
解决方案:根据数据特性,对可能造成脏数据的地方,通过关键字段,例如创建时间,key-value值等生成hash键,标记记录唯一性,即数据写入时,检查hash键是否存在,如果已经存在,当前重复数据丢弃。
3、 现象:在弱网环境下,用户输入用户名和密码点击