移动应用性能测试
对于任何移动应用程序而言,性能都至关重要。如果您的移动应用程序性能不佳,最终用户将卸载您的应用程序并寻找其他性能更好的应用程序。
您的移动应用程序在发布给最终用户之前需要经过彻底测试。
移动应用程序测试策略
移动电话或任何智能设备上的应用程序性能通常通过以下三个类别来衡量。
- 设备性能
- 服务器/API 性能
- 网络性能
设备性能
当客户端遇到应用程序运行缓慢时,他们会感到恼火。
对于设备性能,您将检查以下内容:
- 应用程序启动您的应用程序启动需要多长时间?这是用户判断的第一个性能参数。通常,用户点击应用程序图标后,第一个屏幕应在 1-2 秒内显示。
- 使用应用程序时的电池续航时间在持续使用时,一些移动应用程序会消耗大量电池电量并使手机发热。这个因素对任何移动应用程序的性能都有很大影响,通常发生在您的应用程序使用了超出所需资源的情况下。过多的资源使用会给处理器带来负担,并导致手机发热。
- 内存消耗测试应用程序时,应检查应用程序的内存消耗。通过在应用程序中实现某些功能,内存消耗也会增加。例如,在 Android 应用程序中实现推送通知时,内存消耗会增加。
在某些情况下,已观察到整个操作系统的内存使用率仅为 14%,但新应用程序却消耗了 11%。因此,在将应用程序部署到现实世界或提供给客户端之前,必须处理这些因素。
- 硬件/软件差异测试移动应用程序时,必须在不同设备上检查应用程序。可能会出现应用程序在一个设备上运行流畅但在另一个设备上不流畅的情况。例如,对于不同的 Android 设备供应商,我们可以在三星、HTC 和联想手机上检查应用程序。同样,应用程序需要使用不同的 RAM 和处理器规格进行测试,例如 1 GB 或 2 GB。
- 与其他应用程序一起使用当被测应用程序与其他应用程序并行运行时,不应有干扰。检查它的最佳方法是在被测应用程序和其他应用程序之间切换。
- 后台应用程序当检索在后台运行的应用程序时,它应该保持与之前相同的状态。如果这种情况没有得到正确处理,则数据会丢失。再次,您必须在检索应用程序后从头开始输入数据。
服务器/API 性能
当应用程序通过 API 与服务器交互时,响应时间对性能至关重要。对于服务器性能,您将检查:
- 与服务器之间的数据传输应用程序应高效处理从服务器发送的数据。加载数据时不应花费太多时间。在某些应用程序中,数据以指定格式发送。因此,在应用程序中显示之前,应将其转换为相关格式。在此过程中,应用程序有时会变慢,响应时间也会变长。
- 从应用程序生成的 API 调用从被测应用程序到服务器生成的应用程序调用次数应较少。在某些情况下,对相同功能会进行多次 API 调用。为了获得更好的性能,应通过较少的调用次数来处理此问题。
- 服务器停机时间由于任何原因,如果服务器停机或无法访问,我们可以将数据保存在本地数据库中。因此,无论何时服务器停机,我们都可以显示存储在本地数据库中的数据。另一个解决方案可以是故障转移数据库服务器,即,如果其中一个服务器停机或处于维护阶段,则应有备用服务器可用以切换。故障转移/备用服务器应与主服务器进行持续复制和同步。
网络性能
需要衡量应用程序在不同网络和网络属性上的性能。
对于网络性能,您将检查以下事项。
- 抖动当网络接收信息存在延迟时,就称为抖动。这是无连接网络或分组交换网络的问题。由于信息被分成数据包,数据包可以通过从发送方到接收方的不同路径传输。当数据到达预期位置时,它会比原始发送时更混乱。在抖动的情况下,移动应用程序应足够强大以处理它。
您需要向最终用户显示适当的通知,要么重新发送请求,要么等待系统再次响应。
- 数据包丢失在数据包完全丢失的情况下,应用程序应能够重新发送信息请求或相应地生成警报。如果数据不完整,则用户将无法理解应用程序中显示的信息。这可能会给用户带来压力。因此,最好显示一条合适的消息或提示用户重试。
- 网络速度应用程序需要在各种速度不同的网络上进行检查。应用程序应在 2.5G、3G 和 4G 网络上进行测试。Wi-Fi 和移动网络都包含在内。此外,应监控应用程序的行为。特别是当两个网络都可用,并且从一个网络切换到另一个网络时。
例如,用户在将手机网络从 4G 切换到 WIFI 或反之时,应用程序可能会出现问题。在这种情况下,应用程序会无响应,可能需要重新启动应用程序才能使用。
移动应用程序性能故障排除
在性能测试时发现问题后。现在是时候跟踪并纠正故障了。
问题 1) 移动应用程序延迟或响应迟钝。
这种延迟的原因可能是 RAM、缓存等。
您需要终止不必要的进程或清除缓存。解决连接问题可能会解决一些导致延迟的问题。
问题 2) 应用程序重启、锁定、冻结或无响应。
它可以通过以下一些步骤解决:
- 优化应用程序代码
- 软件应打补丁并更新。
- 自动恢复
- 使用外部卡时管理 RAM 或在某些情况下管理 ROM
- 擦除缓存分区
- 验证应用程序是否与其他第三方应用程序和 API 协同工作
- 根据设备映射移动应用程序
有用的移动应用测试工具
移动应用程序测试工具因设备或移动操作系统而异。一些常见的移动应用程序性能测试工具是:
ANDROID
- Robotium它就像用于移动应用程序的Selenium。测试人员可以记录和播放执行测试所需的几个步骤。
- Monkey RunnerMonkeyRunner 可以在连接到 PC 的真实设备或模拟器上运行测试。该工具具有一个 API,允许从 Android 代码外部控制智能手机、平板电脑或模拟器。
APPLE
- Automator (Mac)Automator 是 Apple 为 OS X 开发的应用程序。它实现了点击(或拖放)创建工作流程,用于将重复任务自动化为批处理,以便更快地更改。这比人工干预单独手动更改每个文件节省了时间和精力。
挑战
性能测试面临的主要挑战包括:
- 组织不同的移动平台及其操作系统
- 模拟 Edge、3G、4G 或 WiFi 等连接
- 移动设备的限制,例如电池和资源消耗
- 手机可用性
- 运行相同应用程序的移动设备的不同尺寸
设置移动应用性能测试环境
要配置测试环境,您需要:
- 了解需要测试的移动应用程序
- 识别应用程序需要在其上运行的不同操作系统
- 构建测试设置
- 构建模拟器或仿真器
- 实际设置的原型制作
- 选择合适的测试工具
移动应用性能测试清单
在发布之前,对移动应用程序的性能进行测试是一项重要措施。性能测试旨在检查:
- 利用此应用程序需要多少 RAM?
- 验证应用程序在不同网络和情况下的速度和响应时间。
- 确保在多种网络条件下提供逼真的用户体验
- 确保在多重连接情况下达到所需结果
- 确保应用程序不会崩溃。
- 确保移动应用程序在使用数据、Wi-Fi 或其他连接时表现良好
- 监控正常运行时间和移动 API 使用瓶颈
- 确保最大并发用户数
- 最后,将移动应用程序测试到其极限
摘要
- 性能测试需要了解移动应用程序、资源利用率、虚拟用户、模拟器和多种测试策略。
- 移动电话上的应用程序性能通过以下三个类别来衡量。
- 设备性能
- 服务器性能
- 网络性能
- 性能测试的挑战包括移动设备的小巧尺寸、资源可用性、成本和预算。