用难题驱动力不断进步,用不断进步确保试验产品质量,用产品质量充分体现试验的商业价值!
这首诗谈谈后端、后端操控性试验常用分项。
有关系列产品混合型该文:
3. 操控性困局功能定位预测,和你平常预测有甚么相同?
4. 操控性试验、操控性预测、操控性Listary,你九十九?
5. 你将怎样积极开展操控性试验组织工作?接著说,你会怎样积极开展操控性试验组织工作(二)
01 操控性试验类型
操控性试验表述:检视控制系统在两个原先自然环境和情景中的操控性整体表现与否达至市场预期,进而综合评价控制系统与否存有操控性瑕疵,并依照试验结论去辨识操控性困局,明显改善控制系统操控性的完备的操作过程。
进行分类:
计算方法试验:N53SI241SV,发至多允诺,工业生产计算方法操控性统计数据
阻抗试验:普通用户,用户数量渐增,稳步与此同时发同两个销售业务允诺,工业生产最小TPS
阻力试验:普通用户,资源使用饱和,稳步与此同时发同两个销售业务允诺,工业生产控制系统困局或使用极限
混合情景试验:普通用户,资源使用不饱和,稳步与此同时发相同销售业务允诺,验证控制系统稳定性
接下来,我们来看看后端、后端操控性试验分项,其
响应时间、加载速度、电量、流量、Crash和ANR、FPS
2.1 响应时间
用户从客户端发出允诺,并得到响应,以及展示出来的整个操作过程的时间。
2.2 加载速度通俗的理解为页面内容显示完备的快慢。
拿搜索功能为例,起点:从用户输入搜索内容按下回车键;止点:到看到搜索出来的完备内容,从起点到止点这个时间就是加载速度。
亚马逊 曾经有过统计预估:如果网页加载时间每延长1s钟,那么一年将减少16亿美元的营收。
针对该操控性分项,通常有以下形式可以明显改善加载速度带来的用户体验:
【1】减少HTTP重复请求,去除不必要的重复允诺(HTTP允诺只有10%~20%的最终用户响应时间花在了下载HTML文档上,其余的80%~90%时间花在了下载页面中的所有组件上)
【2】使用CDN,CDN(内容发布网络)是一组分布在多个相同地理位置的Web服务器,可以选择网络阶跃数最小的服务器,或者具有最短响应时间的服务器,用于更加有效地向用户发布内容(HTTP允诺和响应的时间会受到离 web 服务器距离的影响。如果用户离应用程序的web服务器离用户更近,那么多个HTTP允诺的响应时间将缩短)
【3】减少下载的资源,比如通过压缩图片的形式,减少图片的大小来缩短下载的时间。另外还可以通过对比客户端与服务端差异的形式,快速展示本地的缓存资源,减少同样内容的重复下载
。
2.3 电量
App消耗的电量,Android的很多特性都比较耗电,比如:GPS、屏幕、联网、唤醒机制、CPU等的使用。
2.4 流量
当前网络类型有2G\3G\4G\WiFi,与此同时还有相同运营商的区分。APP 使用操作过程中,常用的网络流量严重消耗的原因主要有:调用响应慢,调用失败等各种情况
。
除此外,一般有哪些原因导致流量被大量消耗呢?就是资源太多、图片太大、重复允诺、日志上传、埋点统计数据
通常从哪些分项去衡量流量消耗的状态与否正常呢?
【1】应用首次启动流量提示;
【2】应用处于后台,连续运行2小时的静默流量;
【3】应用处于前台,高负荷运行时的流量峰值。
2.5 Crash和ANR
一般由设备碎片化、网络波动大、内存泄漏、代码编写错误等引起的Crash和ANR。
Crash的原因一般有:空指针、内存泄漏、数组越界、调用了高版本的API。内存试验用例设计、内存占用、内存泄露试验判定及注意事项
Android应用程序,如果主线程(即UI线程)在超时间内对用户输入时间没有处理完毕,就会出现Application Not Responding弹出框,用户需要选择等待或者强制关闭来杀死进程。
例如:反复点击删除按钮,内存稳步增加,3分钟增加100M,停止点击后内存未回落到初始值附近
预测结论是因为每次点击删除,其删除弹窗都会重建,也就会导致之内存泄露难题,修复后:
2.6 FPS动画帧率
就是动画帧率。帧就是指组成动画或视频的一张张静止的图“画面”,1幅画就叫做“1帧”,帧数就是在1秒钟时间里传输的图片的量,也可以理解为图形处理器每秒钟能够刷新几次,通常用FPS(Frames Per Second)表示。
那么甚么是合理的FPS呢?帧率达至60FPS以上,人眼主观就感受不到差别了。所以一般以60FPS作为衡量标准,即要求每一帧刷新的时间小于16ms,这样才能确保滑动中平滑的流畅度。
从上图就可以看出哪段时间比较流畅,哪段时间比较卡顿
甚么是内存泄漏、Http错误率、吞吐率。响应时间分别在web端和移动端是啥?哪些情景可以证明响应超时?
资源使用率:CPU占用率、内存使用率、磁盘I/O、网络I/O
3.1 响应时间
3.2 CPU
操控性试验之怎样分析CPU异常曲线
CPU可能出现的难题有稳步CPU占用较高、设备发热、使用非常卡顿、程序卡死。
甚么情况下会消耗CPU 呢?
就是大量的运算,比如某个Activity或者形式有一直不停的运算消耗CPU(比如:不停止的while 或者for 循环)
一般从哪些分项监控CPU情况呢?
【1】设备的应用在空闲时间,CPU的占用情况
【2】应用使用时,CPU的占用走势
【3】稳步变化,CPU的占用峰值
3.3 内存占用
内存试验用例设计、内存占用、内存泄露试验判定及注意事项
Android控制系统移动设备的内存资源有限,因此为每个APP进程分配的私有内存也是有限制的。APP 的内存常用难题有内存占用过高、内存泄露,以及内存溢出。
内存泄漏:程序在向控制系统申请内存分配后,使用后未释放。
内存溢出:程序向控制系统申请的内存空间超出了控制系统本身的内存,会出现崩溃,也就是客户端carsh。