负载测试方法 iOS 应用

Approach to load testing iOS app

我对此进行了搜索,但找不到匹配项,可能是由于短语 "load testing" 的多种含义...但我们正在尝试做的是确保我们的应用程序(是一种必须及时显示更新数据的医疗设备)将以所需的吞吐量处理数据,即使 iPhone 变得繁忙——例如,如果有一堆打开的应用程序需要 CPU 关注.

我们能想到的最好的测试方法基本上是...打开一堆应用程序,也许可以通过向它发送一堆带有大附件的电子邮件来尝试加载 CPU。

但显然这只是一种冒险。有没有更好的技术或工具?感谢您的帮助。

从你的应用开发的角度来看,你需要重点修复:

  • "没有发送数据怎么办?"
  • "当应用程序因任何原因被 iOS 关闭时会发生什么?"

有一百万种方法可以创建导致不良情况发生的场景。知道自己可以避免一般故障是最安全的依靠。


从验证现有应用的角度:

在过去的场景中,当我无法控制应用程序的开发时,我通过在物理设备上进行手动探索性测试来测试这些场景。

现在 iPhone 模拟器现在提供了很多实用程序,因此您可能不需要手动完成所有这些操作。 滚动到底部以获得这些答案。


在设备无法可靠地传输数据时进行测试

  • 非技术方式: 继续使用 3G 和飞行模式并在使用应用程序时频繁切换连接。
  • 更多技术方法: 通过您的计算机将您的 phone 设置为代理。限制连接。 Charles 这样做。

当您限制连接时,请使用该应用程序执行与后端对话的任何事务。

重新连接到 Wi-Fi 或更稳定的无线连接后,它们是否能正确发送?


在 CPU 过载时进行测试

  • 得到最老的phone支持你的最高目标OS(例如iPhone 4S on iOS 9)并在背景.

  • 使用您的应用大约 30 分钟。

    • 我的意思是,假装是一个不耐烦的用户,在屏幕上的每个按钮和其他地方点击 5 次,直到您开始注意到速度变慢。
  • 利用似乎导致缓慢的区域。

热点是:动画、视频、导致数据进入后端的东西、表视图、集合视图等

  • 查看应用程序崩溃时发生的情况。
    • 你登出了吗?
    • 是否有任何关键数据格式错误或丢失?

使用模拟器完成这些事情

关于使用模拟器的注意事项。

模拟器是模拟内存警告的便捷方式,您可以限制与 Charles 的连接,或强制重启。但是 CPU 不会像您在物理设备上测试时那样受到限制。

除此之外,请参阅下面的屏幕截图,了解模拟器上可用的哪些选项可能对您有所帮助。

希望对您有所帮助!