我的公司正在考虑为Android设备和iPhone提供一个应用程序。测试移动应用程序与测试PC应用程序(或运行在浏览器中的应用程序)有哪些挑战?

#1 楼

在我的头顶上:


内存占用。在台式机操作系统上“很少”失败的分配可能在移动平台上失败。
对电池的影响-在台式机应用程序上,通常有线程轮询或后台任务。在移动平台上,此类活动可能会很快耗尽电池
台式机应用程序通常需要可靠的网络访问。移动平台没有一致或可靠的网络访问
如果您使用自动化工具(或其他工具)来帮助测试您的桌面应用程序,则它们可能无法在移动操作系统上运行。如果这些对您的测试至关重要,则需要寻找其他工具或移动版本。
位置感知-如果应用使用GPS或基于Cell的位置信息,则需要一种机制来测试相关案例-没有可用的位置信息;
屏幕尺寸和方向-除了不同的屏幕分辨率(尤其是在Android上)以及手机与平板电脑测试之外,大多数移动平台都可以动态地从“人像”模式切换到“风景”模式而不会发出警告。

我敢肯定我缺少很多地方,但是社区应该对此予以照顾。

评论


这是一个很好的开始;添加了一项修改(等待审核)以建议您注意位置和屏幕尺寸,这是其他注意事项。

– TomG
2011年5月20日下午2:57

#2 楼





蜂窝覆盖不仅会影响您的Internet连接,还会影响CPU

移动设备CPU通常较慢

移动操作系统施加了许多台式机上不存在的限制,例如IOS处理多任务处理

兼容性很痛苦,Android或IOS在不同设备(甚至是屏幕)上的行为略有不同分辨率不同。

对电池的影响有很多方面,移动操作系统可以节省电量,因此您可能会发现自己没想到的地方。一个例子是数据调用可能处于休眠状态,需要几秒钟或更长时间才能恢复。

蜂窝数据会带来较大的延迟和丢包率,例如移动TCP计时器要大得多,这使得连接丢失的检测更加困难。


#3 楼

在许多方面,它更像是PC应用程序,而不是浏览器应用程序-您必须进行以下测试:用户一旦下载了您的应用程序,他们可能永远不会更新它,或者可能无法按照您想要的速度更新它。除了在现场可能存在错误的代码外,您还可能必须针对各种版本的应用程序测试后端系统。

#4 楼

移动应用程序需要考虑的一些事项:


外部中断,例如SMS,MMS,电话:您正在设备中运行应用程序,突然收到了SMS,MMS,电话或其他通知。
具有不同设备配置(如Android和Window Phone)的不同设备制造商具有不同的处理器,显示分辨率等的三星,HTC等制造商也不同。
仅支持手机或平板电脑,或两者均支持
WiFi,2G,3G等不同的Internet连接网络
支持NFC(近场通信)
设备电池因素:请注意,电池的不同状态会影响您的应用。如果电池电量耗尽,充满或充满电,则会对您的应用产生一些影响。
基于位置的应用:这些应用必须在真实位置进行测试,并具有GPS开启/关闭状态。
某些平台特定的测试例如在启用某些限制(例如禁用相机,禁用在日历中添加事件,禁用应用内购买)并检查何时尝试在应用中使用这些功能时在iOS设备上测试您的应用


#5 楼

除了已经提到的优点之外,与移动应用程序的数据同步还提供了很多错误,甚至更糟的是不明智的规范。我在许多实例中看到的一个错误是,移动设备无法处理桌面应用程序中的所有数据,因此,程序员以一种对他来说似乎合理的方式对其进行了限制,但对用户而言却是合理的,通常情况下无需记录他的决定,甚至让测试团队知道。