您的位置:软件测试 >> 测试技术 >> 测试精品文章
多平台移动开发背景下的自动化测试和QA
作者:Felix Krüger(泽众软件原创翻译) 发布时间:[ 2014/12/24 13:55:58 ] 推荐标签:移动开发 自动化测试 QA

  持续集成
  我们使用带有一个基本的分支模型的Git作为我们的版本控制系统。它明确了一个主分支,发布分支,以及每个功能和bug修改的分支。用户故事完成后,开发者将一个功能作为一个整体合并到主分支中。为了保证不把不完整的功能整合到住分支中去,每个用户故事都生成默认任务。有验收(由产品经理和QA顾问审查)和代码质量(代码审查,静态代码分析,还有自动化测试)的默认任务。持续集成的基础是主分支,因为它应该始终包含一个“随时准备发布”的项目。每次提交(整合功能)都触发一个完整的开发周期,包含以下工作:
  ▪▪更新/建立依存关系
  ▪▪建立app(现在有三个不同的构建版本)
  ▪▪静态分析
  ▪▪单元测试
  ▪▪UI测试
  ▪▪通过内联网进行app分配

图2. 测试级别比例(好的,典型的移动开发项目)

  iOS和Android我们使用Jenkins,因为它是公司默认值,且由IT部门支持。尤其是在IOS开发中,我们遇上了(如果我们能选择Xcode服务器,可以避免的)Jenkins的初期问题。但是,Jenkins中的额外插件终使得将我们的IOS系统集成到CI中成为可能,比如,Clang Analyzer和管理环境变量或共享工作间工作空间的插件。

  后的思考:自动化在哪儿不起作用
  和描述的一样,我们的流程包含各种帮助我们实现我们客户的高质量期待的因素。整个团队都参与质量流程,每次sprint中的项目都能保证高质量。这多亏了自动化测试的帮忙。但是有的地方必须手动保证质量。团队进行桌面开发时不一定能立即想到这些,它们都列在下面了:
  ▪▪实用性和用户体验:
  这是人们广泛接受的必要的手动测试,但是移动app的客户很重视质量。随着指令的难度增加和方向的变化,我们发现我们必须更加重视质量——测试由团队及客户代表手动执行。此设置中,是由客户来确保不同设备作为其手动验收测试被检测的。我们自动化测试被限制为一个平台一个版本。
  ▪▪国际化:
  多语言桌面app中的正常流程是:让讲本地语言的人检测字符串,在app文本之外。由于显示屏尺寸变小,我们计划的超过15种语言的国际化比桌面app的更耗时间。我们的转换是由外部员工执行的,每次转换都必须手动测试以确保其在显示屏上使用恰当的空间。我们使用我们的UI测试通过创建可以被转换团队审查的自动截图来支持这个。

  质量重要——即使(尤其)是对于app
  本文表明:app开发要求至少要有与桌面商用app同级别的测试策略及质量保证工作。在某些方面,因为为两个平台开发一个app的挑战,对于高质量工作的要求更高了。从许多方面来说,我们可以看到移动开发不会改变要求的质量工作。不过能改变的是特定工作的相关性或重要性。对我来说,这在我们单元,集成和验收测试的分配以及在(一个非移动项目中并不重要或并不花费时间的)手动测试中很明显。我们的结论?质量重要——知道你要测试什么,为什么测试以及如何测试很重要。即使是对于移动app来说。

版权声明:本文出自 SPASVO泽众软件测试网:http://www.spasvo.com/news/html/20141224140712.html

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd