案例:某拼车软件的iOS版在更新之后,出现了由于定位问题导致不能叫车的惊天Bug。随后,官方做了一系列的弥补措施,包括:短信道歉,赠送代金券,将首页热点图更改成新的叫车入口等措施。更为严重的是,受苹果的Appstore审核规则所限,即使在第一时间发现Bug并解决,官方也没办法在第一时间发布新版本,所以直到一周之后这一问题才得以解决,可想而知这一周内必定有大量的用户流失到其它拼车软件上了,而且这一事故也重挫了老用户的信心,给官方也带来了深远的负面影响。
在App中,类似这样严重的Bug屡见不鲜,为什么这些巨头花费巨大的人力,物力,财力和精力开发的产品还会存在这么多严重的问题。究其原因:App的内测本来就很难做!
APP测试的痛点
分发困难:以iOS应用为例,由于操作系统的限制,一款内测应用安装到测试人员的iPhone上需要大约17个步骤,约20分钟左右时间,而且每台手机的安装都会重复上述过程。繁琐的分发步骤对充分的测试造成了严重的障碍。
运行设备高度碎片化:长期以来,Android平台的碎片化饱受各诟病:设备繁杂,品牌众多,版本各异,分辨率不统一等等。这些不仅对开发造成了巨大的障碍,而且也给测试带来了高昂的成本。而iOS平台之前之所以备受开发者欢迎,那是因为其设备,系统的统一性,这给开发者带来了很多方便。可如今,开发一款iOS应用,得同时考虑到小到Apple Watch,大到Apple TV以及不计其数的iPad和iPhone尺寸以及从iOS 6到iOS9等各种系统。所以iOS平台的碎片化也成为了开发高质量应用的一大难题。
运行场景复杂: 除了操作系统和设备外,App还会在各种复杂的场景中运行。比如说:WiFi、2G、3G、4G等网络状态,移动或静止等运动状态。这些复杂的场景都是传统软件都未曾面临的,这些也成为测试的难点。
功能高度复杂:一款App可能会处理手势,GPS坐标、加速度、摄像头、推送通知、其它互操作设备、云端存储、网络交互、移动支付等传统软件所不曾面临的复杂信息,对这些复杂信息的处理增加了软件的复杂度,也增加了测试的难度。
闪退难以追踪:一般来说如果一款App在3个月内没能获得稳定的用户增长的话,那么基本上可以给这款App宣判死刑了。那么早期用户的体验对一款应用能否立足的影响至关重要,而用户体验里最糟糕的莫过于闪退了。如果用户在第一次使用一款应用的第一天碰到两次闪退,那么该用户一般会选择卸载应用。而那些在用户场景下发生的闪退,往往都比较难以复现,难以追踪。所以闪退对开发者测试人员来说是可谓是挥之不去的梦魇。
版本难以追踪:内测阶段的App一般会频繁迭代,频繁布新版本。对这些繁多的版本的管理也需要有统一的方案才行。
问题难以反馈:现代操作系统一般在只能同时在前台运行一个程序,所以内测用户在测试的时候,需要截图保存,并上传或者发送相应的问题给开发者,而这一反馈过程也比较繁琐。
内测用户难以获取:开发人员经常面临的一个问题是,产品正式上线后会爆发出各种在内测环节所未曾遇到的样严重的Bug。究其原因,内测用户太少,测试覆盖不全面所致。
综上所述,App在内测过程中面临难以安装,运行场景复杂,功能高度复杂,闪退难以追踪,版本难以控制,问题难以反馈,内测用户难以获取等诸多问题。所以上述拼车软件的严重Bug的出现也就不足为怪了。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。