2009-06-12 24 views
3

不久之前iPhone的开发很简单,只有少数操作系统版本和更少的设备。iPhone操作系统测试最佳实践

然而,现在有两个主要的操作系统版本和5个不同的设备要考虑。

作为即将发布多个应用程序的公司,测试已成为越来越多的问题。

什么是测试所有组合的最佳方法,我是否需要获取每一代iPhone和iPod Touch?是否有任何可能需要编码的特定硬件/操作系统组合的陷阱?

我想我的问题是,“覆盖所有基地所需的最低测试数量是多少?”

回答

5

根据我的经验,iPod/iPhone之间不会有太多的兼容性问题。还有其他需要注意的问题:

  • 设备以不同的速度运行。 iPhone v1和iPhone 3G运行在412MHz; iPod Touch以532MHz运行,新的3GS运行在600MHz。如果你喜欢,这可能会对性能和功能产生重大影响。
  • EDGE/3G/WiFi网络之间有巨大的性能差异;往往这些差异是违反直觉的。 EDGE通常比3G有更好的延迟(第一个字节的时间),而3G具有10倍的更好的带宽。您需要在所有三种情况下测试您的应用。
  • 您使用的是核心位置? iPhone v1和iPod Touch没有GPS。
  • 您是否在使用相机? iPod Touch没有相机。
  • 您的应用程序是否兼容越狱手机?很多人都这样做了,如果你的应用崩溃了,他们会责怪你,而不是Dev团队的黑客,这将反映在你的App Store评级中。请特别注意,后台应用程序可能会占用您可能认为可专用于您的应用程序的内存。给自己留一些开销。

那么,你需要购买什么?如果你是一个认真的开发者,是的,你应该有5个可用的设备。但是你需要测试所有5个设备的每个版本吗?每个开发人员都需要5个设备吗?编号

一位开发人员可能可以测试与iPhone 3G和iPod Touch有关的所有事情。折腾3GS,你的覆盖面可能接近完美。 (请注意,由于CPU速度更快,所以3GS的发展更好,因此您的应用部署速度更快)。

在工作中,我们为每个开发人员设置一个设备,但它们是3G和iPod设备的混合设备,今天,一个3GS)。

+0

新的iPod touch有两个摄像头。因此使用设备名称检测相机是不正确的。有一个特定的API调用,告诉你设备是否有摄像头:[UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera] – 2012-04-04 09:49:16

1

我对iPhone本身并没有多少经验,但总的来说这可能是pairwise testing的一个很好的应用。在实践中,您可以通过完整测试通行证的一小部分测试获得90%的覆盖率。之后,如果您发现某些配置有问题,您可以将它们添加到您的配置集中,并且不需要进行详尽的传递。

1

我不确定它是否是最佳做法。 但我听到很多人使用ibetatest正是你在找什么。那里有许多热情的测试者。 对于运行在不同版本上的95%的代码,您不应该有任何问题,并且类似ibetatest的应该会捕获剩余的5%。

0

获取所有组合是简短的答案。

我刚开始只用iPod,但它的速度比以前的iPhone型号快100MHz 。我的应用程序的 性能非常敏感,所以我必须获得旧版iPhone的 。我几乎不能要求我的测试人员 (志愿者?)运行GL性能工具。

0

我建议两件事情:

  • ,你可能会需要多种设备为自己的内部测试。正如已经指出的那样,每一代iPod Touch/iPhone都有各种不同之处,您可能需要考虑使用众包来补充您的内部测试。这可能使您有更多的受众来测试您的应用程序,并且使用众包的任何成本都可能被您在设备上花费较少而内部测试人员花费较少并且可能产生更好的产品。上面未提及的一个群众来源的测试组是uTest.com