本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。
本篇文章给大家谈谈app性能测试,以及app性能测试工具有哪些对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
今天给各位分享app性能测试的知识,其中也会对app性能测试工具有哪些进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
APP性能测试的标准
通用标准: 百度app安装数达到10万以上
1.安装时长: 安装时长大于6秒,且同款手机智慧社区APP安装时长大于百度app 30%以上
2.启动时长: 启动时长大于2秒,且同款手机智慧社区APP启动时长大于百度app 30%以上
3.CPU占用: CPU均值占用大于50%,且同款手机智慧社区APP CPU占用大于百度app 30%以上
4.内存占用: 内存占用大于140M,且同款手机智慧社区APP内存占用大于百度app 30%以上
6.FPS: FPS小于50,且同款手机百度app高于50FPS
APP测试需要关注哪些点
功能测试:这个不用过多解释,就是点点点,保证页面的功能实现,没有业务逻辑方面问题。
UI测试:主要关注页面颜色是否舒服,布局是否合理,有无错别字等等。
兼容性测试:就是测试你的app程序在不同手机品牌上面是否能正常运行,页面布局如何,是否乱序。需要覆盖到目前市场上面主流的手机类型,最好使用真机测试,不推荐模拟器。还需要考虑不同操作系统版本对于程序的影响。
场景测试:使用App时要考虑到各种不同的使用场景,比如正在使用app,来电话或者短信了程序如何应对?正在听音乐,app也有个播放功能和喇叭发生资源抢夺怎么办?以及不同应用程序之间的切换和前后台切换等等。
性能测试:考虑内存,耗电量,安装包大小,流量耗用多少以及响应事件的快慢等等......
弱网测试:不同类型2g,3g,4g,5g的移动流量或者是wifi模式下程序的运行情况。网络速度极差或者断网的情况下,程序运行状况等等。
安装/卸载/更新:需要考虑卸载时是否要保留用户数据?更新的话是提示更新还是强制更新?更新过程中手机没电关机或者用户关闭退出等等。
权限测试:主要是用户关闭了某项权限时,程序是否还能正常使用;是否可以访问通讯录,相册,录音等;以及检测App的用户授权级别,数据泄露,非法授权访问等。
稳定性测试:避免程序出现卡顿,闪退,崩溃等现象,这个可以使用工具比如monkey自动频繁快速操作各个功能检测程序稳定性。
安全测试:应用是否保存敏感数据到本地,应用与服务器之间的数据传输是否加密。如果金融类的涉及钱的应用,重点测试,支付接口是否能被外部调用伪造等。
大概列了一下App测试需要注意的常见的测试点,仅供参考。最后说一下,app测试工具有哪些:
adb: 安卓手机的官方检测工具,用来操作安卓系统。
monkey:可以无规律的模拟用户操作,检测程序运行的稳定性。
monkey runner:可以自己写脚本模拟用户进行操作,更加的灵活。
Appium: app自动化框架,适用于python/java语言。
如何做好App的测试工作
测试一个App具体包括哪些方面?以及每个方面
app性能测试的关键点都有哪些呢?
# 非功能测试
app测试的一个重要方面是app的非功能需求。移动app在推出市场或进行进一步开发前,测试人员有一定的职责做该类需求的跟踪工作。
早期开发阶段要进行的第一个测试应该是实用性测试。通常是由alpha用户或同事进行的。走进一家咖啡馆或餐厅,问问里面的人
app性能测试他们的app使用情况。让他们看看现阶段开发的第一个版本并收集反馈,看看用户是否能很好地使用新功能,以便得出第一印象。
# 功能测试
每项开发的新功能都需要进行测试。app测试中功能测试是一个重要方面。测试人员应该要进行手动测试和后期的自动化测试维护。刚开始测试时,测试员必须把app当作"黑盒"一样进行手动测试,看看提供的功能是否正确并如设计的一样正常运作。除了经典软件测试,像点击按钮、提交订单看看会发生什么,测试员还必须执行更多功能的app测试。
除了整个手动测试过程,测试自动化对移动app也很重要。每个代码变化或新功能都可能影响现存功能及它们的状态。通常手动回归测试时间不够,所以测试员不得不找一个工具去进行自动化回归测试。现在市面上有很多自动化测试工具,有商业的也有开源的,面向各个不同平台。根据开发策略和结构,品质管理测试专家需找出最适合他们环境的自动化工具。
# 客户端性能测试
一个App做得好不好,不仅仅只反应在功能上。被测的app在中低端机上的性能表现也很重要。比如:一个很好玩的 游戏 或应用,只能在高端机上流畅运行,在中低端机上卡得不行,也不会取得好的口碑。
# 适配兼容测试
App在经过功能测试后,也需对其进行适配兼容测试需要检查的项主要有以下几点:
(a) 在不同品牌的机型上的安装、拉起、点击和卸载是否正常;
(b) 在不同的操作系统上的安装、拉起、点击和卸载是否正常;
app性能测试我们在实际测试中,常常会遇到下列问题:
(a) 在某个品牌某个系统上,app安装不上;
(b) 在某个品牌某个系统上,app无法拉起;
(c) 在某个品牌某个系统上,app拉起后无响应或拉起后黑屏、花屏;
(d) 在某个品牌某个系统上,app无法顺利卸载;
# 弱网络测试
App在使用的过程中,难免会遇到弱网络环境,例如在公车上、在地铁里。在这种情况下,常常会出现网络抖动、上行或下行超时,导致应用中出现丢包。
作为一个测试人员,要对app在上线前做一定场景的弱网络环境模型,并查看app在弱网络环境下是否存在某些未知的问题。下面是常用的弱网络环境场景:
(a) 弱网络信号场景模拟;
(b) 市区低速移动场景模拟;
(c) 郊区高速移动场景模拟;
(d) 请求回应超时_上行超时场景模拟;
(e) 请求回应超时_下行超时场景模拟;
(f) 网络抖动场景模拟。
# 耗电量测试
# 协议测试
模拟客户端直接发送协议包给服务器,看看服务器是否有一定的校验,认不认客户端发过来的数据。协议测试,主要是为了处理用户发送恶意协议到服务器,骗过服务器的校验。
# 安全测试
App在上线前,都需要做详细的安全测试。安全测试主要为了检测应用是否容易被外界破解;是否存在被恶意代码注入的风险;上线后外挂的风险高不高等。
# 服务器性能测试
服务器性能测试,主要包含单机容量测试和24小时稳定性测试。单机容量测试,可以检测到单机服务器在90%的响应时间和成功率都达标的前提下,能够承载多少用户量。使用特定 游戏 模型压测24小时,服务无重启,内存无泄漏,并且各事务成功率达标。
# 服务器容灾测试
服务器容灾测试,主要指某个服务进程崩溃掉后,是否具有自行恢复能力。比如 游戏 逻辑进程消失后,是否会自动拉起;memcached崩溃时,是否会重新启动,是否会对所有玩家有影响。这些都是app测试过程中需要考虑的因素。
APP性能测试(1):FPS测试
adb 计算帧率: https://zhuanlan.zhihu.com/p/67056913
adb 计算帧率: https://www.huaweicloud.com/articles/12566219.html
帧率:FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。30FPS是一般录像的常用帧数,30FPS在快速动作的时候会感觉不流畅。60FPS是一般游戏的常用帧数。
绝大部分时间两者(Android和IOS)都能保持60FPS左右的满帧率。但都会有偶尔的掉帧。并且Android上要比IOS上严重很多。掉帧导致卡顿,用户必然会感觉到掉帧那一刻的不流畅。
FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会愈流畅一般来说,Android设备的屏幕刷新率为 60帧/s ,要保持画面流畅不卡顿,要求每一帧的时间不超过 1000/60=16.6ms ,这就是16ms的黄金准则,如果中间的某些帧的渲染时间超过16ms,就会导致这段时间的画面发生了跳帧,因此原本流畅的画面变发生了卡顿。
FPS 通常作为衡量应用是否流畅的标准。
FPS 即 Frames per Second(每秒显示的帧数),用于测量显示帧数的度量。帧数为 0 说明页面处于静止,只要页面动起来,这个帧数就会有变化,然后再趋于静止,页面滚动起来帧数整体呈现 “非对称” 抛物线走势。接下来看一张图直观感受一下:
通过上图我们能看出 FPS 值的大小对画面流畅度的影响,每一帧都是静止的图像,快速连续地显示帧便形成了运动的假象,因此高帧率可以得到更流畅、更逼真的动画。
帧延迟的高低可以通过帧时间(Frame Time)来判定。我们参考显示器的 60Hz 刷新率进行计算,它意味着每秒刷新 60 帧,每帧大约用时 16.7 毫秒。画面中每帧生成时间如果与 16.7 毫秒很接近,那么全程画面的帧数就很稳定,更接近理想的 60 帧每秒。
如果每帧生成时间高于 16.7 毫秒,也就意味着渲染这一场景所花费的时间比其他帧更多,造成画面跟不上,进而带来显示卡顿。
手机的 CPU 处理速率、屏幕尺寸、内存及显存的大小都影响着 APP 帧率的大小,这些因素在一定程度上约束着准备数据和数据传到屏幕的时间。再者,GUI 软件架构在一定程度上也影响着应用帧率的大小。
在同等机器环境下,除去 CPU、屏幕尺寸及系统 GUI 等固有数据传输耗时,要提升应用 FPS 就要减少视图渲染的时间。
1、尽量不要在刷新时做耗时操作,例如准备数据,创建图片,图片变换等,数据和图片都应该在之前就加载到内存中,图片变换用 canvas 的变换来实现。
2、同一个界面中多个动画重叠出现时,尽量将动画的刷新过程统一刷新,避免频繁的 invalidate,尤其是多个动画有时序上的关系时更应该统一。
3、尽量使用带有参数的 invalidate 来刷新,这样可以减少很多运算量。
APP也需要关注FPS、Jank及卡顿率。只是需要区分使用场景,如:
只需关注FPS,理论FPS应该为0,否则,说明有冗余刷新,容易引起手机发热及耗电。
只需关注FPS,FPS处于合适值即可,无需高频刷新。
需要关注FPS、Jank及卡顿率。手机交互灵敏度就是来源于此,Android系统才出黄油计划Jank。一般滑动状态下,帧率越高越好,Jank越小越好。
需要关注FPS、Jank及卡顿率,视频卡顿直接影响用户。视频一般帧率18-24帧,Jank=0。比如微信播放视频、视频播放器等。
注:
引用来源
软件测试必学基本理论知识-APP测试
业务功能测试
APP专项测试(兼容性测试、安装、卸载、升级、交叉事件、Push消息推送、性能测试、用户体验、极限、边界、权限
手机型号、操作系统、分辨率(Android:1080x1920,720x1280;IOS:2208x1242,1334x750)尺寸(4.7,5.5)、网络环境(Wi-Fi、2G、3G、4G、5G)
拨打接听电话
接收/发送短信
插拔耳机
网络切换
1.一定数量的真机上进行
2.借助testin等云平台
3.模拟器:Xcode、Genymotion(http://www.genymotion.net/)
第三方在线统计排名(腾讯移动分析、百度研究院)
官方数据(Android、IOS官网)
埋点技术(技术手段)
push消息应该按设定规则发送特定用户
APP在后台运行时,应能正常收到其push消息
设备锁屏状态下,应能正常收到APP的push消息
设置网络段断开后再一次建立连接是,应能收到push消息
系统设置不接收APP通知消息时,用户应该不再接收push消息
安装渠道:Android-应用商城、IOS-APP Store
正常情况 :
正常安装测试、检查是否安装成功
APP本本覆盖测试
回退版本测试
在不同型号、系统、屏幕大小、分辨率上的手机进行安装
安装完成后能否正常启动应用程序
异常情况
安装时内存不足
安装过程中的意外情况(强行断电、断网、来电话、查看信息)等
能否取消安装
正常情况:
用自己的卸载程序进行卸载,检查是否卸载干净
用第三方工具,检查是否卸载干净
不同系统、硬件环境、网络环境下进行卸载
卸载后再次安装、是否正常使用
异常情况:
卸载中出现异常情况能否恢复(比如手机关机、内存、没电等),程序是否还能运行
卸载后是否有残留,是否能够再次进行安装
是否可以取消卸载,软件恢复使用
更新版本需要提示用户
考虑是否进行强制升级(软件存在严重缺陷、软件不能够向前兼容)
是否能够跨版本升级
性能测试指标:内存、CPU、流量、电量、启动速度、界面切换速度
内存溢出与内存泄漏
1.内存溢出out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现溢出
2.内存泄漏out of leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏危害可以忽略,但内存泄漏堆积后果很严重,无论多少内存,迟早会被占光
3.二者的关系:内存泄漏会导致内存溢出
冷启动与热启动
1.指app被后台杀死后,在这个状态打开app,这种启动方式叫做冷启动
2.热启动:指app没有被后台杀死,仍然在后台运行,通常我们再次打开这个app,这种启动方式叫做热启动
用户体验
边界(极限测试)
权限测试
App的兼容性测试尤为重要:由于手机厂商生产的手机型号及相关软硬件存在千千万万的差异性,进而APP端需要着重考虑分辨率,系统版本,尺寸,主流机型等
App性能测试指标不一样,除了需要和web一样考虑APP客户端的性能外,我们还需要考虑电量、流量的消耗、GPU渲染等
APP网络测试场景的复杂性:如2G、3G、4G、5G、Wi-Fi、弱网环境等
APP基于手机载体存在的交叉事件测试、前后台切换,安装/卸载/升级测试
APP基于手机载体特有的一些用户操作习惯类测试,如横竖屏切换,多点触控,事件触发区域等
内测发布平台
工作流程:1.开发将打好的程序包上传到内测发布平台上2.内测分发平台基于上传的安装包生成唯一的二维码3.测试扫描二维码即可进行下载,安装并测试
蒲公英: https://www.pgyer.com/
fir.im(https://fir.im/
线上发布平台:
应用商店、APP Store
前置基础:瀑布模型(不适用快速变化的需求)、快速原型
互联网特点:请求创新、要求的高度不确定性
移动互联网的解决方案:快速的反馈机制、快速试错
基本可以和快速原型划等号。
scrum:提供了一套基于团队的敏捷方法。
角色:产品负责人(整理需求)、项目经理、开发团队
输出物:产品待办列表、迭代待办列表、产品增量(可工作的软件)
5个活动:迭代、迭代计划、每日站会、评审会、迭代回顾
1.需求分析与评审
2.编写测试计划(测试方案)
3.设计测试用例与评审
4.执行测试用例与缺陷跟踪
5.编写测试报告
兼容测试
交叉事件
弱网测试
极限边界
权限测试
删除请求:remove all
设置过滤
查看请求和响应数据
修改响应数据
辅助定位bug
构建模拟测试场景
APP弱网模拟测试
前端性能分析及优化
重定向、API接口测试
为什么抓包?
通过抓包工具截取观察网站的请求信息,帮助我们更深入了解系统
通过用抓包工具截取,观察网站的请求与返回信息,帮助我们进行bug的定位与描述
步骤
1.打开Fiddler,设置代理(tools-option-connection-勾选Allow remote computers to connect,并允许远程连接
2.手机连接电脑的热点网络或者在同一个局域网内
3.手机网络连接中,设置网络代理,IP是电脑的同网段IP地址,端口是8888
4.手机访问APP或者用手机浏览器访问网络,电脑Fiddler观察抓包情况
1.概念
在当今移动互联网盛行的时代,网络的形态除了有线连接,还有2G/3G/Edge/4G/Wi-Fi
等多种手机网络连接方式,不同的协议、不同的制式、不同的速率使移动应用运行的场景更加丰富。
2.原理
通过Fiddler来模拟限速,提供客户端请求前和服务器响应前的回调接口,Fiddler的模拟限速是在客户端请求前自定义限速,通过延迟发送数据或接收数据的时间来限制网络的下载和上传速度,从而达到限速的效果
打开网速模拟模式开关(Rules-Performances-simulate Modem speeds)
自定义网络:rules-customize rules
(知识就是力量,我将会持续更新软件测试相关知识哟 )
关于app性能测试和app性能测试工具有哪些的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
app性能测试的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于app性能测试工具有哪些、app性能测试的信息别忘了在本站进行查找喔。
评论列表