网页自动化测试平台需要分别考虑手机app和网页版的吗

当前位置: &
分析手游与App测试四大区别
  随着智能设备的普及和移动互联网的兴起,各家互联网巨头纷纷在往移动端布局和转型,同时初创的移动互联网公司也都盯着这个市场希望分一杯羹。在这个大环境下,互联网的重心已经慢慢从Web端转向了移动端,而移动端的软件测试也变得越来越重要了。
  在移动端的软件里,手游又是其中非常大的一块。从下面的图可以看出,智能手机的普及和手游玩家的增长是密切相关的:
  笔者曾经从事过手机App的测试开发工作。1年前加入鹅厂后转行做了手游测试工作,通过摸索实践,发现两者在相同的测试理论基础之上,其实有着非常不同的测试场景和测试需求。下面就为大家整理一下其中的基础部分,涵盖了两者在手工和自动化测试方面的不同,希望能帮到想从App测试转到手游测试的朋友们。
  1.APP自动化测试完全不同于手游自动化测试
  手机App和手游的开发技术不同,这导致了两者的自动化测试技术是截然不同的。
  以安卓开发举例,手机App一般使用Android
SDK开发,使用Java编写。通过Android提供的服务,我们可以获取App当前窗口的视图信息,进而查找和操作按钮等控件,以完成自动化测试,如
Uiautomator。这个过程是标准化的,从技术上来说没有任何难度,因此各个公司各个App自动化测试的方法都大同小异。
  但手游的开发却不是这样。手游一般使用引擎开发,现在著名的有cocos2d和unity3d。两者都是使用引擎自带的语言进行开发,主流的分别是c++和c#,虽然在开发过程中也有按钮等控件的概念,但当运行时由引擎渲染后就变成了一副简单的图片:
  游戏中看到的只是一副简单的图片,按钮已经不是控件了
  因此,我们就无法通过Android自带的服务来找出游戏中的按钮了,也就没法进行常规的自动化测试。
  如果有人说自己的技术是基于Android原生控件识别的,那就一定做不了手游自动化测试。这个问题大家都在探索解决方案,我们现在通过注入引擎SDK到安装包反射出引擎层控件的方法进行自动化测试,实践下来具有很好的效果。
  2.玩法不同导致功能测试更复杂
  2.1 随机性
  游戏的场景和过程是动态并且伴有随机要素的,这体现在两点。
  1.你重复玩一个游戏关卡,很可能两次出现敌人以及游戏过程是不同的。
  2.你玩一个手游的时候不进行操作,敌人和周围的场景也在时刻发生改变。
  这两点对自动化测试带来了极大的挑战,如果测试脚本写的不够灵活,很容易导致上一次运行成功的脚本这一次就无法运行了。我们需要在测试脚本里适当的加入探索和自适应的功能。
  App测试就没有这个问题,大部分App的使用方式都是静态且可以重复的。因此自动化测试可以完全按照测试脚本进行编写并执行。
  2.2 探索性
  手游和App的第二个玩法不同在于探索性。App一般都是功能性的,好的App需要把它的功能简单明了地告诉用户。而游戏重在娱乐性,需要给玩家一定的探索要素。因此在做手游测试的时候,我们需要测试游戏的用户帮助说明是否清晰,同时后续的游玩和探索过程和前面给出的说明之间是否有合理联系,规则的指示是否有足够的提示性。
  2.3 难度测试
  App希望做的越简单,用户的使用成本越低越好。而手游是有难度设置的。我们在做手游功能测试的时候,会把资源和等级调到最大以方便后期功能的执行,但当所有的功能测试都做完后,我们需要把自己的资源初始化,以“回归”一个普通玩家的水平,通过普通玩家的视角来查看游戏的难度提升是否合理,资源分配是否均匀。
  2.4 关卡测试
  App的使用是功能性的,一个功能的重复使用总是一样的。而手游具有关卡的概念,即便是同一种玩法,关卡和关卡之间也有细微的差别,前面的关卡测试正确了,并不表示后面的关卡一定是正确的。作者曾经碰到过一个手游的Bug,当游戏进行到某个后期关卡时,游戏一定会崩溃。而导致这个Bug的原因也很简单:这个关卡的图片资源在打包客户端的时候没有加入。因此当我们玩前面的关卡时并不会触发这个Bug,但一到后面的关卡就出错了。
  这类Bug虽然原因简单,但确实非常难测试到。因为各个关卡的玩法虽然都一致,但一个游戏的关卡数却是非常多。如果我们要遍历所有的关卡走一遍,那耗费的人力成本将是非常大的。对于这类重复性的关卡测试,建议使用自动化脚本进行遍历。
  2.5 PvP测试
  App的使用普遍是单人的,而手游往往有玩家对战的PvP模式,好的手游更是具有实时的PvP模式。由于两个玩家实时进行游戏合作或者对战,因此网络延迟的测试就变得非常关键了。我们在测试中需要模拟不同的网络对游戏延迟的影响,观察两个玩家的状态和数据是否一致,同时体验网络延迟对游戏手感的影响,这在传统的App测试中是完全不需要的。
  3.手游测试更看重商业类测试
  3.1 支付测试
  现在的手机App基本上以广告收入为主,并不会直接向用户收取费用。而手游的直接消费群体就是玩家,在游戏过程中伴随着玩家大量的支付操作。由于这类操作和玩家的金钱密切相关,因此支付类的测试在任何游戏中都要做最高优先级的保证。
  我们需要在各种严格的环境下保证玩家的支付操作被正确执行或者得到了正确的失败提醒。例如当网络状况很差的时候,用户在支付界面的多次确认操作必须只能被执行一次。当用户在支付过程中断网,未收到货物时,游戏需要在玩家的网络恢复后第一时间补发货物,并作出明显的提示。另外支付操作需要在大量不同系统、不同型号的手机上进行适配操作,以降低出错的可能性。
  3.2 安全测试
  对于大多数非支付类App来说,安全并不是一个特别大的问题,只需要保证登录鉴权的安全性即可。App是一个方便用户的工具,没有人会在用自己的计算器App时候锁定内存,或者把加法操作变为乘法操作。
  手游在这点上很不一样,手游与玩家在某种程度上具有“对抗”要素,玩家要战胜游戏关卡获得奖励,而游戏关卡要设置一定的难度阻止玩家。如果游戏的外挂横行,玩家不需要任何对抗就能获得胜利,一方面会对游戏的平衡性造成影响,使得某些玩家的资源大大超过别的玩家;另一方面从长远看会使得这个游戏变得无趣,从而造成玩家的离开。
  对游戏进行安全测试的普遍方法为通过锁定/修改内存来锁定和修改游戏资源、通过修改游戏内存来改变游戏逻辑简化游戏流程等。
  3.3 收益测试
  一般的手游App没有付费用户的概念,所有的用户都是使用同一个功能。即便有付费用户,他们和普通用户的区别也非常明显:付费用户可以使用一些额外功能。手游的付费用户和非付费用户的界线并没有这么明显。手游里根据用户付费的多少分为非R用户,小R用户,大R用户等。我们需要在策划的时候就计算好这些付费用户的投入和回报,并在测试的过程中验证这些。举两个例子,如果一个大R用户获得的回报,非R用户只用很少的时间就能获得,那大R用户一定不满意,这个收费项目的设置就是不合理的;如果两个购买项的金额相同,而收益明显不同,那也会造成玩家的不满。
  4.后台性能不同
  虽然我们这里讨论App和手游主要是前端客户端,但其实两者的后台性能也有区别。相比一般的App,手游的在线人数明显更有规律性且更集中,一般在中午12点和晚上8点是两个明显的高峰。因此手游的性能测试就要贴合这种用户模型,能够处理极值情况下的服务器性能负载。当然,两者都会受到节假日较大的影响,这个对于App和手游来说是一致的。
  也来谈下相似之处
  除了上面提到的这么多手游测试和App测试的不同点,其实两者也有很多相似之处,在测试的时候都不能遗忘,例如手机来电、短信的中断测试,碎片化的兼容性测试(尤其是安卓),客户端运行在手机上的性能测试,网络较差或者网络频繁切换的弱网络测试,已经用户体验和UI测试等。
