app性能测试(app性能测试工具有哪些)

来源网友投稿 2028 2023-02-12

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱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性能测试的信息别忘了在本站进行查找喔。
上一篇:云时代智能运维怎么样(云时代科技有限公司怎么样)
下一篇:包含系统性能测试数据库配置的词条
相关文章

 发表评论

评论列表