FPS 和丢帧率可以在一定程度上作为 APP 流畅度的一项衡量标准,本文介绍利用 adb shell dumpsys gfxinfo 命令获取软件渲染加载过程的数据,进行计算从而获取测试结果。 手机屏幕刷新率是固定的,FPS 则是一直变化的,怎么才能保证能够运行流畅呢?从几个例子来看吧。 表示把一帧数据发送到屏幕上排版显示实际花费的时间,其实是实际显示帧数据的后台缓存区与前台缓冲区交换后并将前台缓冲区的内容显示到屏幕上的时间 将上面的四个时间加起来就是绘制一帧所需要的时间,如果超过了16.67就表示掉帧了 Android 定义了流畅度的数据标准 这个定义在 Android6.0 以前是一定的,但是现在已经没有固定的标准了,因为目前安卓系统有3层缓存机制,加上硬件上的进步,即使超过16.67,也不一定会出现卡顿感。 所以这个数据在测试时作为一种对比和相对衡量标准,也可根据需求自定义标准。
本文为霍格沃兹测试学院学员学习笔记,进阶学习文末加群。 FPS 和丢帧率可以在一定程度上作为 APP 流畅度的一项衡量标准,本文介绍利用 adb shell dumpsys gfxinfo 命令获取软件渲染加载过程的数据,进行计算从而获取测试结果。 手机屏幕刷新率是固定的,FPS 则是一直变化的,怎么才能保证能够运行流畅呢?从几个例子来看吧。 其实是实际显示帧数据的后台缓存区与前台缓冲区交换后并将前台缓冲区的内容显示到屏幕上的时间 将上面的四个时间加起来就是绘制一帧所需要的时间,如果超过了16.67就表示掉帧了 说明 Android 定义了流畅度的数据标准 更多技术文章分享及测试资料
本文为霍格沃兹测试学院学员学习笔记,进阶学习文末加群。 FPS 和丢帧率可以在一定程度上作为 APP 流畅度的一项衡量标准,本文介绍利用 adb shell dumpsys gfxinfo 命令获取软件渲染加载过程的数据,进行计算从而获取测试结果。 手机屏幕刷新率是固定的,FPS 则是一直变化的,怎么才能保证能够运行流畅呢?从几个例子来看吧。 其实是实际显示帧数据的后台缓存区与前台缓冲区交换后并将前台缓冲区的内容显示到屏幕上的时间 将上面的四个时间加起来就是绘制一帧所需要的时间,如果超过了16.67就表示掉帧了 说明 Android 定义了流畅度的数据标准 所以这个数据在测试时作为一种对比和相对衡量标准,也可根据需求自定义标准。
01 前言 最近做的一次测试,没有涉及到高深的技术,不过里面用到的一个excel技巧还挺通用的,也希望读者能从这次测试用到的思路中收益~ 如果老板让读者测试APP在大数量下的流畅度,文章中的一些思路就可能用得到了 (3) 通过adb命令把pos本地库拉出来 拉到本地:adb pull /data/data/com.dianxiaohuo.cloudpos/databases (本地目录) (4) 把库加载到navicat 往期精选 Editors' Choice 测试任务计划与跟踪 项目总览表 测试实施方法论 作者介绍: 多年的软件测试领域工作经历,曾在大型外资、民营企业、互联网企业带领测试团队负责多个大型项目的系统测试 ,需求分析与管理,质量管理等工作; 对各种软件研发模式下测试流程体系的建设,测试思维与技术的应用,测试自动化框架建设,有自己独立的见解,原创可落地的方法论; 在测试团队建设、人才培养,团队管理方面有着丰富的经验 ; 热爱软件测试领域工作,常参加或服务于软件测试沙龙、国内测试公益项目,喜欢研究国内外测试领域的发展与变化;
作者:陈帅 团队:腾讯移动品质中心TMQ 一、背景介绍 UI流畅度测试,是笔者设计整个框架的最初的痛点,前述的耗电、内存等属于框架拓展功能。 但执行了多轮测试后,发现存在一些问题: 1、原方案测试流畅度依赖于ROOT手机,如果需要对某款手机做专门评测,存在局限; 2、由于是借助GT方案收集SM数据,UI驱动中需要先拉起被测应用,以确保GT 这样的流程将被重复多次,导致进行一轮性能测试的周期在1小时以上; 3、方案为页面驱动方案,特点是以用户点击为分界点,将流畅度数据拆分成不同页面的数据; 4、UI驱动方案主要是点击文本,在UI自动化中 [1509093562539_5981_1509093797434.png] 图九获取测试报告结果的算法 3、SM打分评估 首先需要介绍两个概念:流畅区间、卡顿区间。 用户使用一个APP,对于静态页面,一般流程是看一个页面,然后点击某处,等待响应,再接着看,以此循环。
二、流畅度指标定义 流畅度,简单说就是度量用户使用APP体验的一部分,它是用户快速、无阻碍使用APP的一项体验指标。主要包括三方面内容:稳、快、质。 三、流畅度监控方案 在流畅度监控体系中,对于不流畅感知因子,进行单项分析及挖掘,旨在在迭代优化的同时,维持或提升已有的用户体验。 并与AB实验系统打通,业务、技改类需求都可以在AB系统中配置流畅度观测指标,比对业务或技改需求对流畅度的指标影响,作为实验是否通过的考量指标。 四、流畅度治理实践 在APP流畅度治理上,主要从页面启动加载速度,长列表卡顿治理,页面加载闪动三个方面进行了诸多优化实践,这些优化并没有涉及高大上的底层引擎优化技术,也没有复杂的数学理论基础,更没有重复造轮子 回顾近半年中文酒店APP流畅度实践,整个过程艰辛,也时刻伴随着焦虑。流畅度每一点的进步都不是一蹴而就,轻易达成的。
二、流畅度指标定义 流畅度,简单说就是度量用户使用APP体验的一部分,它是用户快速、无阻碍使用APP的一项体验指标。主要包括三方面内容:稳、快、质。 三、流畅度监控方案 在流畅度监控体系中,对于不流畅感知因子,进行单项分析及挖掘,旨在在迭代优化的同时,维持或提升已有的用户体验。 并与AB实验系统打通,业务、技改类需求都可以在AB系统中配置流畅度观测指标,比对业务或技改需求对流畅度的指标影响,作为实验是否通过的考量指标。 四、流畅度治理实践 在APP流畅度治理上,主要从页面启动加载速度,长列表卡顿治理,页面加载闪动三个方面进行了诸多优化实践,这些优化并没有涉及高大上的底层引擎优化技术,也没有复杂的数学理论基础,更没有重复造轮子 回顾近半年中文酒店APP流畅度实践,整个过程艰辛,也时刻伴随着焦虑。流畅度每一点的进步都不是一蹴而就,轻易达成的。
3、点击后,Para界面会出现流畅度指标以及被插入程序的CPU占有率,并且会带上被插入的进程名。 流畅度主观评分 描述 4~5 界面滑动流畅并且能够快速响应用户输入(各种操作) 3~4 界面滑动顿挫感并且能够及时响应用户输入(各种操作) 2~3 界面滑动明显顿挫感响应用户输入(各种操作)有种慢半拍的感觉 如何有效利用SM值判断App流畅度? 确定了使用SM值来评估手机App的流畅度后,我们会开始进行一个产品在不同场景,以及多个产品间在相同场景下的测试对比。 将测试结果按卡顿和流畅分段,对每个卡顿区间段打分 之前参考了一篇游戏流畅度评分的文章,该文章结合FPS平均值和卡顿的程度以及频率,对游戏整体流畅度打分。但是普通App和游戏的区别比较大。 3、对比几个浏览器产品在同一个场景下的测试数据 测试场景:浏览网页 评测手机:Nexus 4 测试方法:打开凤凰网,来回上下滑动,在滑动的过程中记录流畅度数据 流畅度评估后数据: 从上面的数据可以看出
我发现即使都是用css3的transition做动画,有的属性在动画播放时却会不流畅,出现定格动画的效果,这里做个比较,方便我以后做动画。 则列表每一项按照上面的规则进行变化,否则无变化 a shorthand property: 如果缩写的所有部分都可以实现动画,则会像所有单个属性变化一样变化 具体什么css属性可以实现transition效果,在W3C 引用自http://www.w3cplus.com/content/css3-transition 流畅度比较 (下面的比较中,左边永远比右边流畅的,而且比较的双方是它们都能做同一个效果,否则没有对比的意义哦 ) 这个比较是我做好demo后用肉眼看出来的,而且在ios、pc、mac、android中看,流畅度会有不同,但暂时未发现下列列表中右侧比左侧流畅的情况。 transform:translate()流畅于padding、margin transform:scale()流畅于width、height(其实这两个没法比,因为transform:scale()是直接缩放
再好的服务器,再好的配置也无法改变用户设备配置不统一的问题,用户配置不统一会造成视频卡顿、直播延迟大、音画不同步、开屏流畅度低等问题,想要解决以上问题,可以在直播源码上下手,提高用户的使用流畅度。 直播3[1].JPEG 音视频如果按照原有的格式和大小在流媒体上传输,会占用很大的空间和很多的宽带,公司可能在宽带方面就要有一大笔的开销,再由于用户的手机机型不同,不对视频进行处理,就会导致画面无法正常播放 部分追求直播画面的直播,可以采用软解码,保证直播画质的清晰度。一般直播源码中包含硬解码和软解码两种。 直播APP源码 (2).JPG 除了解码方式会影响到视频开屏流畅度外,CDN节点的覆盖面积也会影响。 直播源码开屏流畅度除了在编解码方式上改变外,物理距离的影响也很大,因此在源码开发时不仅要选对编码方式还要考虑到节点服务器的覆盖问题。
,用来量化流畅度。 我们把这个转速叫做流畅度。 3、从FPS&丢帧到流畅度(SM: SMoothness) 实际上在很多Android的App中,很少有需要不断地去绘制的场景,很多时候页面都是静态的。 流畅度(SM: SMoothness):和丢帧相对,在VSync机制中1s内Loop运行的次数。 可以在Choreographer的回调FrameCallback中,按秒计数表示当前App的流畅程度,即流畅度SM(SMoothness)。 本文属于【MIG专项测试组】开篇文,后续还会继续跟大家分享关于流畅度的测试验证数学建模评分等方法,欢迎大家关注! 不总结哪来经验,不分享经验何用?
上一篇流畅度概念向大家详细地描述了VSync机制和Choreographer编舞者的用法。 可能所讲解的内容偏向理论概念,因此这篇是流畅度优化实操,整篇主要分三层,UI层、代码逻辑层、IO层来讲述各个优化点,其中还会穿插多个辅助检测插件。可谓干货满满,希望对大家有用。 可能存在一部分的测试甚至开发的同学不知道什么是过度绘制? 而在主线程中进行长时间和频繁的IO操作,对流畅度是有非常大的影响的,对于网络请求在安卓4.0之后,就已经不能在主线程进行网络操作了,否则程序会出现crash,因此我们对IO层的操作要进行监控。 流畅度优化经验总结 最后我来总结一下通篇对流畅度优化上的经验: UI布局优化 使用LinearLayout代替RelativeLayout,因为LinearLayout性能上稍微好一点 如果复杂的布局,
前言 1、准备 开发者账号 自从 Xcode7 出来之后,一般的真机测试不需要开发者账号,也就不需要看这篇教程,只有 app 具有 “推送” 等功能的时候,要真机测试就必须要开发者账号和设置证书 待测试的项目 2、真机测试步骤 1) 创建 App ID 2) 创建证书请求文件(CSR 文件) 3) 根据 CSR 创建开发者证书(CER)(开发、测试用的 Develope 证书) 4) 添加设备 第二个选项:通用 app id 可以在所有不需要明确 id 的 app 中使用,淘宝上卖的真机调试证书就是这个 2、创建证书请求文件(CSR 文件) CSR 文件主要用于绑定你的电脑的 ,点击 All,然后点击右上角 + 号 2、点击 Developement 中的 iOS App Developement 选项 3、点击 Continue 4、点击 Continue Developement,点击 Continue 3、在 App ID 这个选项栏里面找到你刚刚创建的:App IDs(Bundle ID) 类型的套装,点击 Continue 4、选择你刚创建的发布证书
WeTest远程调试2.0 — 云真机今天正式上线,WeTest云真机是腾讯内部最新的游戏测试技术,远程调试性能大大提升,为广大开发者解决了3大难题: 1、 测试机少,购买手机会花费大量的人力、物力。 2、远程体验差,老是出现黑屏、卡死、网络卡顿等问题 3、操作困难、没法完美重现问题。 毫秒级时延,游戏画面更流畅 稳定极速的远程操作体验、享受“零”延迟的快感。 史上最流畅的云端手游测试,就在WeTest平台(http://wetest.qq.com/),快来体验一下吧! ►欢迎小伙伴们与我们多交流沟通,我们会收集大家的意见,不断优化完善,提供更优质的服务!
由于一开始接触的就是 Python3,所以一些在 Python2 上的编码上的坑我没遇到,甚至在 Python3 上都很少遇到编码问题,因为 Python3 默认的编码是 utf-8,而之前又从 Windows
也希望这篇列表流畅度优化的文章能够给大家带来一点点启示。 和上一篇综述性质的文章不同,这一篇文章工程实用性更强一些,更多的是一些优化技术细节。 文中讨论了许多可能影响列表流畅度的因素,由于2018 WWDC里面讲述了大量的关于性能优化相关的内容,因此本文也在相关的内容里面加入2018 WWDC的性能优化部分。 但是希望大家在优化过程中,要结合自己的项目具体问题具体分析,因为本文讨论的影响流畅度的因素,可能并不是你的应用流畅性不佳的瓶颈,根据我的经验,大部分流畅的问题都是业务逻辑导致的,反倒什么离屏渲染啊之类大家耳熟能详的流畅度的影响因素在实际项目中并没有想象的那么大 卡顿产生的原因 在总体原则篇中提到,五大原则中的其中一个就是要理解优化任务的底层运行机制,因为只有深入了解底层机制才能更好的有针对性的提出更优的解决方案,所以在进行列表流畅度优化前,我们一定要弄清楚一个 特别是对于一些资讯类应用,这部分耗时相当大,对流畅度的影响也十分明显。对此可以自定义文本控件,用TextKit或最底层的CoreText对文本异步绘制。
一、概述 在APP测试的第三部分之前插播一个新闻《自学黑客薅羊毛,薅出玫瑰金手镯》,一个通过测试APP客户端,绕过验证注册二十万账号,从而获利六万余元最终喜获金手镯的“励志”故事: ? 可见学会APP测试是可以“发家致富”的,同时APP客户端安全也是整个APP安全测试中最为重要、测试项最多的: ? 二、测试项 1、权限管理: 应用安装时会请求系统权限,如通话、存储、媒体等,标准要求系统不应存在与系统无关多余权限,近来工信部集中整治的App违法违规收集使用个人信息的情况就和应用权限有很大关联。 3)sdcard数据 同1)在/sdcard中找到被测app的文件夹,检查文件夹下是否存储了用户数据 4)SQLite数据库 同1)找到/data/data/<package name>/databases 、APP升级安全等风险,可举一反三进行归纳总结,后续带来app测试的一些典例汇总。
各位觉得自己常用APP最低流畅网速是多少呢? 国庆期间回家几天,路上在高铁上也玩了不少手机,突然对弱网测试这个词感慨颇多。 试了好几个活动页,使用都非常不流畅甚至显示错误,但是流量一直在跑,不知道这些活动页面的素材有多大,之前看到一个说法,京东首页大概2M-3M大小。我感觉活动页每个都比首页大,不然也不会压根加载不出来。 微信 总体讲微信的流畅度是最高的,我主要也是用微信看看文章(没有视频),朋友圈、聊聊天(文字居多),整个过程除了朋友圈以及聊天中的图片不容易加载高清的以外,其他感知不大。 在地网速情况下,开屏广告依然流畅,大概是缓存的素材,毕竟APP广告好久才换一次。在部分基础功能使用上也比较流畅,主要是模块切换。但最重要的是,千万别打开H5页面,包括不限于活动页面。 后记 我特意针对这些APP(除了手机营业厅)做了个简单的测试,大概需要2Mb/s的速度才能满足这些APP比较流畅的使用,有兴趣的同学可以用工具自己测试一下常用APP的最低流畅网速是多少。
在视频拍摄阶段,用户最关注视频的清晰度和流畅度。这其中的优化包括几个环节: 1、预览帧率的提升摄像头采集到数据直到呈现到屏幕上,采用GPU驱动渲染,保证渲染的实时性,减少延迟和丢帧的情况。 同时,针对人脸特效的渲染,采集3buffer的CPU回调方案,减少buffer资源等待造成的帧率下降。 2、录制帧率的提升录制是把视频帧编码的过程。 3、针对低端机型 定义最优适配 移动终端机型复杂度极高,硬件能力、性能、屏幕分辨率等等指标千差万别,如果想要最大限度保证低端机上的视频质量,就要在提升清晰度和流畅度的时候,降低分辨率。
3) 应该做到什么颗粒度。 4) 怎么样才算完成了专项测试。 下面我们就来聊聊专项测试在项目不同阶段的不同策略及专项基线、规范。 2.系统分析:一般分成APP的系统分析及后台的系统分析。包括以下几点: 1) 系统或者模块架构。 2) 系统或者模块的交互时序图。 3) 每个模块的详细的业务描述。 4) 本次新增哪些功能。 3.测试分析:测试分析往往都在系统分析之后,测试分析和往常的checklist有点类似,但又不仅仅只是checklist,它基本包括了以下几点: 1) 本次测试的功能点范围。 3) 每个业务对应的测试点,类似于checklist。 4) 每个模块的测试负责人等相关信息。 这三个文档都要有评审会议,产品、测试和开发都需要参加。 专项测试既需要面的广度也需要深度。 注:引用书籍-《大话APP测试2.0-移动互联网产品测试实录》