发送邮件至【第一手游网新闻邮箱 】,精彩手游资讯尽在掌握
相关阅读:
新闻头条:
下载第一手游APP
抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活 &&《健康游戏忠告》扫一扫下载手机客户端
扫描我,关注团购信息,享更多优惠
||网络安全
| | | | | | | | | | | | | | | |
||电子电工
汽车交通| | | | | | | | | |
||投资理财
| | | | | | | | | | | | | | | | |
| | | | | | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
||外语考试
| | | | | | | | |
| 视频教程|
自动化测试最佳实践:来自全球的经典自动化测试案例解析
定价:¥89.00
校园优惠价:¥178.00 (200折)
促销活动:
此商品暂时缺货(可留下联系方式,到货将第一时间通知您)
电话号码:
*邮箱地址:
原书名:Experiences of Test Automation: Case Studies of Software Test Automation
原出版社:
ISBN:0上架时间:出版日期:2013 年4月开本:16开页码:434版次:1-1
所属分类:
“你手中的这本书是关于自动化测试的不可多得的至宝,它讲述了在自动化测试的实践中什么是好实践,什么不是。本书使你避免陷入自动化测试的泥潭,从而更可能取得成功。”
――Linda Hayes
&&& “在本书中,Dorothy Graham 和Mark
Fewster通过一系列引人注目的案例研究展示了自动化测试中的各种学习经历,每个案例研究都讲述了自动化使用的工具和方法。本书内容如此全面,是同类书中第一本带读者深入到自动化测试世界中的书籍。本书包含了许多案例研究,案例研究讲述了在自动化过程中都发生了什么,案例包含的项目来自各行各业,测试环境包括了各种技术环境。通过找出各个案例之间的类似点以及对某些主题的重复,能够帮助读者更加理解应该避免哪些错误。通过本书,读者可以了解到需要做些什么才能取得测试自动化的成功。
――Andrew L. Pollner, ALP International Corporation的总裁和CEO
&&& “在畅销书 《Software Test Automation: Effective Use
of Test Execution Tools》出版之后很多年,Mark Fewster和Dorothy
Graham又写出了一本畅销书。敏捷方法已经赋予自动化测试在当今测试实践中的主导地位。本书从各种不同视角讲述了自动化测试的案例研究,这些案例写得都很好,这使得本书非常有实用价值。我强烈地将本书推荐给那些从事或者想要从事自动化测试的人。”
――Erik van Veenendaal,Improve Quality Services的创始人,TMMi
Foundation 的副主席
“阅读本书就像参加一个测试学术会议一样,书中包含了多个案例研究和对自动化测试深刻的见解。但是本书要比参加学术会议便宜得多,而且还不需要到处奔波去参加会议。令我印象尤其深刻的是,本书在第0章中浓缩了我能想到的使得自动化成功的各个方面。这是在学术会议中得不到的。
――Hans Buwalda
“本书包含了大量令人兴奋的、写得很好的、涉及范围极广的案例研究,案例讲述了在现实世界中自动化测试的经验、技巧、教训和其他值得记住的要点。对于任何需要向经理和同事证明在自动化实践中什么是好的、什么是不好的人员来说,本书都是非常有用的。”
――Isabel Evans,FBCS CITP,质量经理,Dolphin Computer Access
“本书首先讲述了使得自动化测试有效的基本手段。之后讲述了各种情境下的自动化测试中值得注意的事项。本书会指导你:因合理的缘由而应用自动化测试,如何采取适合于公司和项目的自动化方法,以及如何避免各种错误。对于任何参与测试的人――无论是管理人员、测试人员,还是自动化测试人员,本书都非常有价值。”
――Martin Gijsen,自由的测试自动化架构师
“Fewster和Graham为我们提供了连接自动化测试理论与现实之间的一座重要桥梁。自动化测试的框架设计和实施是一种非精确的科学,亟须一套可复用的标准,而这套标准只能从不断涌现的先例中总结出来,而本书则能帮助建立这样的先例。就如同在司法系统中使用先前判决案例作为支持当下做出法律判决的依据一样。在自动化框架设计与实施上,从本书所能习得的各式案例,适用于帮助人们做出当下的决定,支持这样的活动或教育相关人员。1
――Dion Johnson,Automated Testing Institute(ATI)软件测试顾问及首席咨询师
“即使我一贯秉持‘自动化测试无用’的立场,本书也的确让我驻足思考。它让我开阔了思维,同时也让我做出‘噢,原来这种情况我没考虑到’的反省。对于那些想要参与自动化测试的公司,我推荐将本书作为入门参考书。”
――Audrey Leng
“本书是一个惊人的成就。我相信它是自动化测试方面写得最好的书之一。Dot和Mark通过对28个案例研究的叙述给予我们一个完全崭新的概念,包括引人注目的小窍门、真知灼见以及经验教训。这些案例研究来自于生活经验中,既有成功的,也有失败的,包括了自动化的多个方面、不同的环境以及多种混合的解决方案。书本来就是智慧之源,而作者采用了非常好的方式――利用叙述故事的形式给我们留下很深的印象,从而增强学习效果。无论读者处于何种层次,本书是所有想要进入或者已经进入自动化测试领域的人所必备的。它的确是同类型书中独一无二的。”
――Mieke Gevers
《自动化测试最佳实践:来自全球的经典自动化测试案例解析》中文简体字版由Pearson Education(培生教育出版集团)授权机械工业出版社在中华人民共和国境内(不包括中国台湾地区和中国香港、澳门特别行政区)独家出版发行。未经出版者书面许可,不得以任何方式抄袭、复制或节录本书中的任何部分。
《自动化测试最佳实践:来自全球的经典自动化测试案例解析》封底贴有Pearson Education(培生教育出版集团)激光防伪标签,无标签者不得销售。
《自动化测试最佳实践:来自全球的经典自动化测试案例解析》是世界名著《Software Test Automation》的姊妹篇,是自动化测试领域的至宝,是每一位测试人员都应该反复研读的一本书。
它是Dorothy Gramham、Mark Fewster、Lisa Crispin、Alan Page等30多位来自世界各地的自动化测试专家和大师的经验结晶,通过对30多个来自世界各行各业的经典测试案例的分析和研究,讲述了最新的自动化测试工具、技术、方法,以及自动化测试的实施、引导和管理,不仅包含大量最佳实践,还包含很多失败的教训。让读者不仅能吸取前人留下的宝贵经验和远见卓识,少走弯路,还能更好地领会自动化测试的自然规律。
  Dorothy
