从桌面应用自动化测试看移动应用自动化测试

自从图形化界面成为个人桌面电脑的主流,应用程序复杂程度与日俱增,针对人机交互的自动化测试迫在眉睫,从而在市场上涌现了一大批针对图形界面应用程序功能测试的自动化测试工具(参考链接1)。2001年QTP第一个版本发布;2002年Robot初始版发布。自此,自动化工具已经经历了十年的发展。随着近两年移动应用呈现爆炸性的增长,移动应用自动化测试工具也开始陆续呈现(参考链接2)。

  需求的延续

  无论从PC端应用的自动化测试,还是移动应用的自动化测试,人们的关注点从未转移,期望也从不改变,那就是,尽可能多的模拟人工测试动作和相应的结果检查,从而释放手工劳动,替代大量重复性的执行和验证工作。进入移动应用时代,移动应用项目开发一直走的是“短小精干”的路子,即应用程序小而精。开发模式也抛弃了传统的规范流程,热衷于敏捷式开发。版本发布周期约来越短,迭代频密。这些似乎与自动化测试遥不可及。但是,随着移动应用逐渐从个人娱乐领域渗透到商业应用,诸如金融、办公、政务等方面的应用比重逐步扩大,对移动应用质量的要求也越来越高,自动化测试始终会回到人们的视线之内。在加上安卓特有的碎片化问题,使得安卓平台自动化回归测试和兼容性测试的呼声极高。

  理念的传承

  回顾桌面应用的自动化测试历程,我们看到,工具的发展经历了从最初“坐标点操作”过渡到“对象识别”的过程。移动应用测试工具走的路子也有几分相似。以开放的Android平台为例,最开始出现Monkey/MonkeyRunner等坐标点操作的工具(后来有很多工具开发商做了对MonkeyRunner的封装);之后出现了如Robotium等基于源码层面对于界面控件识别的工具;也有一些工具开发商如DroidPilot.com推出了纯粹的对象识别工具;当然,也有一些如PerfectoMobile.com的工具开发商,为了兼容iOS/BlackBerry/Windows Phone等平台,采用图像识别技术。但无论如何,“关键字驱动”、“数据驱动”等理念已经是传统PC行业自动化测试的成功经验,移动应用测试方面应该借鉴。再搭配性能测试工具、轻量级测试需求管理、用例管理、缺陷跟踪等工具,相信足以成为移动应用项目质量保证的基础工具支撑。

  有所不能vs凡事都能

  似乎所有管理者都期望一旦引入自动化测试,则万事大吉,貌似自动化能做到全方位的测试服务,可以释放测试工程师了。但事实求是的说,即使在拥有十年历程的传统自动化测试行业,自动化所能涉及的测试用例比例也是有限,通常覆盖60%~80%的测试用例,已经能说是不错的成绩了。问题是,项目的成本和进度,以及测试人员的配备,是否能足以支撑自动化测试持续的进行。否则事半功倍,未免太可惜了。借鉴传统项目的自动化测试失败案例,对于项目预算相对较少的移动应用开发项目,考虑引入自动化测试的确需要慎之又慎。

  精益求精

  然而对于自动化测试工程师来说,通常并不满足于部分用例的自动化测试,甚至仅仅是自动化冒烟测试。他们总想走的更远,甚至不惜代价去完善一些凤毛麟角之功能。当然,从这一点也可以看出自动化测试工程师们精益求精的精神,同时,也对自动化测试工具开发者提出了更高的要求。从目前发展现状来看,他们也的确在着眼于提高工具的测试深度和广度,增强工具易用性,剥离工具对于源代码的依赖,延伸传统自动化测试的方法论。希望看到移动应用自动化测试领域呈现蓬勃的发展。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-19 19:53:48

从桌面应用自动化测试看移动应用自动化测试的相关文章

图标-桌面开发暴风看电影这样的界面是什么技术实现的?

问题描述 桌面开发暴风看电影这样的界面是什么技术实现的? 暴风看电影 那个会动的图标 以及程序界面切割屏幕 是如何实现的呢?求详细技术 多谢!

关于如何做自动化测试和何时做自动化测试的一点见解和疑问

中华传统文化源于<易>,成于孝,孝为德之本.孝顺:孝则顺,不孝则不顺. 不久前,参加Thoughtworks组织的一场自动化测试的分享,同事由于出差国外不能参加,特意嘱托我提问两个问题: 在互联网这个将"敏捷"与"持续集成"进行积极实践的环境里,"敏捷测试"与"自动化测试"成了一个大家经常探讨的话题, 那么自动化测试最佳的实行时间是在什么时候?如何推行最有效的自动化测试? 以下谨代表个人观点: 个人整理了一些测试最

