Caroline de Lacvivier 发表于:14年07月07日 20:28 [转载] DOIT.com.cn
移动测试自动化对性能至关重要
在QUEST大会2014上,其中三位演讲者在这一点上面的意见是一致的:移动领域的测试需要一定水平的复杂性、紧迫性以及持续卓越性,这是现有的传统软件测试所不具备的。“人们越来越难以取悦。如果app崩溃或者变慢,他们就会走掉(然后)购买类似的app,”SOASTA负责产品管理的副总裁Fred Beringer说。这些挑剔的用户满意度加上非常公开的用户评级,以及性能条一直都伴随这移动测试者。“期望很高,因此测试甚至更重要了,”Beringer解释道。
“大家都是在行动中使用移动设备,因此其耐性要低了很多,”Keynote System的项目经理Darren Madonick说。然而挑战并不止于此。Madonick继续讨论测试的各种错综复杂,包括变化的网络条件,不同的设备,不断升级的操作系统,越来越短的发布周期,除了这一切还得为用户行为以及最重要的,要为用户满意度负责。这是一项艰巨的任务,要求采取截然不同的软件测试方法。
IT解决方案公司Conflair的CEO Michael Yudanin说,自动化将会成为加速测试流程但又不会削弱测试可靠性的关键部件。“在PC领域自动化非常重要。而在移动领域更是必不可少。”
上述三位专家主持了今年QUEST大会的移动测试专题。在移动测试现状方面他们在会上分享了自己的一些见解。他们还就如何制定服务而非妨碍移动测试团队的测试自动化策略提出了一些建议。
自动化:移动测试的支柱
移动领域的时间期限非常严苛。他们需要异乎寻常的速度去开发、验证并发布。Beringer用“把自动化进行自动化”来描述一种尤其适合于这些严苛的发布周期的测试策略。“基本上你希望竭尽所能去自动化所有的东西,以便能压缩整个流程。这样的话,你要尽快地替开发人员收集反馈。”
移动领域自动化为什么如此关键的另一个原因是,有些特定的app功能是无法预测的,而且人工测试起来又非常的费时。就拿Yudanin的一个公司测试免费应用作为例子吧。免费应用在经济上要靠定期显示的广告。“这个公司了解有多少广告展示了,有多少是失败的,这些对它来说是至关重要的。现在一点人工测试都没有了。你可能需要坐上12或24小时才能确保一则新的广告出现。这肯定是自动化很好的候选。”
也就是说,肯定有移动测试不能—或者至少不应该自动化的地方。这些测试主要包括可用性和行为型测试,那些需要的是真正的设备和挑剔的思想者。“你需要有可视化的反馈;有人要对实际app给出自己的观点。观点是非常难以自动化的,”Beringer解释说。
Yudanin补充说,这些行为测试提供了部分关于软件弱点的最有力的洞见。“大家在旅行时测试它们。大家在红绿灯旁坐着时测试它们。他们用一只手测试。总能带回一些重要的见解。”
给移动测试者的自动化建议
按照Beringer的说法,移动测试者最强劲的技能之一是,如果自动化的话,有能力识别可带来最强劲投资回报(ROI)的测试。相反地,移动测试团队最大的错误之一是在没有进行足够的分析之前匆忙上马自动化项目。“他们没有对一切需要测试的东西以及哪一个先要自动化(这样才能带来最好的ROI)进行分析,”Beringer说:“他们做自动化只是因为人人都在做,但他们并没有摆出实际的可跟踪的目标。他们没有列出指标去理解自己在哪里进行他们的自动化。”
Beringer建议测试团队在此进程的早期理解他们的目标。团队也应该给这些目标增加指标以便跟踪其过程。比方说,如果团队目标是减少进入到生产环节的bug数量,跟踪之。“这样的话,如果你没有成功,至少你可以后退一步,看清楚自己在哪里,然后做出变化。”