Graham 软件测试领域的大师级人物,有着40余年的软件测试经验,曾获得软件测试领域欧洲卓越成就奖。世界知名的顾问,Grove
Constaltants公司的创始人,在软件测试的学术研究方面有极深的造诣,写作经验也极为丰富,著有软件测试领域的世界名著《Software
Test Automation》,影响深远。
Fewster 软件测试领域的大师级人物,在软件测试和自动化领域有30余年的工作经验。现担任英国计算机协会软件测试专家兴趣小组(BCS
SIGiST)和信息系统考试委员会(ISEB)的委员。最近20年致力于为软件测试的各个方面提供培训和咨询服务。经常在国内和国际会议与研讨会上发表演讲,并且与Graham合著了软件测试领域的世界名著《Software
Test Automation》。
  朱少民,国内软件测试界的领军人物和资深专家,二十多年来一直从事软件测试、质量管理和过程改进等工作,先后出版十多部著作,包括测试方面的畅销书《完美测试》、《全程软件测试》、《轻轻松松自动化测试》、《软件测试方法和技术》等,经常在国内外会议上发表演讲。之前曾任思科-网迅(中国)软件有限公司QA高级总监,目前是同济大学软件学院教授、中国科技大学软件学院教指委委员。
《自动化测试最佳实践:来自全球的经典自动化测试案例解析》
第0章 案例研究反思
0.1 管理层问题
0.2 技术因素
第1章 敏捷团队的自动化测试之旅:第一年
1.1 本案例研究的背景
1.2 整个团队的承诺
1.3 建立自动化策略
1.4 利用验收测试驱动开发,使用FitNesse测试GUI
1.5 使用增量方法
1.6 正确度量
1.7 庆祝成功
1.8 引入工程冲刺
1.9 团队成功
1.10 持续改进
  时光荏苒,转眼间本书的翻译工作已经进行了半年多,算是没有辜负出版社的期望,按时完成翻译任务。当初,看到本书的英文版,就有翻译本书的强烈愿望。本书作者Dorothy Gramham和Mark Fewster之前写的《Software Test Automation》就很有影响,作为其姊妹篇,本书一定会更胜一筹。更让我感兴趣的是本书的组织结构和众多引人入胜的故事。
  本书的作者实际不只是Dorothy Gramham和Mark Fewster他们两位,而是30多位来自世界各地的自动化测试的成功探索者,包括Lisa Crispin、微软的Alan Page等测试大师。本书可以看做是这些自动化人员的自传,每一章自成体系,一章一个案例,进行深入的剖析,30多个案例形成了自动化测试的一顿大餐。这些从事自动化测试多年的测试人遍布全球,分布在美国、英国、德国、印度、荷兰、挪威、丹麦、比利时、加拿大、澳大利亚等地,同我们分享他们在自动化测试过程中所经历的酸甜苦辣,其中有过迷茫,有过失败,也有喜悦和激动。自动化测试的故事,有浪漫之旅,也有历经坎坷、披荆斩棘才走完的艰辛之路;更有凤凰涅、绝地逢生,迎来自动化测试春天的感人故事。这些自动化测试之旅,短的有一年,而长的会跨越六年、持续十多年,甚至像《星球大战》那样,有前传,还有后传。每个故事都是他们亲身经历的,让我们感同身受。
  本书就像是一本写实的小说,里面有很多个性鲜明的人物。如喜欢将还没有通过各项测试的正在开发中的版本向客户展示的经理,也有偶然间因为某些突然冒出来的想法从开发转向测试的技术人员;既有人认为自己作为测试人员不应该写代码,也有经理认为能写代码的都是程序员,都应该去开发部门等;既有自己做了很伟大的事情却因为公司制度以及测试衡量标准的原因导致没有能够升迁的技术人员,也有为各种软件公司提供咨询的专家。当我们阅读本书的时候,仿佛自己也参与到了这些项目的自动化测试之中。当看到项目所取得的惊人成就时,一种自豪感会油然而生;当看到应用自动化导致项目越来越糟时,自己也会感到迷茫,不知何去何从;在突破层层困难,拨开云雾见天日之时,自己心中便会有“柳暗花明又一村”的顿悟;当自己辛辛苦苦搭建起来的框架和之前无数个日日夜夜的努力,却因为管理层的原因导致项目中断时,不禁会感到彷徨与无奈。
  本书展示了丰富的自动化测试对象,除了经典的政府信息系统、企业ERP系统、通用的数据库系统之外,还包括从主机到Android移动应用,从汽车电子系统、医疗设备到设备仿真、硬件接口等的自动化测试。而且,本书自动化测试所处的环境也是千差万别,所涉及的项目之广也是同类书籍所不及的:
  有涉及传统的V模型,也有涉及敏捷的开发模型;
  有基于关键系统(如北大西洋东部领空的空中交通控制系统)的自动化测试,也有一般商业系统(如保险公司)的自动化测试;
  有基于模型的自动化测试,让我们领略数学严谨的同时,见证低成本高收益的自动化测试;
  有针对自由的猴子测试、探索式测试来实现其自动化方式,让手动测试和自动化测试相辅相成;
  有针对云端实施自动化测试、在线的持续回归测试,将基于产品的自动化测试变更为基于服务的自动化测试。
  在翻译本书的同时,译者深深地感受到了自动化的魅力和力量。测试自动化在节省了大量人力的同时,也在推动整个软件行业的前进。正如本书所述,正确地采用自动化能够极大地提升软件的质量和测试的效率。然而在错误的地方应用自动化只会带来更大的开销。本书呈现了一些失败的案例,目的是告诉读者,单单技术方面的因素并不能决定自动化测试的结果,管理方面的因素也要考虑到其中。如自动化框架很好、人员积极性很高,并且已取得了不少积极的效果,但是却因为其他一些无法抗拒的因素最终走向了失败。在很多故事中,我们可以看到作者反复强调:“一些经理本身不懂测试自动化,他处在经理这个位置更多是像被强插在这个位置的。”这在现实中并不少见,公司应该对经理进行培训,使其可以促进自动化测试的良好发展,而不是作为阻碍因素。本书可以为这些经理提供各种真知灼见,指导他们如何促进自动化的发展,也可以指导技术人员如何斗智斗勇,从经理那里获得应有的资源,同时尽量从自动化测试启动时就让经理们也参与其中,并通过不断地向他们展示自动化进度和成果来获取其支持。
  正如一句广告词“简约而不简单”,这句话用来描述本书恰到好处。每个章节都用一种平易近人的语气来讲述,故事好像一个接着一个地发生。但是作者想要表达的事情并不简单,作者不断地去找寻各种方式,向读者呈现一个个故事背后的必然性和偶然性,并且强调什么样的实践是好的,什么是坏的。作者的一些观点在本书中多次出现,如“自动化测试并不便宜”、“不要忽略管理因素”、“自动化测试是对手动测试的补充而非替代”。作者反复强调这些,就是要警示读者,在自动化领域有很多经验教训,我们应该对此有着清晰的认识。这些观点一遍一遍被反复强调,警示着我们不要重蹈覆辙。在阅读本书时,除了了解和掌握自动化测试的各种应用方法、技术和工具之外,还会对自动化实施及其引导、管理等方面的各项影响因素有所明察,从而杜绝虚幻、脱离实际的想法。看完本书,我们能更好地领会自动化测试的自然规律,吸取很多前人留下的宝贵经验,增长见识,使我们自己少走弯路,采用更有效的自动化测试方式和方法,以完成我们的测试使命。
  最后,感谢机械工业出版社华章公司引进了这么优秀的英文原著,并给予了我们大力支持,使得本书的中译本能够和读者见面。我们还要感谢天津策艺公司柴阿峰、迈瑞血球研发中心肖利琼、宁波大学刘慰等三位友人以及同济大学郭智超、俞诗嘉等两位同学。他们从百忙中抽出宝贵时间,帮忙校对,进一步提高了翻译质量。
  希望本书能成为一种有效的助推力量,让更多的测试人员参与到自动化测试的实践中来,促进国内自动化测试百花齐放、百家争鸣。使自动化测试不再是奢侈品而成为软件测试的必需品,惠及千千万万的软件项目,最终促进国内软件行业的发展。
  于美丽的同济大学嘉定校区
  用于软件测试自动化的工具已经发展了近30年,但还是有很多自动化测试的尝试会失败,或者至少并非那么成功,这是为什么呢?
  在笔者的前一本书《Software Test Automation》中,提出了一些有效的自动化测试原则,为了验证这些原则今天是否依然有效,以及是否还有其他的原则可以应用于自动化测试中,所以我们开始收集现实世界中自动化测试实施案例。结果很高兴地发现:在过去10年中,许多人在软件测试自动化领域取得了很大的成功,其中不少人参考了我们的书。当然,我们并不是唯一描述或发现了这些好的自动化实践的人,然而找寻一些成功的而且能在一段时间内都适用的实践在今天看来还是难以实现。我们希望本书中的故事会帮助更多的人在自动化测试的尝试中取得成功。
  本书收集了当前的很多关于自动化测试的真实故事。自从我们上一本关于自动化测试的书在1999年出版以来,自动化测试技术有了很大的飞跃。我们想要找出什么样的方法是成功的、哪种应用程序正在通过自动化测试来完成测试的,以及近几年来测试自动化是如何改变的。不同的人会用不同的方式去解决自动化相关的问题――我们想要知道我们从他们的经历中能学到什么,以及在什么样的情形下如何用新的方式应用自动化测试。
  本书中的案例研究包括一些成功的方法,同时也包括一些不成功的方法。本书旨在教会读者如何避免错误,以及如何从实际成功的例子里汲取经验教训。本书旨在帮助读者从其他一些专家真实的经历中学到大部分自动化测试的经验。
  本书中的案例研究主要是关于测试执行过程中的自动化,其他一些自动化的类型在一些章节中也会提及。我们着重研究系统级的自动化(包括一些用户验收测试),尽管其他的一些章节也会包括单元测试或集成测试。我们将在不同的应用程序、环境和平台下描述测试自动化,每章用到的工具包括商业的、开源的以及公司内部的程序,这些工具可以用在传统开发或者敏捷开发项目中。我们很惊奇地发现有近90种商业或者开源软件正在使用,这些软件的名称列在附录A中(附录包含了每章作者用到的各种工具,不仅仅是测试用的工具)。
  本书描述的实例都是真实的,虽然在一些案例中没有透露作者或者公司名称。我们鼓励这些案例研究的作者去描述到底发生了什么,而不是仅仅给我们一些通常的建议,所以本书的描述是相当真实的。
  在收集这些实例的过程中,我们也遇到了很多困难,比如,我们很难涉及各种行业中的应用。那些在公司里坚持不懈地致力于发展自动化测试的人给我们留下了深刻的印象。然而,我们也遇到了他们中的许多人遇到的一些困难,这些困难有时候会导致测试失败。相信本书中讲述的经历会帮助你在自动化测试道路上更加成功。
  案例研究的附加内容(我们得到的经验)
  本书并不是一系列文章的简单组合,我们和每一章的作者一起工作,以便将一些最有价值的信息传达给读者。我们对于每一章的审校都是非常全面的,我们通常进行很多轮审校,提出问题及改动建议(特别感谢每章作者的耐心和他们传达的额外信息)。我们最开始收集的文档超过了500篇,所以这里每一章的内容都是精挑细选的。
  我们会提供一些真知灼见、经验教训和小窍门,帮助读者从本书中尽可能汲取大部分知识。每一章都有我们的一些评论,这些评论包含了一些我们认为非常有用的要点。仔细注意以下这些有用的标记:
  真知灼见(good point):值得注意的观点(即使它们并不是那么新)。
  真知灼见
  管理层的支持至关重要,但是期望必须是符合实际的。
  经验教训(lesson):从失败中学到的教训――我们最好不要做的事情。
  经验教训
  和软件开发一样,自动化开发也需要进行规范化。
  小窍门(tip):一些看起来新的、有趣的诀窍,可用来帮助我们解决特定的问题。
  小窍门
  使用一个“转换表”记录一些可能发生改变的事情,这样自动化可以使用一些不变的标准术语。
  在你读每一章的时候,我们会用一些感叹词来提醒读者重要的地方,比如,“注意这里”,“看这里”或者“这会非常有用”。
  自动化测试――集“圣杯”、“青春之泉”、“点金石”为一身。在过去的几十年中,测试者为了能从手动测试――构建测试实例与测试数据,设置系统先决条件,运行测试,比较实际数据与预期数据并报告可能的缺陷――的苦海中脱离而不断追寻自动化测试。自动化测试能够简化所有这些操作,甚至还能简化更多的测试操作。
  然而遗憾的是,成功有效并且经济实用的自动化测试往往很难实现。自动化测试项目大多在启动后便步履蹒跚、时常跌倒,最终迷失路途,被遗弃在不断增长的废弃项目堆上。
  自动化的失败可以归咎于很多原因,其中无法实现预期效果或许是最常见的原因,还有就是不充足的资源分配(例如时间、人员和资金)。其他因素包括:难以满足需求的开发工具,阻碍工作质量的欲速则不达的急躁情绪,缺乏对自动化测试的理解――自动化测试也是一种软件开发,需要用与软件开发一致的专业方法来进行。
  Dorothy和Mark在1999年出版的著作《Software Test Automation》,为同类书籍设定了标准。该书的第一部分详细列举了在大多数成功的自动化实例中发掘出的方法――脚本技术、自动比较、测试件架构和有用的衡量标准。第二部分讲述了一些机构在实现自动化测试过程中所吸取的经验教训。现在,又经过了10年在行业内的摸爬滚打,Dorothy和Mark提供了另外一些机构和个人的实践经历,用以指导自动化作业。本书同时描述了经典的和最新潮的自动化测试方法。每一章通过叙述某一独特自动化实例的一个故事(既有成功的也有失败的),给我们提供指导。
  某些主题在本书中再次出现:合理、可以达成的目标;管理层支持;衡量标准,包括ROI(Return On Investment);需要的技术;规划;设定期望;建立关系;工具;培训;以及政策――所有的一切都是成功的测试自动化所必需的。然后,这些主题同样也可运用在项目及个人层面。本书一个非常大的好处在于拓展了测试自动化领域,从更全面的角度来考虑这些主题。
  我第一次见到Dorothy和Mark是在1998年的“慕尼黑Euro STAR软件测试会议”上。他们对自动化测试的认知以及帮助其他人完成自动化测试的热情,给我留下了非常深刻的印象。我真心祝贺他们取得如此出众的成就,并向大家推荐本书。
  ――Lee Copeland
  “你手中的这本书是关于自动化测试的不可多得的至宝,它讲述了在自动化测试的实践中什么是好实践,什么不是。本书使你避免陷入自动化测试的泥潭,从而更可能取得成功。”
  ――Linda Hayes
  “在本书中,Dorothy Graham 和Mark Fewster通过一系列引人注目的案例研究展示了自动化测试中的各种学习经历,每个案例研究都讲述了自动化使用的工具和方法。本书内容如此全面,是同类书中第一本带读者深入到自动化测试世界中的书籍。本书包含了许多案例研究,案例研究讲述了在自动化过程中都发生了什么,案例包含的项目来自各行各业,测试环境包括了各种技术环境。通过找出各个案例之间的类似点以及对某些主题的重复,能够帮助读者更加理解应该避免哪些错误。通过本书,读者可以了解到需要做些什么才能取得测试自动化的成功。
  ――Andrew L. Pollner, ALP International Corporation的总裁和CEO
  “在畅销书 《Software Test Automation: Effective Use of Test Execution Tools》出版之后很多年,Mark Fewster和Dorothy Graham又写出了一本畅销书。敏捷方法已经赋予自动化测试在当今测试实践中的主导地位。本书从各种不同视角讲述了自动化测试的案例研究,这些案例写得都很好,这使得本书非常有实用价值。我强烈地将本书推荐给那些从事或者想要从事自动化测试的人。”
  ――Erik van Veenendaal,Improve Quality Services的创始人,TMMi Foundation 的副主席
  “阅读本书就像参加一个测试学术会议一样,书中包含了多个案例研究和对自动化测试深刻的见解。但是本书要比参加学术会议便宜得多,而且还不需要到处奔波去参加会议。令我印象尤其深刻的是,本书在第0章中浓缩了我能想到的使得自动化成功的各个方面。这是在学术会议中得不到的。
  ――Hans Buwalda
  “本书包含了大量令人兴奋的、写得很好的、涉及范围极广的案例研究,案例讲述了在现实世界中自动化测试的经验、技巧、教训和其他值得记住的要点。对于任何需要向经理和同事证明在自动化实践中什么是好的、什么是不好的人员来说,本书都是非常有用的。”
  ――Isabel Evans,FBCS CITP,质量经理,Dolphin Computer Access
  “本书首先讲述了使得自动化测试有效的基本手段。之后讲述了各种情境下的自动化测试中值得注意的事项。本书会指导你:因合理的缘由而应用自动化测试,如何采取适合于公司和项目的自动化方法,以及如何避免各种错误。对于任何参与测试的人――无论是管理人员、测试人员,还是自动化测试人员,本书都非常有价值。”
  ――Martin Gijsen,自由的测试自动化架构师
  “Fewster和Graham为我们提供了连接自动化测试理论与现实之间的一座重要桥梁。自动化测试的框架设计和实施是一种非精确的科学,亟须一套可复用的标准,而这套标准只能从不断涌现的先例中总结出来,而本书则能帮助建立这样的先例。就如同在司法系统中使用先前判决案例作为支持当下做出法律判决的依据一样。在自动化框架设计与实施上,从本书所能习得的各式案例,适用于帮助人们做出当下的决定,支持这样的活动或教育相关人员。1
  ――Dion Johnson,Automated Testing Institute(ATI)软件测试顾问及首席咨询师
  “即使我一贯秉持‘自动化测试无用’的立场,本书也的确让我驻足思考。它让我开阔了思维,同时也让我做出‘噢,原来这种情况我没考虑到’的反省。对于那些想要参与自动化测试的公司,我推荐将本书作为入门参考书。”
  ――Audrey Leng
  “本书是一个惊人的成就。我相信它是自动化测试方面写得最好的书之一。Dot和Mark通过对28个案例研究的叙述给予我们一个完全崭新的概念,包括引人注目的小窍门、真知灼见以及经验教训。这些案例研究来自于生活经验中,既有成功的,也有失败的,包括了自动化的多个方面、不同的环境以及多种混合的解决方案。书本来就是智慧之源,而作者采用了非常好的方式――利用叙述故事的形式给我们留下很深的印象,从而增强学习效果。无论读者处于何种层次,本书是所有想要进入或者已经进入自动化测试领域的人所必备的。它的确是同类型书中独一无二的。”
  ――Mieke Gevers
  第0章案例研究反思
  成功的自动化测试需要智慧和毅力。你的经验可能和本书所描述的有一些相似之处,但每个人的故事都是独一无二的。通向成功的道路并不简单,但是正如书中案例研究所描述的那样,自动化测试已经在各种应用领域、各种环境和项目的各个生命周期中取得了成功。
  通过思考,我们根据书中出现的案例和奇闻轶事总结出了一些方法。本章高度总结了现有经验中需要吸取的最重要的教训。你可能会在阅读完后面各个案例研究章节后再次阅读本章。
  哪些主要因素促成了自动化测试的成功?导致自动化测试失败最常见的因素有哪些?
  对这些问题没有简单而通用的答案,但存在一些公共的要素。我们认为最重要的两个要素是管理问题和测试件架构:
  对自动化的管理层支持,包括设置切实可行的目标,以及提供足够合适的资源来取得已计划的ROI。
  一个好的自动化测试件架构,拥有正确的抽象层,在降低自动化测试件维护和自动化测试各个方面成本的同时提供灵活性和适应性。
  除了共同的要素外,还有其他一些方面,甚至是一些令人吃惊的要素,将它们也考虑进去可以帮助你在自己的自动化测试中取得更大的成功。这是我们写这本书的希望和目的!
  在以下的大多数小节中,我们会着重强调一些章节号,并讨论一些特定的主题。这些主题可能也在其他章节涉及,我们会在这里列出各章针对某一特定主题进行的专门讨论。
  我们首先在0.1节讨论管理层问题,但经理们也需要注意0.2节描述的技术问题。
  0.1管理层问题
  从许多案例研究中可以清晰地了解到,管理层的支持力度关系到自动化测试的成功与失败。举例而言,第4、6、11、17和20章都叙述了管理层支持欠缺导致自动化测试失败的情形。
  0.1.1自动化测试目标
  制订一个合适的目标对自动化测试的成功实施至关重要!这似乎是显而易见的,但令人惊讶的是,在没有任何清晰目标或仅仅是只有一些模糊的陈词滥调作为目标(如“更快的测试”、“做得更好”、“节省时间”)的情况下,一个自动化测试就开始了,这类事情经常发生。目标越具体,自动化测试越有可能得到好的评价并取得成功。
  将软件测试所要达到的目标与自动化所要达到的目标区分开来是很重要的。自动化是运行测试的一种方法,无论这些测试是好还是坏。一个好的测试目标是发现许多bug。这没有必要成为一个好的自动化测试目标:在近期对项目进行一些改动之后,需要进行回归测试以确保变更的部分不会影响系统的行为,而这类测试很少发现新的错误。这并不意味着自动化测试不成功,只是因为它有了错误的目标。如果一个高层经理感到自动化测试没有达到预期目标(即使这个目标是一种误导),那么资金也可能被撤掉。
  0.2.9节讨论了一些能够有效地找到bug的自动化测试示例。一些好的自动化测试目标在第1、2、3、6、7、10、11、12、14、20、21、25、27和29章中讨论。
  0.1.2管理层支持
  在一个无法对自动化测试进行精心培育并有效引导的组织中,自动化测试很难成功发展起来。对于个人来说最好先亲自试验一下,如果想要大规模地进行自动化测试,并能收获自动化测试对于产品最终发布所带来的巨大好处,则需要管理层的大力支持。一种“自下而上”的方法并不是通向良好自动化测试的一条长期可持续的道路。
  管理层支持对自动化测试的成功至关重要;我们可以在本书的很多案例研究中看到这一点。管理层支持包括多种形式:对工具的资金支持,对于一个试点项目和测试件架构的开发过程的资金支持,以及为此需要付出的时间,管理层还要有兴趣去理解自动化行为以监督成本与回报(参见A.3节的ROI)。
  对于经理来说很重要的一点是,对于自动化过程他能够提供什么,以及对要达到期望的结果需要付出时间与努力有着很明确的了解。
系列图书推荐 ¥59.00¥41.30
同类热销商品¥35.00¥24.50
订单处理配送
北京奥维博世图书发行有限公司 china-pub,All Rights Reserved}

我要回帖

更多关于 微信端网页自动化测试 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信