首先看看下面这个图
我想这幅图应该能够很明确的展示APP测试的流程了。然后需要说明的是执行测试那一段。因为用的xmind,字数太多图看起来就太小了,所以在这里说一下每个阶段对应的东西。
UI测试
检查UI图片,icon,文字,布局等UI元素与效果图是否一致。一般UI方面不会存在特别严重的问题,作为建议提给产品就好了。
功能测试
检验功能是否符合需求,涉及到UI层,接口,数据,服务端,代码逻辑等。功能方面的缺陷一般被定义为严重缺陷,必须修复。如果在时间欠缺的情况下,可通过会议与产品,开发,运营,项目负责人多方商议后,确定在不影响本版本的情况下延期处理。
健壮性测试
检验产品在出现异常时的处理机制。同时需要检验出现这些异常场景,或者是比较极限的情况的时候会否出现crash、anr的情况。一般只要有处理就不会出现问题。需要注意一些极限和异常场景,还有中断和弱网的测试。
适配
检验产品的兼容性,不同的硬件设备,分辨率,操作系统,屏幕尺寸,手机型号等。安卓这一块儿是不太好做的,国内的定制系统太多了,一般方法都是针对主流机型进行测试。
稳定性测试
这里通常使用的是monkey进行测试。之前我也是对monkey不屑一顾,后来经过前辈指点也是发现了它的强大之处。目前也属于正在学习的阶段。主要手段还是通过伪随机事件流,进行大量的点击,滑动等操作,主要是用来检测产品中隐藏的crash、anr的缺陷。
性能测试
客户端性能:主要监测,客户端运行时设备的CPU,GPU,流量,耗电量,响应时间等数据。进行数据分析,针对客户端对产品进行优化,从而提升产品的竞争力。这里是可以检查出内存泄漏的哦。在深入的发掘可以分析客户端的性能瓶颈,甚至定位出影响客户端性能的代码。这一块儿作为APP的专项测试,实际上可以做的东西有很多,也值得大家去发掘去做。只是国内大部分中小型的公司还没有重视起来,都还属于走过场的形式,笔者也没有特别深入的去做,也就不讲了。
服务端性能:主要监测,I/O,吞吐量,并发,压力,负载等数据。针对测试结果进行分析,寻找性能瓶颈,完成对性能的优化。主要目的是检查服务端的稳定性,能否达到预期目标,完成预期任务。这一块儿笔者还没有接触就不深谈了哈。
回归测试
回归测试,主要是针对开发修复的缺陷进行测试。评估改动的影响范围,有目标有针对性的进行测试。其实还需要对老版本的功能、数据等进行回归。不得不说黑盒就是麻烦,每一次改动,无论巨细,无论影响范围都必须要做这个。
上线测试
在发布上线之后,要在生产环境上进行最后一轮的系统测试。笔者一般是把前面所有做过的东西全部在做一次。