iOS应用的负载测试方法

iOS应用的负载测试方法,ios,testing,load-testing,Ios,Testing,Load Testing,我对此进行了搜索,但找不到匹配项,可能是因为短语“负载测试”有多种含义。。。但我们正在努力确保我们的应用程序(这是一种必须及时显示更新数据的医疗设备)能够以所需的吞吐量处理数据,即使iPhone很忙——例如,如果有一堆应用程序打开需要CPU关注 我们能想到的最好的测试方法基本上是。。。打开一堆应用程序,或者尝试通过发送一堆带有大附件的电子邮件来加载CPU 但很明显,这只是一种冒险。有没有更好的技术或工具?感谢您的帮助。从应用程序开发的角度来看,您需要专注于修复: “数据不发送时会发生什么情况?

我对此进行了搜索,但找不到匹配项,可能是因为短语“负载测试”有多种含义。。。但我们正在努力确保我们的应用程序(这是一种必须及时显示更新数据的医疗设备)能够以所需的吞吐量处理数据,即使iPhone很忙——例如,如果有一堆应用程序打开需要CPU关注

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


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

从应用程序开发的角度来看,您需要专注于修复:

  • “数据不发送时会发生什么情况?”
  • “当应用程序因任何原因被iOS关闭时会发生什么?”
有一百万种方法可以创建会导致坏情况发生的场景。知道自己不受一般故障的影响是最安全的依靠。


从验证现有应用程序的角度来看:

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

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


当设备不能可靠地传输数据时进行测试
  • 非技术方式:进入3G和飞行模式,并在使用应用程序时频繁切换连接
  • 更多技术方法:通过计算机将手机设置为代理。切断连接。这样做
当您限制连接时,使用应用程序执行与后端对话的任何事务

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


CPU过载时的测试
  • 获取支持最高目标操作系统的最旧手机(例如iOS 9上的iPhone 4S),并在后台打开一些游戏

  • 积极地使用你的应用程序大约30分钟

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

热点包括:动画、视频、导致数据进入后端的内容、表视图、集合视图等

  • 查看应用程序崩溃时会发生什么情况。
    • 你注销了吗
    • 是否有任何关键数据格式错误或丢失

将模拟器用于这些事情 关于使用模拟器的说明

模拟器是模拟内存警告的一种方便方法,您可以限制与Charles的连接,或强制重新启动。但是CPU的节流方式与在物理设备上进行测试的方式不同

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


希望这有帮助

这是个有点可怕的问题。我希望你在这里对“必须”的定义非常宽松,因为你是在通用而不是实时操作系统上构建应用程序。操作系统可以尽最大努力为您提供CPU时间和其他资源,但无法保证资源争用或线程不足风险始终存在。如果在获取或呈现数据方面的延迟会对某人的健康造成真正的风险,请停止并重新考虑你的方法。你需要遵守一些指导方针和测试计划,才能获得FDA的批准。电话、操作系统和设备的组合被视为医疗设备。同时真的很可怕/有趣。但是,是的,在软件开发中,“必须”是一个非常可怕的词。尤其是在谈到数据传输或应用程序稳定性时。我建议由负责监管质量控制的人来运行质量控制计划和测试用例。我建议大家理解,在任何时候,你的应用程序都可能会关闭,就像在传统医疗设备中一样,它可能会因为某些不正常的原因而爆炸。做好准备,了解最坏情况。(如果一切正常,请随意使用我的答案来指导您的测试计划方法)“必须”=必须及时或自诊断任何延迟,并显示错误消息,以便用户知道存在问题。我们使用应用程序级时间戳和时间戳检查来处理这个问题。iOS(或链中的任何其他链接)的任何繁忙状态都将被标记,用户将返回模拟系统。所有这些都是根据FDA法规和IEC-62304进行的彻底风险分析。我们现在所做的是尽可能真实地测试这些自我诊断功能。看看我们是否可以通过在iPad上制造忙碌来让这些功能失效。我的问题是如何创造出这样的氛围。