UI测试
检查UI图片,icon(小图标),文字,布局等UI元素与效果图是否一致。一般UI方面不会存在特别严重的问题,作为建议提交给产品即可。
功能测试
检查功能是否符合需求,涉及到UI层,接口,数据,服务端,代码逻辑等。功能方面的缺陷一般被定义为严重缺陷,必须修复,如果在时间欠缺的情况下,可通过会议与产品,开发,运营,项目负责人多方商议后,确定在不影响本版本的情况下延期处理。
健壮性测试
检验产品在出现异常时的处理机制。同时需要检验出现这些异常场景,或者是比较极限的情况的时候是否出现crash(宕机或主机、程序停止运行)、anr(在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框。因此,在程序里对响应性能的设计很重要,这样系统不会显示ANR给用户。默认情况下,在android中Activity的最长执行时间是5秒,BroadcastReceiver的最长执行时间则是10秒。)的情况。一般只要有处理就不会出现问题。需要注意一些极限和异常场景,还有中断或弱网的测试。
适配
检验产品的兼容性,不同的硬件设备,分辨率,操作系统,屏幕尺寸,手机型号等。安卓这一块是不太好做的,国内的定制系统太多了,一般方法都是针对主流机型进行测试。
稳定性测试
这里通常使用的是monkey进行测试。主要手段通过伪随机事件流,进行大量的点击,滑动等操作,主要是用来检测产品中隐藏的 crash、anr 的缺陷。
性能测试
客户端性能:主要监测,客户端运行时设备的CPU、GPU、流量、耗电量、响应时间等数据。进行数据分析,针对客户端对产品进行优化,从而提升产品的竞争力。这里是可以检查出内存泄漏的。在深入的发掘可以分析客户端的性能瓶颈。甚至定位出影响客户端性能的代码。这一块作为APP的专项测试,实际上可以做的东西很多,后续可深入
服务端性能:主要检测,I/O、吞吐量、并发、压力、负载等数据。针对测试结果进行分析,寻找性能瓶颈,完成对性能的优化。主要目的是检查服务器的稳定性,能否达到预期目标,完成预期任务。
回归测试
回归测试,主要针对开发修复的缺陷进行测试。评估改动的影响范围,有目标有针对性的进行测试。其实还需要老版本的功能、数据等进行回归。不得不说黑盒就是麻烦,每一次改动无论巨细,无论影响范围都必须要做这个。
上线测试
在发布上线之后,要在生产环境上进行最后一轮的系统测试。一般是把前面做过的东西再重新测一遍。