测试移动应用程序的十大技巧

标签:移动应用移动开发测试程序测试技巧

访客:6448  发表于:2016-10-19 10:04:31

移动应用程序行业是个竞争异常激烈的领域。除了许多公司将业务应用程序改用移动平台外,苹果的应用程序商店里面有200多万个应用程序,谷歌的Play Store提供了220多万个应用程序。据PocketGamer声称,今年到目前为止,每天向应用程序商店提交的应用程序数量平均在2000个左右。任何一款应用程序要想脱颖而出,就需要有一流的质量,而这需要全面的设计和测试。

测试移动应用程序的十大技巧

试图构建一款出色移动应用程序的移动开发团队应了解下面这十个实用的技巧:

1. 测试合适的平台。

你的测试策略不一样,这要看针对哪种平台来构建应用程序:是原生平台、基于Web的平台,还是两者的混合体?原生应用程序在体验方面提供了最大的控制度,但是由于设备硬件和操作系统的多样性,在多种平台上对它进行测试所费的精力要大得多。基于Web的应用程序测试面临自身的挑战。你需要处理多种多样的浏览器(是针对设备来开发还是针对标准浏览器来开发)、性能/负载测试,可能最重要的是,在响应式和自适应Web设计时代下,应用程序如何兼顾不同的设备屏幕尺寸。无论你测试哪种平台,都需要你的团队有相关的测试专长。

2. 了解最终用户。

想构建一款成功的移动应用程序,你需要关于最终用户的许多数据。只有你了解了最终用户如何与应用程序进行交互,才能做出明智的业务决策,定义支持政策,确定开发优先级,并且完善用户体验。与开发团队一起把分析机制做入到应用程序中。衡量最终用户数据非常重要,不仅可用于确定相关的测试策略,还可用于将来做出业务决策。

3. 功能放在首位。

核心功能是任何应用程序的主要卖点,一定要非常可靠。人们寻求应用程序是为了执行特定的功能。不全面或不完备的功能会导致被人遗弃,所以确保在你开始下一步工作之前,主要功能得到了全面实施和测试。

4.用户体验放在次要。

移动应用程序一定要易于访问、简洁漂亮。如果用户界面设计得很差劲,或者功能不够流畅,你就要重新搞过。测试人员必须考虑易用性,把任何问题指出来。别等到应用程序准备好测试才来评估最终用户。一旦原型或设计模型准备就绪,就可以在开发周期的早期阶段开始测试用户体验。

5. 别忘了情感投入。

最近发布的移动游戏《Pokémon GO》表明了情感投入对于移动应用程序的重要性。在移动时代,有成百上千个应用程序奉行同样的业务理念,但只有一小撮占有主导性的市场份额。就算你能让人下载和安装你的应用程序,也不能保证他们会经常使用。许多应用程序在用过一次后就被人遗弃。构建鼓励用户成为回头客的钩子(hook)和策略很重要。与开发团队外面的一群代表性最终用户共同测试应用程序的情感投入。

6. 巧妙的平衡测试。

在基于脚本的测试与探索性测试之间要精心保持好平衡。切记,基于脚本的测试无法有助于评估情感投入,这种类型的测试通常要花更长的时间才能获得所需的覆盖范围。对于检测用户体验问题、边缘情况场景和特殊使用条件而言,基于会话的测试则来得更高效。两者要合理结合,确保覆盖范围尽可能全面。

7. 定义支持政策。

不可能测试浏览器、平台和设备的每一种组合。及早定义你的支持政策,每隔三个月就要修订一次,以便跟上移动市场的步伐。使用最终用户数据和市场研究,找出你的目标设备和平台版本。最全面的测试应该专注于代表最多最终用户数量的组合。

8. 使用云服务在更多设备上进行测试。

你在开发过程中可以使用仿真器,但是最终你的应用程序得在实际设备上加以测试。备齐一整套的所有移动设备是不现实的。不妨考虑使用基于云的设备管理平台,它会让整个团队易于访问一系列广泛的设备和平台版本。

9. 完善和优化。

有几种特定类型的测试非常适合于完善和优化应用程序。与往常一样,可以考虑使用alpha/beta测试,用于重大的交付里程碑。使用A/B测试弄清楚最终用户青睐什么,并根据反馈做出最终决策。使用优化测试来做出细小、简单的用户界面(UI)和功能变化方面的决策。假门测试(Fake-door testing)还可以用来在开发的早期阶段确定最终用户对哪些新的功能最有兴趣。

10. 别忘了性能测试。

移动设备在多种不同的环境下运行,测试时很容易忘记这一点。使用实际设备来搞清楚你的应用程序如何处理不同的信号强度,在其他应用程序运行的情况下多任务处理,在手机的核心功能之间切换,以及在不同的电信运营商网络上运行。你需要看一下许多不同的场景,才能发现所有可能出现的性能问题。

结束语

开发一款成功的移动应用程序并非易事,但如果拥有合适的移动测试策略,你其实可以提高成功的几率。

来源:51CTO译稿

评论(0)

您可以在评论框内@您的好友一起参与讨论!

<--script type="text/javascript">BAIDU_CLB_fillSlot("927898");