2016-01-21 84 views
1

我做了一个搜索,但找不到匹配,可能是由于“负载测试”这个短语的几个含义......但我们要做的是确保我们的应用程序(即必须及时显示更新数据的医疗设备)将以所需的吞吐量处理数据,即使iPhone变得繁忙 - 例如,如果有许多打开的应用程序需要CPU注意。负载测试的方法iOS应用

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

但显然这只是一种刺激风险。有没有更好的技术或工具?谢谢你的帮助。

+1

那么这是一个有点可怕的问题。考虑到您正在构建一个基于通用目的而不是实时操作系统的应用程序,我希望您可以从“必须”的非常宽松的定义开始工作。操作系统可以尽最大努力为您提供CPU时间和其他资源,但不存在任何担保和资源争用或线程匮乏风险将始终存在。如果延迟获取或呈现数据会对某人的健康构成实际风险,请停止并重新考虑您的方法。 – Jonah

+0

我曾使用iPhone供电的医疗温度计。您需要遵守的准则以及您需要遵循的测试计划才能通过FDA批准。手机,操作系统和设备的组合被认为是一种医疗设备。真正可怕/有趣的同时。 – sheeptest

+1

但是,在软件开发中必须是一个非常可怕的词。特别是在谈论数据传输或应用程序稳定性时。我建议任何负责监管质量控制的人员运行您的质量控制计划和测试案例。我建议您随时了解,您的应用可能会关闭,就像在传统的医疗设备中一样,它可能因某种异常原因而爆炸。准备好了解最糟糕的情况。 (如果一切正常,请随时使用我的答案来指导您的测试计划方法) – sheeptest

回答

2

从您的应用程序开发的角度来看,你需要把重点放在固定:

  • 会发生什么事时,数据不会发送?”
  • 会发生什么,当应用程序被关闭通过iOS版不管是什么原因?

有一百万的方式创建的场景,将导致不良情况的发生。了解你从一般失败中受到保护是最安全的依靠。


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

在过去的情景,当时我还没有在应用程序的开发控制,我已经通过手动探索性测试测试了这些场景物理设备。

如今iPhone模拟器现在提供了很多实用程序,因此您可能不需要手动执行此操作。滚动到这些答案的底部。


测试时,该设备无法可靠地传输数据

  • 非技术性的方式:下去3G和飞行模式和频繁切换连接,所使用的应用程序。
  • 更技术性的方法:通过您的计算机将您的手机设置为代理。调整连接。 Charles这样做。

当你扼杀了连接,使用应用程序来做任何交易与后端交谈。

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


测试时CPU过载

  • 找到支持你的最高目标OS(iOS上的9例如iPhone 4S)最古老的电话,并在后台打开了几场比赛。

  • 积极使用您的应用程序约30分钟。

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

热点是:动画,视频的东西,导致数据去后台,tableviews,收集意见等

  • 看看会发生什么应用程序时,它崩溃。
    • 您注销了吗?
    • 是否有任何关键数据格式不正确或丢失?

使用这些东西

有关使用模拟器的说明模拟器。

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

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

Force reboot or memory warning

Trigger iCloud Sync

希望这有助于!

+1

哇,真棒......谢谢!!! – Chris