测试角度:如何看待三星大量手机系统崩溃并数据丢失事件?
5.23日早上凌晨的时候,大量网友反馈:三星手机出现震动并屏幕闪烁现象,无限重启,然后造成手机系统崩溃、死机并乱码,大量数据被丢失!
在事故发生的当天中午,三星公司已发表声明,承认该问题事件的发生,并表示将积极排查原因,提供相关的解决方案。
三星手机出现事故的原因究竟是什么呢?
此事的发生,是继上次”三星电池爆炸“事件之后的又一次重大事故,三星手机又被推上热搜。
至于这个事故对三星的影响,以及如何恢复等,大家可以通过百度搜索了解到很多相关信息。
作为一名资深测试,我们当然要站在一个测试的角度来分析一下,这个事故出现的具体原因到底是什么,分析定位一下这个大bug。
01
确定一下bug出现的范围:
部分网友说“全球三星手机都受到影响”,其实并不为实。
据了解,在外网没有任何人谈到三星手机出现系统崩溃的情况,说明这种情况只出现在国内部分手机,并不是“全球”范围;
也不是所有人的手机都出现了问题,大部分是“国行”或者“国行系统”的手机。
02
分析一下是“前端问题”还是“后端问题”
有网友传言,这个事故是“三星服务器”受到了攻击。
我们来分析一下,从出现问题的手机界面来看,都是进入的"Recovery界面"
上面写着“系统未能正常启动,因为配置文件可能损坏了“,所以,明显不是服务器受到了攻击,而是手机系统自身出现了错误。
03
做一些操作尝试,排查出现的原因:
因为几乎出现问题的手机,时间都集中在5.23号凌晨,为什么恰好是这个时间,有什么特别的么?
我们分析一下,不难发现5.23正好是农历的闰四月初一;
而且,很多网友自己尝试过,并且验证发现:只要将时间调整为5.23 ~ 6.20之外,并且关闭时间同步,就可以修复这个问题。
所以,据此尝试可以分析得出:应该是今年的闰四月这个特殊时间,造成三星手机时间识别有误,从而导致的这个问题。
那么,测试找到大概的问题所在,接下来就是开发小哥哥的事了!
测试角度看事件,总结测试经验
这个事件的发生,估计让“三星”手机的市场进阶到更严峻的形势。
事故发生的原因肯定是多方位的,但是从测试角度来审视这个事故,我们可以也可以总结一些测试的经验和教训,来帮助以后的测试工作的进行。
一
做好兼容性测试
测试覆盖面应该覆盖各种类型的系统(本次事故就多为国行系统手机),兼容性测试一定到位。虽然不要求覆盖所有的系统和机型(穷举法实现不现实),但是要尽量覆盖主流和易出问题的系统;
二
特殊值的测试
做过测试的都知道,测试点的提取可以采用边界值来覆盖更有效的测试数据,除了一些等价类的边界值之外,还应该考虑一些特殊值。
像本次事件的“闰四月”就是一个特殊值,是中国用户特有、别的国家所没有的一个时间数据。
所以,我们应该结合特定用户场景,分析具体的业务,从而达到更高的覆盖率,避免出现此类严重的用户bug。
三
贴近用户场景测试
测试其实不同于开发,开发更多的是在代码的角度去实现功能,而测试是在用户角度使用功能。
所以,用户的使用场景,一直都应该是测试点提取和覆盖的首要出发点。
一般来说,一个产品的测试应该是最了解这个产品的人:他比产品懂实现,他比开发懂业务!
所以,测试的角色除了要有必备的测试技能,同时也应该熟悉用户需求,贴近用户角度去执行测试,才能测出最让用户最满意的产品。