一 、移动自动化测试的现状与开发商面临的挑战

不可否认,软件测试在整个软件生命周期都极其重要,是软件生命周期不可缺的一环,其实并非发生在编码结束之后,而是更早的介入将会降低软件开发后期维护,修改的成本,对提高软件质量具有重要的意义。自乔布斯开启了智能手机时代,让手机从简单的只能打电话,发短信变成了个人的信息处理中心,兼顾了通信,娱乐,资讯查阅,甚至办公信息处理的功能,智能手机改变了个人通信时代,并且衍生出新的产业与生态,各种开发商在生态链中扮演着不同的角色,对于一个方兴未艾并欣欣向荣的产业,似乎大家都奔着占有市场的方向去的,希望尽快开发出产品,快速去市场推广,然后改进。

新兴市场国家中国似乎在这一次浪潮中不甘于成为跟跑者,希望大家是站在同一起跑线上,开发者与开发商们似乎想的更多的是产品的设计,构思,未来的运营,甚至更多关注的是商业模式。笔者在此又要提到的是“中国制造”的诟病;质量问题,要想从中国制造变成中国创造,首先创新当然不可少,其实中国不乏有创新的产品,这是首次,但是最重要的基础是产品的质量。德国的产品大家都用过,其实最重要的是德国工程师的严谨铸就了高质量的产品,当然首先是核心技术,笔者认为一个产品的质量关系到消费者的口碑。

现状是移动互联网大潮下开发商更多的关注在产品的产出率,如何更快的发布移动应用,将产品推向市场,更多的产品研发团队关注的是技术实现与产品的创意,甚至产品创始人不确认这个产品是否还有明天,卯足了劲拼的是开发速度,尽快占有市场。移动互联网应用开发商面临的问题是:人力资源不足,团队规模小,现有的团队资源都集中在产品设计与代码开发上了,留给质量控制的人力资源寥寥无几,甚至没有,最大的问题是团队面临Android的碎片化问题:市面Android 设备多,屏幕尺寸,分辨率大小不一,据粗略统计光是市面常用的几大手机商的手机型号就是有300种,移动应用开发团队大多是敏捷是开发,如何在短的迭代周期内做到在这么多种手机上测试?就算是能测试,还有Android 1.5到 Android 4.2.2版本的问题,再加上有的手机语言不同, 电信运营商的不同带来的不同Android版本(如果是产品要做海外市场), 确实是对移动产品开发团队的最大挑战,所以造成的局面就是在Apple App store上的应用收费的多于在Android Market上的, 开发iOS上的App收益好过在Android平台上的。因为开发商不能确保App在所有的Android 手机上都是没有问题的。

二, 移动测试解决问题的思路

在软件开发过程中能解决以上问题的途径是要找到各种手段的综合整体解决方案,其中针对敏捷开发模式的最有效的方式就是采用自动化测试。最有效的回归测试,将大量重复性的,繁琐的劳动交给机器去完成,有限的自动化测试资源放在产品的易用性,用户体验方面的测试,包含模拟的性能测试都可以由机器去完成,最重要的是可以模拟人工在所有的手机上去测试,并且是同时,这将是彻底解决Android碎片化问题,开发团队人力资源短缺的手段,在Google没有解决碎片化问题之前,相对开发商来说花费的成本是一套自动化测试软件,加上自动化测试工程师的成本(想想一个自动化测试工程师可以以一当十,那是多么激动人心的事,至少测试工程师们不再做面对一堆手机进行全覆盖测试这样的僵梦),甚至自动化测试工程师可以将测试时间定在下班以后让PC自动运行测试脚本在各种手机上。那开发团队需要配备什么人呢:自动化测试工程师+自动化测试软件+用户体验工程师(兼手工测试),搞定那一大堆的各种型号上的测试不成问题。

三,移动应用自动化测试的实施

1. 前提条件:自动化测试软件,自动化测试工程师已经参加过培训,购买或者租赁了需要测试的设备

2  测试准备:确定自动化测试的范围(无法自动化测试用例交由用户体验工程师完成)

3. 制定自动化测试计划:包括测试前提,测试实施的范围,人力资源,风险,风险控制措施,用到的测试技术,策略

4.设计自动化测试用例

5. 编写,调试自动化测试脚本

6. 自动化测试脚本执行

7  测试报告与结果的评估

四,总结:

无论是手工测试还是自动化测试, 目的都是控制产品质量,找到移动应用的测试与PC端应用的测试不同才是关键,不同的开发模式也注定了移动应用的测试需要具备自动化测试的基因,当产品的质量成为开发者重要关注的时刻,一个成熟的开发商已经完成了团队专业人员素质的提升与团队自身的强大的华丽转身,在一个大鱼吃小鱼,快速成长,爆发的市场环境下已然在向同行展示着自己的强大与快速反应,快速反应本身就将注定企业是市场的强者。

 

下一篇将介绍自动化测试软件的选择与评测