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

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 深聊性能测试,从入门到放弃之: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说拜拜。


相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
1月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
57 4
|
3月前
|
测试技术 持续交付 开发者
探索自动化测试的无限可能:从入门到精通
在软件开发领域,确保产品质量是至关重要的。自动化测试作为一种高效、可靠的测试方法,正逐渐成为行业标准。本文将带你深入了解自动化测试的世界,从基础概念到实践技巧,帮助你掌握这一强大的工具。无论你是初学者还是有经验的开发者,都能从中获得宝贵的知识和启发。
|
3月前
|
Java 测试技术 开发者
初学者入门:掌握单元测试的基础与实践
【10月更文挑战第14天】单元测试是一种软件测试方法,它验证软件中的最小可测试单元——通常是单独的函数或类——是否按预期工作。单元测试的目标是确保每个模块在其自身范围内正确无误地运行。这些测试应该独立于其他模块,并且应该能够反复执行而不受外部环境的影响。
86 2
|
2月前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
147 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
2月前
|
数据采集 缓存 测试技术
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
性能测试中,除了迭代次数,还有哪些因素会影响测试结果?
54 2
|
2月前
|
测试技术 数据库连接 数据库
测试脚本的编写和维护对性能测试结果有何影响?
测试脚本的编写和维护对性能测试结果有着至关重要的影响,
42 1
|
2月前
|
Java 测试技术 Android开发
探索自动化测试的奥秘:从入门到精通
【10月更文挑战第37天】本文将带你进入自动化测试的世界,从基础知识到实战案例,逐步揭示自动化测试的神秘面纱。我们将一起探讨如何利用代码来简化测试过程,提高效率,并确保软件质量。无论你是初学者还是有经验的开发者,这篇文章都能为你提供有价值的见解和技巧。让我们一起踏上这段探索之旅吧!
|
2月前
|
缓存 监控 测试技术
全网最全压测指南!教你如何测试和优化系统极限性能
大家好,我是小米。本文将介绍如何在实际项目中进行性能压测和优化,包括单台服务器和集群压测、使用JMeter、监控CPU和内存使用率、优化Tomcat和数据库配置等方面的内容,帮助你在高并发场景下提升系统性能。希望这些实战经验能助你一臂之力!
144 3
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
352 1
|
2月前
|
缓存 监控 数据挖掘
C# 一分钟浅谈:性能测试与压力测试
【10月更文挑战第20天】本文介绍了性能测试和压力测试的基础概念、目的、方法及常见问题与解决策略。性能测试关注系统在正常条件下的响应时间和资源利用率,而压力测试则在超出正常条件的情况下测试系统的极限和潜在瓶颈。文章通过具体的C#代码示例,详细探讨了忽视预热阶段、不合理测试数据和缺乏详细监控等常见问题及其解决方案,并提供了如何避免这些问题的建议。
72 7

热门文章

最新文章