深聊性能测试,从入门到放弃之:APP性能测试有哪些关注点

简介: 深聊性能测试,从入门到放弃之:APP性能测试有哪些关注点

1、性能测试常见指标


内存

CPU

流量

电量

启动速度

滑动速度

界面切换速度

与服务器交互的网络速度

通常Android对上面的关注点会更多一些,毕竟… 你懂得!


2、预期标准指定原则


分析竞品,所期望指标与竞品的差值或超过竞品

满足产品经理给出的预期性能指标

符合业内标准


3、工具及方法


内存:


方法:使用adb shell脚本进行测试,查看Log数据

命令:adb shell dump meminfo

CPU:


方法:使用adb shell脚本进行测试,查看Log数据

命令:adb shell top

敲黑板:程序持续运行及操作过程中,内存不能一直增加,否则系统会自动Kill(弄死)掉进行;


流量监控:


工具:可以借用网易的开源工具Emmagee

电量监控:


方法:和竞品做对比测试,同一机型的测试机在不同时间,不同网络条件,不同功能使用的情况下分别测试电量使用情况;

启动速度/滑动速度/界面切换速度:


方法:编写测试代码,打桩到源码中,进行测试后通过log进行数据分析;


4、不同角色关注点


关于不同的角色,对性能的要求及关注点,小鱼在《深聊性能测试,从入门到放弃之:初识性能测试》的第三章详细写过,虽然当时没有明确的写出是Web还是App,总的来说,还是离不开这些;

当然,像小鱼我这种乐(为)于(了)助(妹)人(子),我愿意再详细的总结一下,针对App性能,各个不同角色大佬的关注点。


4.1 运维角度

响应时间

服务器资源使用情况是否合理

应用服务器和数据库资源使用是否合理

系统能否实现扩展

系统最多支持多少用户访问、系统最大业务处理量是多少

系统性能可能存在的瓶颈在哪里

更换那些设备可以提高性能

系统能否支持7×24小时的业务访问


4.2 开发(架构)工程师角度


架构设计是否合理

数据库设计是否合理

代码是否存在性能方面的问题

系统中是否有不合理的内存使用方式

系统中是否存在不合理的线程同步方式

系统中是否存在不合理的资源竞争


4.3 用户角度


加载时间

反应时间


4.4 测试工程师角度


①链接超时

这个问题必须重视,因为在移动应用中网络错误数据比例报错中最高的就是连接超时错误;


②崩溃/闪退

APP的崩溃,就是用户的崩溃。

当用户使用你的App出现闪退或崩溃时,他们很有可能跑去App Store赠送你一个“一星”好评;


我也曾给过某APP一星好评。


③系统交互(电话短信干扰,低电量提醒,push提醒,usb数据线插拔提醒,充电提醒等)

在APP使用过程中,可能会遇到各种中断场景,那么一旦发生这些场景,APP就卡死或者闪退,想必也没有多少用户愿意持续使用你的APP;


不行就学学某宝,超过xx秒,重新加载进首页,不仅规避网络加载失败问题,还能得到一笔广告费。


④弱网下的运行

电梯里、地铁上,网络信号差时,APP页面的菊花转不停,界面卡死,同时错误提示一堆,


主要卡在菊花这个标志上,着实有点尴尬。


⑤ CPU使用问题


CPU频率设置过高时会导致过热,过热导致耗电更严重, CPU频率设置过低导致手机滞后,

应用处理缓慢同样会导致耗电。

更多时候,用户解决CPU超载问题只能关闭甚至卸载App,App就被Kill!


小鱼遇到这种事情,直接卸载,然后对此APP说拜拜。


目录
相关文章
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
580 4
|
测试技术
软考软件评测师——可靠性测试测试方法
软件可靠性是指软件在规定条件和时间内完成预定功能的能力,受运行环境、软件规模、内部结构、开发方法及可靠性投入等因素影响。失效概率指软件运行中出现失效的可能性,可靠度为不发生失效的概率,平均无失效时间(MTTF)体现软件可靠程度。案例分析显示,嵌入式软件需满足高可靠性要求,如机载软件的可靠度需达99.99%以上,通过定量指标评估其是否达标。
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
1456 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
缓存 Java 测试技术
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
使用JMeter对项目各个接口进行压力测试,并对前端进行动静分离优化,优化三级分类查询接口的性能
1166 10
谷粒商城笔记+踩坑(11)——性能压测和调优,JMeter压力测试+jvisualvm监控性能+资源动静分离+修改堆内存
|
监控 中间件 测试技术
『软件测试5』测开岗只要求会黑白盒测试?NO!还要学会性能测试!
该文章指出软件测试工程师不仅需要掌握黑盒和白盒测试,还应该了解性能测试的重要性及其实现方法,包括负载测试、压力测试等多种性能测试类型及其在保证软件质量中的作用。
『软件测试5』测开岗只要求会黑白盒测试?NO!还要学会性能测试!
|
小程序 前端开发 Java
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
JavaDog Chat v1.0.0 是一款基于 SpringBoot、MybatisPlus 和 uniapp 的简易聊天软件,兼容 H5、小程序和 APP,提供丰富的注释和简洁代码,适合初学者。主要功能包括登录注册、消息发送、好友管理及群组交流。
560 1
SpringBoot+uniapp+uview打造H5+小程序+APP入门学习的聊天小项目
|
缓存 监控 数据挖掘
C# 一分钟浅谈:性能测试与压力测试
【10月更文挑战第20天】本文介绍了性能测试和压力测试的基础概念、目的、方法及常见问题与解决策略。性能测试关注系统在正常条件下的响应时间和资源利用率,而压力测试则在超出正常条件的情况下测试系统的极限和潜在瓶颈。文章通过具体的C#代码示例,详细探讨了忽视预热阶段、不合理测试数据和缺乏详细监控等常见问题及其解决方案,并提供了如何避免这些问题的建议。
500 7
|
数据采集 缓存 测试技术
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
636 2
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
1710 3
|
测试技术 数据库连接 数据库
测试脚本的编写和维护对性能测试结果有何影响?
测试脚本的编写和维护对性能测试结果有着至关重要的影响,
307 1

热门文章

最新文章