小萌宝桌面宠物怎么看美图?

  1.单击小萌宝电脑桌面宠物,在弹出的菜单中点击进入"看美图". 2.这样就可以看到多多的美图. 温馨提示: 有多项种类,不喜欢可以挑选上下图,喜欢还能下载下来.

腾讯Android自动化测试实战

腾讯Android自动化测试实战 丁如敏 盛娟 等著 图书在版编目(CIP)数据 腾讯Android自动化测试实战 / 丁如敏等著. -北京:机械工业出版社,2016.10 ISBN 978-7-111-54875-1 Ⅰ. 腾-   Ⅱ. 丁-   Ⅲ. 移动终端-应用程序–程序设计   Ⅳ. TN929.53 中国版本图书馆CIP数据核字(2016)第223713号 腾讯Android自动化测试实战 出版发行:机械工业出版社(北京市西城区百万庄大街22号 邮政编码:100037) 责任编辑:

从0到1开发自动化测试框架

一.序言 随着项目版本的快速迭代.APP测试有以下几个特点: 首先,功能点多且细,测试工作量大,容易遗漏: 其次,代码模块常改动,回归测试很频繁,测试重复低效: 最后,数据环境多样,用户场景复杂,功能回归覆盖难全面. 为节省成本,保证高效及高质量迭代,我们需采用更高效的测试方式,App自动化测试是较高效的手段. 之前自动测试实践过程中遇到的诸多问题(代码复用率低,Case开发及数据构造繁琐,问题定位困难,学习成本高等),为解决相关痛点问题,我们重新实现了一套APP自动测试框架.本文将着重介绍技术

无用的自动化测试

自动化测试,特别是UI级的自动化测试是一件费力而不讨好的事情.自动化测试使得测试人员疲于应付,朝不顾夕,如坐针毡,苟延残喘.UI级的自动化测试看起来很美好,就像罂粟,如果你经不住**冒然尝试,那么后果很严重,下场很惨淡. 也许这个世界上就不应该出现自动化测试这个东西,起码在中国不应该出现,因为这个是无效的,无用的,宿命是失败的东西. 应该怪罪于一小撮别有用心的积极分子,他们推广敏捷,推广自动化测试,推崇人应该追求挑战,追求自由,应该把重复性的工作交给机器去完成.他们也许目的是崇高的,是正确的,但

在做自动化测试之前你需要知道的

什么是自动化测?   做测试好几年了,真正学习和实践自动化测试一年,自我感觉这一个年中收获许多.一直想动笔写一篇文章分享自动化测试实践中的一些经验.终于决定花点时间来做这件事儿. 首先理清自动化测试的概念,广义上来讲,自动化包括一切通过工具(程序)的方式来代替或辅助手工测试的行为都可以看做自动化,包括性能测试工具(loadrunner.jmeter),或自己所写的一段程序,用于生成1到100个测试数据.狭义上来讲,通工具记录或编写脚本的方式模拟手工测试的过程,通过回放或运行脚本来执行测试用例,从

游戏项目中的自动化测试和持续集成

现在,许多游戏项目要么跳票严重,要不就是发布时Bug多多.当然,这样的现象并不仅存于游戏工业.例如,根据2001Standish集团发表的那份 声名狼藉的报告"极度混乱"所表述的,70%以上的软件项目要么被取消,要么严重的超时和超支.然而,游戏是软件开发复杂性的最佳代表,不同技能的人需要 协同工作,这也就是某些人所说的游戏项目中高风险因素所在. 软件项目延期.Bug满天飞和失败的原因是多种多样的,但看起来除了随产品特性不断变化之外,测试和品质管理是永恒的问题.以我们的经验来看,相当多数

《Selenium自动化测试指南》—第1章1.1节自动化测试基础

1.1 自动化测试基础 Selenium自动化测试指南1.1.1 软件测试概述 即使是经验非常丰富的程序员,在编写代码时也很容易出现错误,这些错误也许是由于需求不明确,也许是由于设计问题,也许是编码中出现了失误等.但无论是怎样的错误,若不及时处理,都会降低软件的可靠性,严重时甚至会导致整个软件的失败. 为了排除这些错误,人们引入了软件测试的概念.通俗地说,软件测试就是为了发现程序中的错误而分析或执行程序的过程. 据研究机构统计分析表明,国外软件开发机构40%的工作量都花在软件测试上,软件测试费用