2010年底以后,每次发布安卓新版本客户端,心里都非常谨慎,一直对客户端发出去之后的质量战战兢兢,如履薄冰。担心因为我们程序员同学考虑的不周全,测试同学的压力性能测试不完整,等其它方面给我们的广大用户造成使用上的不便,甚至有可能妨碍到基本功能的正常使用。所以,这2年来,我一直坚持在发布新版本的前一周内,亲自执行狂测,实践结果来看,拦掉了一些影响比较大的质量问题,今天分享一下狂测的具体内容,供大家参考。
狂测的内容,主要是要从一个程序员的角度,把关注点放在影响程序质量关键代码段上,检查有没有导致程序异常退出、应用卡死或响应慢,用户信息安全,及其它明显错误。细化下来以下这些内容,
1、从桌面图标快速打开并进入程序,然后退出程序。这个过程重复10次以上,看应用是否表现正常。
2、在应用中的某一功能里,快速操作,重复多次操作,看应用是否会卡死或响应慢。比如,列表数据的多次刷新操作。
3、地铁上,网络信号不好的情况下,你的应用有没有表现异常,异常退出,程序交互是否有问题,界面是否乱掉。反之,在网络信号非常好的情况下,是否表现异常。
4、在关键的业务逻辑代码段,从应用管理中强制杀掉进程,检查你的应用是否作了数据一致性处理。类似的,如果关键数据文件被意外删除,情况会怎么样?还有,系统资源不足导致进程被杀掉,之后用户主动正常重启进程,启动后是否正常。还有,系统资源不足导致进程被杀掉,START_STICKY服务被系统自动重启,启动后是否正常,会不会导致一些重复的操作。
5、你的应用如果涉及用户隐私,比如联系人、短信,你是否考虑充分,加入安全软件、安全要求严格的系统ROM(如MIUI)的兼容性考虑,人家会报你吗?
6、应用的敏感信息,是否能在root过的机器里,用Root_Explorer就能轻易获取。
7、应用运行过程中,对日志的输出,是否屏蔽过滤掉应用的敏感信息。
8、如果用到对系统类的反射,一定要考虑到不同的android os版本的差异性,如2.2,2.3,3.0,4.0,4.4(dalvik及art模式都要考虑)。以及不同的rom厂商,如MIUI,联想手机(arm及x86的k900),魅族,阿里云,酷派,华为,htc,三星,索尼,oppo,金立,LG,vivo,中兴,天语,等。要在这些不同的android os版本,以及rom上,亲自实测验证。