软件专家的形象——无论是开发者,测试者还是其它的,传统上都是在办公室,可能坐在一个小隔间,盯着屏幕一天八小时或更多。也许对于我们许多人来说这就是我们一天的现实。我们有我们的空间以及到我们面前这个世界的连接,而且我们大部分测试工作都是通过连接来进行的。登录服务器,下载安装一个应用程序,启动一个自动化的云。我们的环境没有改变,就在我们知道这之前,我们已经花了8小时坐在同一张椅子上,不知道这一天怎么就过去了。
我有一些好消息。如果你正在测试移动应用,那么你的一天就不是不得不这样度过了。事实上,它不应该是这样的。
对于一个软件测试人员来说,知道如何像用户一样思维与行动是非常重要的一项技能。通过给利益相关者早期的产品反馈并做出明智的决定以满怀信息地进入产品市场,我们就降低了不成功产品发布的风险。在移动情况下,我们大部分用户都使用他们的设备吗?在外面,在新鲜空气里,在阳光下或者在雨中呢?
走出办公室去测试同一环境下的设备或应用,作为一个典型用户是一项关键的移动测试技巧。然而在测试移动项目时人们常犯的一个极其普遍的错误就是仅仅在办公室里测试,那里网络条件良好,使用连接的人数少,光线又好。它不应该是这样的,你需要去户外看看真实世界是什么样子,但这通常仅仅被认为是没有必要的,并且有时候管理者并不足够信任测试人员,甚至是允许了。如果是这种情况,那么希望你通过阅读这篇文章所学到的能够帮助你让他们放心。
因此,当你外出考虑测试时该关注哪些呢?下面是一个所需考虑领域的方便列表:
很差的信号质量
当你四处走动的时候,也许就是办公室附近,查看下手机上的信号强度。显示的条数表明了离最近蜂窝塔的连接强度。试试看从哪儿开始下降,然后试着使用依赖于应用程序数据连接性的用例。少于完美连接的应用程序的弹性如何?当连接完全终止时会发生什么呢?应用程序是会只卡住尝试加载一些东西还是优雅地延时呢?
速度网络间的交接
观望下你的移动设备在不同速率网络下切换的情景。你可以通过查看代表网络速度的图标来了解。世界上大多数情况下,都会在2G与3G间切换,也有些领域是4G网络。再次,在这些情形下尝试使用应用程序中数据连通性部分。在这些不同速度的网络下应用程序会如何工作,手机在这些网络下不停切换会发生什么呢?随着网络切换,连接会暂时终止。别忘了一些典型用例,当你使用蜂窝网络然后切换到Wi-Fi,后又切回。
慢速与超载的wi-fi
我确信你办公室的Wi-Fi连接是良好的,并且相当的快。但街角咖啡店的Wi-Fi连接又如何呢?有可能更糟,经常超载且速度慢,而那正是大多数人在咖啡馆休闲时使用的连接情况。值得换位思考罗。
别忘了记住更可能不是很安全,所以在咖啡厅进行一些应用程序的安全性测试也是非常理想的。
快速运行
当数据连通性不好时,散步是测试应用程序工作较好的方式,但驾驶或在火车上会更好。移动网络分为不同的信号,每个信号又覆盖在特定的区域。如果他们移动更快的话,移动设备进入与离开这些蜂窝网络也会更快。因为需要有不同蜂窝间的交换,这就影响到网络的连通性。你在测试的应用会临时失去连接并且定期重新获得连接,信号强度也会起起落落。主要依靠活跃数据连接的用例将会受到影响。如果你在开车,那么你不该成为那个实际执行测试的人。
拥挤情况
移动网络有一定的容量并且繁忙时通常存在不同的行为。这可以影响他们如何处理数据连接、调用和消息。如果你曾试图在一个大型音乐会使用电话,那么你会知道并不如往常一样可靠。你可以试着测试在繁忙信号时应用是如何处理连接损失及连接拒绝的。当然,也许你的老板不会仅仅为了测试的目的而为你买去格拉斯顿堡的机票,但是如果你能找到某处拥挤的地方会很有帮助。
绘制出来
重要的是,如果你开始在办公室或家附近寻找能复现上述场景的地方,确保在地图上记录下来或者在手机中的地图应用中标记星标。那样你可以构建一个供未来查看的路线,这将使你在同样条件下能够快速回去测试任何应用程序。这正是设备制造商和网络运营商所做的事情,他们已经设置了执行时所遵循的路线,例如,验收测试。
试试看
所以,在手机上测试时,为什么不试着走出办公室呢?你将在接近用户的情况下进行测试,并且你能找到在其它情况下无法发生的一堆缺陷。此外,在北半球正值夏天,你不会知道,太阳甚至可能发光。这将是一个走出去将你新发现的软件测试技能良好使用的好藉口。